知识问答

WinPE启动盘镜像 光盘

A、WinPE系统文件直接放到镜像内。这样的系统启动后,系统盘(一般为X:)即为光盘镜像。所以取出光盘后,系统运行会有问题(就像现在大多数的系统光盘,都带有一个PE,而且启动方式都像B类一样,但如果光盘拿出来了,系统是可以正常的,不过全部软件都用不上,A类的PE就与这个同理)。
B、WinPE系统文件放到一个SDI镜像内。这样系统启动后WinPE以RamDisk的方式在内存中,系统盘也是内存中的RamDisk,所以取出光盘后系统运行也不会出现问题(就像现在大多数的PE一样,把PE系统核心都放到内存去,就算光盘没有了,系统依然可以正常运行,这就是与A类的不同)。

镜像的制作所需资源:Windows产品CD(例Win2003server盘,如果是XP,那Win2003盘换成XP盘,都是要安装版的,别拿个GhostXP来哦!),WindowsOPKCD或者WindowsPECD(关于WindowsOPKCD在下面的相关连接的第二个,就可以下载了)。
WindowsOPKCD仅供OEM(OriginalEquipmentManufacturer,原始设备生产商,关于这个,我不多作解释)使用。WindowsPECD仅供从Microsoft购买许可证的非OEM客户使用。从功能上而言,WindowsPECD中的WindowsPE创建工具与OPK中的创建工具是相同的。

镜像制作步骤(以下操作,建议用虚拟光驱):

在硬盘上创建一个用来存储WindowsPE创建工具的目录(表示为build_location)。例如,请键入:
mdc:/build_x86(这是DOS命令,在运行里打上"CMD"就可以了,在C盘下创建名为build_86的文件夹,可以用鼠标在C盘下创建build_86的文件夹,下同)
将WindowsOPKCD或WindowsPECD放在CD-ROM驱动器(下面表示为cd_drive)中。
将cd_drive/Winpe和所有子目录复制到build_location。例如,请键入:
xcopye:/winpec:/build_x86/s(把E盘的winpe文件夹全部内容复制到C盘build_x86)
将WindowsOPKCD或WindowsPECD从CD-ROM驱动器中取出。
将Windows产品CD放在CD-ROM驱动器中。

进入到build_location。例如,请键入:

cdc:/build_x86(转到C盘build_x86文件夹)

运行带有以下两个必需选项的Mkimg命令:

mkimg.cmdsource_directorywinpe_image(这个不需要输入,只是帮助说明来的!)
例如,请键入:
mkimg.cmde:/c:/winpe(这里E:/是指光盘根目录,别搞错了!)
Mkimg命令有几个参数可以选择,分别是:
/NOVER

禁用通常用于防止创建不支持的WindowsPE映像的版本检查。
/WMI
从Wbemoc.inf和MOF知识库添加WMI提供程序和类。
/PNP
添加即插即用设备驱动程序检测功能。
/NOWF
禁用Windows防火墙。Mkimg创建WindowsPE的同时,默认启用了Windows防火墙。
可以根据不同的需要来选择参数。

8.另外一个常用的定制PE的脚本为BuildOptionalComponents.vbs。它的参数可以为:

选项
功能
/ADO
为MicrosoftSQLServer连接构建ADO(ActiveX数据库对象)。
/D:location
为WindowsPE可选组件文件指定备选目标位置(I386)。如果未指定,这些文件会保存到桌面上。
/E
完成时自动探测所得的文件夹。
/HTA
构建HTA(HTML应用程序)。
/Q
在不作提示的情况下运行脚本。只在失败时通知。
/S:location
指定除Windows产品CD以外的备选源位置。
/WSH
构建WSH(Windows脚本宿主)。
/X
提供可用于验证组件是否正确安装的示例脚本。

例如可以执行:

BuildOptionalComponents.vbs/D:winpe_img/S:cd_drive/HTA/WSH/X/E
这样WinPE的所有文件基本上构建完毕,下面的就是制作可启动的光盘镜像的步骤。两类光盘镜像的制作方法也是从下一步开始出现变化。现介绍较简单的一种(A)。
A类镜像制作:
只需要把winpe_img目录下的所有文件构建到一个可启动光盘镜像中即可。同样是在build_location目录下,执行:
oscdimg-h-n-betf***oot.comwinpe_imgC:/WinPE.iso

光盘镜像就做好了。

B类镜像的制作:
所需软件:WindowSEMbeddedStudio中的SDILoader.
1、新建一个目录workdir
2、打开SDILoader,点击AddDisk,定位到workdir,输入新的文件名字pe.sdi,点打开,在弹出的提示框中点确定,创建新的diskimage,填写大小信息,注意不要超过或者太过接近目标机器的内存大小。最好小于目标内存大小的一半。此时新的diskimage已经被载入。
3、运行diskpart为磁盘分区,比如执行的命令序列可以为:
Clean
Listdisk
Selectdisk=X注:x为listdisk时看到的硬盘号。
Createpartitionprimary
然后对该分区进行格式化,分配盘符操作,格式化文件格式为NTFS,最好
打开文件压缩支持。
4、在build_location执行如下命令:K:为diskimage分配的盘符。
robocopy.exe/MIRwinpe_imgK://R:3/W:4
采用robocopy的原因是,新创建的NTFS分区是支持压缩的,可以在空间不够的时候进行压缩和重新拷贝,保证拷贝的顺利完成。到此SDI制作完毕。
5、打开SDILoader,把pe.sdi卸载。
6、在workdir中新建文件夹i386,从winpe_img目录中i386文件夹下的
NTDETECT.COM
SETUPLDR.BIN
两个文件拷贝到新建的i386中。
7、在workdir中新建一个文本文件winnt.sif,内容如下:
[SetupData]
BootDevice="ramdisk(0)"
BootPath="/i386/System32/"
OsLoadOptions="/noguiboot/fastdetect/minint/rdimageoffset=36352/rdpath=PE.SDI"
8、制作可启动的光盘镜像
oscdimg-h-n-betf***oot.comwinpe_imgC:/WinPE.iso