WinPE:装载和自定义

WinPE 是以 .wim 文件形式提供的。 可以按照装载和自定义任何其他 Windows 映像的过程来装载和自定义 WinPE 映像。 除了 Windows 和 winPE 映像所共有的自定义项(如驱动程序和包),WinPE 还具有一些其特有的自定义项。 本主题将介绍自定义 WinPE 映像的常用方法。

常用自定义项:

获取包含 Windows PE 工具的 Windows 评估和部署工具包

创建一组其中一类的 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 启动脚本

添加应用

  1. 在装载的 WinPE 映像中创建一个应用目录。

    md "C:\WinPE_amd64\mount\windows\<MyApp>"
    
  2. 将所需的应用文件复制到本地 WinPE 目录。

    Xcopy C:\<MyApp> "C:\WinPE_amd64\mount\windows\<MyApp>"
    
  3. 稍后将通过启动 WinPE 并从 X: 目录运行应用程序来测试应用。

    X:\Windows\System32> X:\Windows\<MyApp>
    

    如果应用需要临时存储,或者 WinPE 在运行应用时无响应,则你可能需要增加分配给 WinPE 的临时存储量(暂存空间)。

  4. 若要自动启动在 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) 的安全权限。 这样就可以修改或删除该文件。

  1. 在 Windows 资源管理器中导航到 C:\WinPE_amd64\mount\windows\system32

  2. 右键单击 C:\WinPE_amd64\mount\windows\system32\winpe.jpg 文件,然后选择“属性”>“安全性”选项卡 >“高级”。

  3. 在“所有者”旁边,选择“更改”。 将所有者更改为“管理员”。

  4. 应用更改,然后退出“属性”窗口以保存更改。

  5. 右键单击 C:\WinPE_amd64\mount\windows\system32\winpe.jpg 文件,然后选择“属性”>“安全性”选项卡 >“高级”。

  6. 修改“管理员”的权限以允许完全访问。

  7. 应用更改,然后退出“属性”窗口以保存更改。

  8. winpe.jpg 文件替换为自己的图像文件。

将电源方案设置为高性能

注意

使用高性能电源方案可能会使运行的设备的温度高于往常。

  1. 在记事本中编辑文件 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 更新。

  1. 下载最新的更新。

  2. 对装载的 WinPE 映像应用更新。

    Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"E:\windows10.0-kbxxxxx.msu"
    

    其中,Windows10.0-kbxxxxx.msu 是更新文件的名称

  3. 锁定更新:

    md C:\temp
    Dism /Cleanup-Image /Image:C:\WinPE_amd64\mount /Startcomponentcleanup /Resetbase /ScratchDir:C:\temp
    

卸载 Windows PE 映像并创建媒体

  1. 卸载 WinPE 映像并提交更改。

    Dism /Unmount-Image /MountDir:"C:\WinPE_amd64\mount" /commit
    
  2. 创建可启动的媒体,例如 U 盘。

    MakeWinPEMedia /UFD C:\WinPE_amd64 F:
    
  3. 启动该媒体。 WinPE 将自动启动。 WinPE 窗口出现后,wpeinit 命令会自动运行。 这可能需要几分钟。 验证自定义项。

疑难解答

删除工作目录:

在某些情况下,你可能无法恢复装载的映像。 DISM 可以防止意外删除工作目录,因此,你可能需要尝试以下步骤才能着手删除装载的目录。 尝试以下每个步骤:

  1. 尝试重新装载映像:

    dism /Remount-Image /MountDir:C:\mount
    
  2. 尝试卸载映像并丢弃更改:

    dism /Unmount-Image /MountDir:C:\mount /discard
    
  3. 尝试清理与已装载映像关联的资源:

    dism /Cleanup-Mountpoints