想把自己的脚本加入到PE系统中可以通过修改Startnet.cmd、Unattend.xml和Winpeshl.ini文件的一个即可。我们可以创建自定义的Winpeshl.ini文件,以便可以运行自己的应用程序。现在跟着来实战一下吧。
在往PE添加任何自定义脚本之前,必须先用ImageX工具加载基本WinPE镜像 (WinPE.wim)。
一、使用Startnet.cmd添加自定义脚本,使用Startnet.cmd可以在WinPE中添加自定义命令行脚本。默认情况下,WinPE包括Startnet.cmd脚本,此脚本位于WinPE映像的 %SYSTEMROOT%System32 中。当前,Startnet.cmd启动Wpeinit.exe。Wpeinit.exe 用于安装即插即用 (PnP) 设备、处理 Unattend.xml 设置以及加载网络资源。编辑Startnet.cmd 以包括自定义命令。
注意:对于PnP和网络支持,请确保在自定义Startnet.cmd脚本中包含了对wpeinit的调用。
二、运行imagex /info d:boot.wim,查看WinPE映像的信息。我们要注意这一行:
Image Count: 2
说明此WinPE映像文件中其实包含了两个映像。每个映像的详细信息在后面有详细的显示。这里要特别说明的是我们需要编辑的是第二个名称为WDS的映像,因为WDS使用此映像引导计算机。
使用imagex命令加参数mountrw先将 *.wim 加载到pemount目录中:
imagex /mountrw c:winpe2pe2.wim 2 c:pemount
使用peimg命令将第三方驱动添加到WinPE 2.0中,如需添加多个设备驱动请重复该步骤。
peimg /inf=c:winpe2netdrvxxx.inf c:pemountwindows
使用imagex命令加参数unmount及commit将修改写入到 *.wim
imagex /unmount c:pemount /commit
三、使用Winpeshl.ini添加自己的脚本,可以使用名为Winpeshl.ini的文件启动自定义应用程序。Winpeshl.exe将在启动期间处理Winpeshl.ini中的语句。使用文本编辑器(如记事本)编写具有以下结构的Winpeshl.ini文本文件。例如:
[LaunchApp]
AppPath = %SYSTEMDRIVE%myshell.exe
[LaunchApps]
%SYSTEMDRIVE%mydirapplication1.exe, -option1 -option2
application2.exe, -option1 -option2
注:将AppPath项写入应用程序的路径。此路径可以是绝对路径,也可以使用环境变量,例如%SYSTEMROOT%System32Myshell.exe。AppPath 项不支持命令行选项。将此文件保存至WinPE映像的%SYSTEMROOT%System32。