WinPE:装载和自定义
WinPE 是以 .wim 文件形式提供的。 可以按照装载和自定义任何其他 Windows 映像的过程来装载和自定义 WinPE 映像。 除了 Windows 和 winPE 映像所共有的自定义项(如驱动程序和包),WinPE 还具有一些其特有的自定义项。 本主题将介绍自定义 WinPE 映像的常用方法。
常用自定义项:
- 设备驱动程序(.inf 文件)。 可以自定义设备驱动程序,例如,支持网卡或存储设备的驱动程序。
- 包(.cab 文件,也称为 WinPE 可选组件)为 PowerShell 和 HTML 应用程序语言 (HTA) 等功能添加语言、修补程序或支持。
- 语言。 若要以多种语言运行 WinPE,请为这些语言添加所需的包(可选组件)。
- 添加文件和文件夹。 可以直接将它们添加到 WinPE 映像。
- DISM:使用较新的版本。 当新版 Windows 需要最新版 DISM 中的功能时,你可以直接将 DISM 添加到 WinPE。
- 启动脚本。 示例包括设置网络连接,或添加自定义应用程序(例如诊断软件)。
- 应用。 请注意,WinPE 仅支持旧式应用。
- 临时存储(暂存空间)。 如果应用程序需要临时文件存储,你可以在 RAM 中保留额外的内存空间。
- 背景图像
- 电源方案
- WinPE 设置
- Windows 更新
获取包含 Windows PE 工具的 Windows 评估和部署工具包
- 下载并安装 Windows 评估和部署工具包 (Windows ADK),以及关联的 WinPE 加载项。 旧版 ADK 在 ADK 安装程序中包含了 Windows 预安装环境,且不需要单独下载和安装 WinPE。
创建一组其中一类的 Windows PE 文件
在能够自定义 WinPE 之前,需有一个可用的 WinPE 映像。 如果没有要处理的 WinPE 映像,请参阅 WinPE:创建 USB 可启动驱动器,并按步骤创建 WinPE 工作文件。
装载 Windows PE 启动映像
使用 DISM 将 WinPE 映像装载到技术人员电脑上的某个临时位置:
Dism /Mount-Image /ImageFile:"C:\WinPE_amd64\media\sources\boot.wim" /index:1 /MountDir:"C:\WinPE_amd64\mount"
添加自定义项
添加设备驱动程序(.inf 文件)
使用
DISM /add-driver
可将设备驱动程序添加到 WinPE 映像。Dism /Add-Driver /Image:"C:\WinPE_amd64\mount" /Driver:"C:\SampleDriver\driver.inf"
可以使用一个命令将多个驱动程序添加到映像,但如果单独添加每个驱动程序包的话,通常可以更轻松地排查问题。
若要详细了解驱动程序,请参阅添加设备驱动程序(.inf 文件)。 若要查看所有可用的 DISM 驱动程序服务选项,请参阅 DISM 驱动程序服务命令行选项。
添加包/语言/可选组件/.cab 文件
可以使用 DISM 添加 WinPE 中的某些包,以启用其他功能和语言。 使用
DISM /add-package
可将可选组件添加到映像。 添加某个 WinPE 可选组件时,请确保添加该可选组件及其关联的语言包。Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-HTA.cab" Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-HTA_en-us.cab"
若要详细了解可用的可选组件和语言,请参阅 WinPE:添加包(可选组件参考)。
添加文件和文件夹
将文件和文件夹复制到 C:\WinPE_amd64\mount 文件夹中。 这些文件将显示在 WinPE 中的 X:\ 文件夹下。
不要添加太多的文件,否则会减慢 WinPE 的速度,并可能会填满默认 RAMDisk 环境中的可用内存。
添加启动脚本
修改 Startnet.cmd 以包含自定义的命令。 此文件位于装载的映像上的
C:\WinPE_amd64\mount\Windows\System32\Startnet.cmd
中。还可以从此文件调用其他批处理文件或命令行脚本。
若要获得即插即用或网络支持,请确保在自定义的 Startnet.cmd 脚本中包含对 wpeinit 的调用。 有关详细信息,请参阅 Wpeinit 和 Startnet.cmd:使用 WinPE 启动脚本。
添加应用
在装载的 WinPE 映像中创建一个应用目录。
md "C:\WinPE_amd64\mount\windows\<MyApp>"
将所需的应用文件复制到本地 WinPE 目录。
Xcopy C:\<MyApp> "C:\WinPE_amd64\mount\windows\<MyApp>"
稍后将通过启动 WinPE 并从 X: 目录运行应用程序来测试应用。
X:\Windows\System32> X:\Windows\<MyApp>
如果应用需要临时存储,或者 WinPE 在运行应用时无响应,则你可能需要增加分配给 WinPE 的临时存储量(暂存空间)。
若要自动启动在 WinPE 启动时运行的 shell 或应用程序,请将路径位置添加到 Winpeshl.ini 文件。 有关详细信息,请参阅 Winpeshl.ini 参考:启动 WinPE 时启动应用。
添加临时存储(暂存空间)
WinPE 在 X: 驱动器中留出了内存用于解包 WinPE 文件,并留出了额外的临时文件存储(称为暂存空间)供应用程序使用。 如果电脑的 RAM 超过 1GB,那么此临时存储量默认为 512MB,否则默认值为 32MB。 有效值为 32、64、128、256 或 512。
Dism /Set-ScratchSpace:256 /Image:"C:\WinPE_amd64\mount"
替换背景图像
如果你有多个版本的 WinPE,可以设置背景图像,以便能够立即判断哪个 WinPE 版本正在运行。
更改 WinPE 背景图像文件 (\windows\system32\winpe.jpg
) 的安全权限。 这样就可以修改或删除该文件。
在 Windows 资源管理器中导航到
C:\WinPE_amd64\mount\windows\system32
。右键单击
C:\WinPE_amd64\mount\windows\system32\winpe.jpg
文件,然后选择“属性”>“安全性”选项卡 >“高级”。在“所有者”旁边,选择“更改”。 将所有者更改为“管理员”。
应用更改,然后退出“属性”窗口以保存更改。
右键单击
C:\WinPE_amd64\mount\windows\system32\winpe.jpg
文件,然后选择“属性”>“安全性”选项卡 >“高级”。修改“管理员”的权限以允许完全访问。
应用更改,然后退出“属性”窗口以保存更改。
将
winpe.jpg
文件替换为自己的图像文件。
将电源方案设置为高性能
注意
使用高性能电源方案可能会使运行的设备的温度高于往常。
在记事本中编辑文件
C:\WinPE_amd64\mount\windows\system32\startnet.cmd
,添加一条命令,以将电源方案设置为“高性能”。wpeinit powercfg /s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
添加应答文件设置
可以使用应答文件来管理某些 WinPE 设置,例如防火墙、网络和显示设置。 创建一个应答文件,将其命名为 unattend.xml,然后将其添加到 WinPE 媒体的根目录以处理这些设置。 有关详细信息,请参阅 Wpeinit 和 Startnet.cmd:使用 WinPE 启动脚本。
向 WinPE 添加更新(如果需要)
可对 WinPE 映像应用更新,但只在特定的情况下才需要这样做。
如果已收到指示,需要对 WinPE 映像应用更新,必须先从 Microsoft 更新目录下载适用于你的 WinPE 版本的最新更新。 Windows 匹配版本的更新中包含了 WinPE 更新。
下载最新的更新。
对装载的 WinPE 映像应用更新。
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"E:\windows10.0-kbxxxxx.msu"
其中,Windows10.0-kbxxxxx.msu 是更新文件的名称
锁定更新:
md C:\temp Dism /Cleanup-Image /Image:C:\WinPE_amd64\mount /Startcomponentcleanup /Resetbase /ScratchDir:C:\temp
卸载 Windows PE 映像并创建媒体
卸载 WinPE 映像并提交更改。
Dism /Unmount-Image /MountDir:"C:\WinPE_amd64\mount" /commit
创建可启动的媒体,例如 U 盘。
MakeWinPEMedia /UFD C:\WinPE_amd64 F:
启动该媒体。 WinPE 将自动启动。 WinPE 窗口出现后,wpeinit 命令会自动运行。 这可能需要几分钟。 验证自定义项。
疑难解答
- WinPE 无法启动? 请参阅本主题末尾的故障排除提示:WinPE:创建 USB 可启动驱动器
- 有关连接到网络的提示,请参阅 WinPE 网络驱动程序:初始化和添加驱动程序。
- 如果 WinPE 映像不可维护,则你可能需要清理该映像,然后才能再次装载映像。 有关信息,请参阅修复 Windows 映像。
删除工作目录:
在某些情况下,你可能无法恢复装载的映像。 DISM 可以防止意外删除工作目录,因此,你可能需要尝试以下步骤才能着手删除装载的目录。 尝试以下每个步骤:
尝试重新装载映像:
dism /Remount-Image /MountDir:C:\mount
尝试卸载映像并丢弃更改:
dism /Unmount-Image /MountDir:C:\mount /discard
尝试清理与已装载映像关联的资源:
dism /Cleanup-Mountpoints