Windows系统的桌面部署Desktop Deployment(3)
简介:
本文使用图文和具体的操作作为主线,来介绍定制Windows PE 2.0的主要步骤,并涉及到定制启动过程和利用HTA编程来实现模拟XP界面的思路,希望起到抛砖引玉的作用。
引子:
要说到Windows的桌面部署,一定要提到Windows PE 2.0,大家一定对Windows PE 1.0还有印象吧,以前的BartPE就是基于PE1.0的成果,而中文版的深山红叶等的Windows系统维护启动盘,也是深受大家喜爱的制作精品。当初Windows PE 1.0是专门面向OEM用于制作Windows XP预安装环境的,不是公开的,然而目前的PE 2.0完全是公开免费使用的,这是微软的一个进步。其实,目前普通的Vista的安装也是基于PE 2.0的环境和理念的。大家可以到微软的官方网站的Windows Automatic Installation Kits(AIK)下载,在我的XP系统上安装完后占945MB空间。
并不是所有的机器都可以从PE 2.0盘来启动的,Windows PE 2.0要求被启动的机器至少要512MB的内存,至于这一点,目前来说绝大多数的机器都可以满足这样的要求。而在我的测试中,这个要求并不是绝对的,我的虚拟机设定在256MB,也可以启动,并执行简单的操作。
Windows AIK的使用环境要求是:XP/Vista或者是Server 2003,以及CD/DVD刻录机。当然了如果不制作启动CD盘,完全可以不用刻录机。
安装完成后,在程序菜单里可以找到Microsoft Windows AIK一项,里面除了文档,有两个命令快捷方式: Windows PE Tools Command Prompt和Windows System Image Manager。我们制作Windows PE盘主要是使用Windows PE Tools Command Prompt。因为定制PE系统盘,大多数时间里都是在Command Prompt里面使用命令行命令来进行处理,所以对于熟悉DOS命令和Windows命令的技术人员可能会容易上手和理解。
为了测试方便,如果你有Virtual Machine软件最好了,无论是VMWare还是Microsoft Virtual PC/ Virtual Server都可以,我使用的是VMWare 6.0。利用这些虚拟机软件生成一个虚拟机,然后设定从一个ISO文件启动就可以测试了,而这个ISO文件就是我们后面要介绍的PE 2.0的启动盘镜像文件。
闲话少说,现在来切入正题。
其实,定制的步骤还算简单,关键是刚开始使用时,有好多概念不太清楚,对于不熟悉的人有一些摸不到头绪,特别是第一次看英文的随机文档的时候,让人不知如何下手,而我这里尽量少说概念,用实际动手的方式,让大家通过跟随这些步骤和输入的命令以及产生的结果,让新手有一个感性的认识,并且提供一致的思路,来帮助大家理顺过程,这样对于整体有一个比较清晰的思路。我们按照下面的顺序来一步一步地说:
生成Windows PE 2.0的工作环境
其实,如果你愿意,也可以不生成工作环境,直接在PETools文件夹里面工作,但是不推荐,毕竟保留一个原始的环境备份是必要的。
定制Windows PE 2.0影像 (Image)
思路是这样的,要想编辑生成自己的PE盘,先把标准的影像Image应用(Apply)到一个目录,其实就是把其中的所有文件释放到指定的目录,然后对这个目录里面的内容反复修改,之后把不需要的东西删除,再制作成新的影像文件(image).
在开始之前,我们先简单说一下PE 2.0的影像文件.WIM文件,如果大家看一下Vista的启动盘,在sources文件夹里面就有一个install.wim文件,其实这个就是安装的Vista的影像文件,还有一个叫做Boot.wim这个是启动系统影像。以前,在其他系统备份和系统影像的制作中,都是把系统的影像制作成一个文件,所不同的是,以前都是基于磁盘的影像,而PE 2.0的是基于文件的影像,为什么可以做到基于文件呢?主要是因为Vista的启动方式有了一个变化。而对于XP呢,应用Bootsect命令可以设定系统的启动是NT52还是NT60分区,这样就可以照顾到XP的启动了。基于文件的影像的另一个好处是,因为.WIM文件支持多个影像,这样,相同的文件就不存储多次,而保留一个就可以了。
对于.WIM文件有了初步的了解后,我们通过下面几个简单的步骤就可以初步定制一个可以使用的PE 2.0影像了。大家可以依据每一步的命令在你自己的机器上运行,就可以得到自己的结果,截图中红色的部分是命令,白色的是命令的console输出。对于每个命令的详细解释,可以察看Windows AIK的随机手册。
1. Apply:简单地说就是运行如下命令:
Imagex /apply WinPE.wim 1 C:/myWinPE/Applied
然后可以使用peimg /list C:/myWinPE/Applied命令察看都有什么程序包可以选择安装。
2. Install:安装标准包里面的程序包和语言包等。
peimg /install=WinPE-HTA-Package C:/myWinPE/Applied
下面是安装HTA程序包的过程和安装成功后的截图
这里只是演示了安装了HTA包,其实还有好多程序包和语言包可以安装,这在后面详细列表说明。而特殊的驱动程序的安装,我们也将在后面详细说明。
3. Prepare:最后的准备工作,删除所有没有安装的程序包并设置一些文件目录的用户权限等。
peimg /prep C:/myWinPE/Applied
该命令回提示是否确认继续,如果确认无误,输入yes。
在我的机器上,Prep之前是740MB, 之后是305MB.下面是生成过程中的截图:
注意: 在/prep之后,虽然还可以添加驱动程序,但是不能再添加或者删除程序包和语言包了,所以在此之前最好留一个备份。如果用xcopy备份,别忘了/H /E参数。而在AIK的技术文档中说可以安装语言包,而我在实际操作中证实不可以,而且该命令的提示中也说了不可以的。
4. Copy:复制自己的程序到Apply的目录中,比如:
copy myapp.exe C:/myWinPE/Applied/Program Files/myApp/
这里要注意的是,因为PE的启动程序是把我们要定制的Boot.WIM文件整个装载到内存中,所以,如果是太大的系统,最好还是不要放到我们现在制作的影像文件中,在AIK的文档中称之为online,而是放在其他地方,被称之为offline,这样可以给运行的程序多留出可用的内存来。
5. Capture:重新生成Windows PE影像文件
imagex /boot /compress max /capture C:/myWinPE/Applied C:/Applied.wim “My WinPE Image"
上面的命令得到一个叫做Applied.wim的编辑过的可启动的影像文件。
6. Update:更新用于启动的影像文件boot.wim.
这一点最简单了,把刚才生成的影像文件复制到ISO的相应目录中,因为无论何种启动方式,都是使用ISO目录的内容,运行下面的命令:
copy Applied.wim ./ISO/Sources/boot.wim /y
为什么这样呢?因为我们制作最终的启动盘等的时候,是使用ISO/Sources目录中的Boot.wim文件。
同哦上面的6个步骤,我们就得到了我们自己的.WIM影像文件。在实际的开发定制过程中,上面的6个步骤中的4、5和6是要反复重复执行的,而步骤2中的驱动程序的安装也可能会重复多次。在大家动手之前,还是让我们先继续往下看。
把影像复制到可启动介质上: CD/DVD, UFD, 硬盘,或者Windows DS, PXE Boot等:
这里的步骤就很简单了,下面分3个方面来叙述。首先确保点击Windows PE Tools Command Prompt, 进入Command Prompt,然后cd进入上面你的工作环境目录里面. 使用PE 2.0你可以选择多种启动方式,我们这里介绍的是CD/DVD, UFD或者是硬盘三种。而适合于虚拟机测试的当然要说CD/DVD方式最简单了。
1> CD/DVD
执行下面的命令来生成ISO文件,之后用支持ISO的刻录软件刻成CD.
oscdimg –n –bc:/myWinPE/etfsboot.com ./ISO ./Applied.ISO
注: 对于ia64的硬件架构,使用efisys.bin
上面的命令生成Applied.ISO文件,其中-b后面指定的是EI Torito boot sector文件,./ISO是包含ISO的目录,最后的./Applied.ISO是生成的目标ISO文件名。
你还可以使用下面的几个有用参数:
-h: 包含源目录中的隐藏文件(Hidden Files)
-l lablename:指定CD的label
-tmm/dd/yyy,hh:mm:ss: 指定所有文件和目录的时间戳。
参见下面的截图:
2> UFD
a. 插入UFD设备
b. 执行下面的命令:这里假定UFD设备在disk 1上。
Diskpart
Select disk 1
Clean
Create partition primary size=<size of device>
Select partition 1
Active
Format fs=fat32
Assign
Exit
c. 把./ISO里面的所有文件复制到UFD设备上,比如下面的命令:
Xcopy ./ISO/*.* /s /e /f f:/
3. Hard Drive
a. 首先format这个硬盘:
Diskpart
Select disk 1
Clean
Create partition primary size=<size of partition>
Select partition 1
Active
Format
Assign
Exit
b. 把./ISO里面的所有文件复制到UFD设备上,比如下面的命令:
Xcopy ./ISO/*.* /s /e /f f:/
好了,现在你已经有了自己的可以启动Windows Pe 2.0的介质了,用一用吧,看看Windows PE 2.0是什么样子。后面的我要介绍PE 2.0的一些进一步详细的内容,对于想制作自己的系统维护盘或者用于获取和应用企业系统影像image的用户会有一些帮助。