前言:

    在“制作自己的Winpe镜像(1):Windows ADK安装及初始PE生成”中已经创建了初始的winpe,我们需要向此WinPE中添加一些工具和驱动程序。

1、挂载Boot.wim镜像文件

事先使用“部署和映像工具环境”的“copype”工具拷贝WindowsPE文件到“d:\winpe_amd64”目录中,Boot.wim镜像位于“d:\winpe_amd64\Media\sources”目录中。 
借助于“DISM.exe”工具挂载“Boot.wim”镜像文件,命令如下:

Dism /mount-wim /wimfile:d:\winpe_amd64\Media\sources\boot.wim /index:1 /mountdir:D:\winpe_amd64\mount

注:挂载boot.wim文件到“D:\winpe_amd64\mount”目录中。

2、加载驱动

借助于DISM工具可以注入“.inf”格式的驱动。 
2.1查看驱动

dism /p_w_picpath:D:\winpe_amd64\mount /get-drivers

2.2 添加驱动包

Dism /p_w_picpath:D:\winpe_amd64\mount /add-driver /driver:D:\driver\*.inf /forceunsigned

注:"/driver:"后面接的是单个inf文件,则加载单个驱动,如不指定文件,dism会检测目录下所有的inf文件进行安装,不过要在后面加上“/recurse”参数。

Dism /p_w_picpath:D:\winpe_amd64\mount /add-driver /driver:D:\driver\ /forceunsigned  /recurse

注:“/forceunsigned”参数表示强制不验证所安装驱动的签名。

2.3 删除驱动

有时候,添加上的驱动我们不再需要了,需要卸载掉驱动,使用“/remove-driver”参数,不过删除驱动需要用到驱动的“Published 
name”,这个可以通过查询驱动命令“/get-drivers”查看。

dism /p_w_picpath:D:\winpe_amd64\mount /remove-driver /driver:D:\driver\oem0.inf

3、安装CAB软件包

使用DISM工具可以添加CAB格式的软件包。

3.1查看安装的CAB包

dism /p_w_picpath:D:\winpe_amd64\mount /get-packages

3.2 装载CAB软件包至Windows PE

dism /p_w_picpath:D:\winpe_amd64\mount /add-package /packagepath:D:\cab\WinPE-Scripting_zh-cn.cab

注:Windows ADK安装了"Windows 预安装环境(Windows PE)"后,在“ D:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs”中会有一些我们可以用到的CAB包,可以自己需要将相应的CAB包加载到Windows PE中去。

若要加入多个CAB的包,命令使用和加载驱动一样,在指定CAB包路径的时候,指定相应的目录即可。

dism /p_w_picpath:D:\winpe_amd64\mount /add-package /packagepath:D:\cab\amd64\WinPE_OCs\zh-cn\

4、加入其他工具

手动加入p_w_picpathx工具到Windows PE中去

拷贝“D:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\arm64\DISM”目录中的"p_w_picpathx.exe"到WIM文件挂载的"\Windows\System32\"目录下。

5、提交WIM文件更改(卸载WIM文件并保存更改)

使用“dism"命令的"/unmount-wim"参数卸载Wim镜像,加上"/commit"参数保存更改,“/discard”放弃更改。

dism /unmount-wim /mountdir:d:\winpe_amd64\mount /commit