原版Win11 PE的制作

Win11 PE的制作方法

Windows 11 PE的ISO镜像制作方法可以参考微软官方的制作方法

坑爹的原版的copype.cmd可能有错误,编辑一下copype.cmd,新增加星号的那两行:

set WINPE_ARCH=%1
**set WinPERoot=C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment**
set SOURCE=%WinPERoot%\%WINPE_ARCH%
**set OSCDImgRoot=C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\Oscdimg**
set FWFILESROOT=%OSCDImgRoot%\..\..\%WINPE_ARCH%\Oscdimg

在MakeWinPEMedia.cmd里面把:
oscdimg -bootdata:%BOOTDATA% -u1 -udfver102 "%WORKINGDIR%\%TEMPL%" "%DEST%" >NUL改成
"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\Oscdimg\oscdimg.exe" -bootdata:%BOOTDATA% -u1 -udfver102 "%WORKINGDIR%\%TEMPL%" "%DEST%" >NUL

后续安装到USB或者移动硬盘的时候需要从ISO文件里面提取出来下面几个东西:

  1. bootx64.efi:在ISO解压文件的\boot目录下,这个文件是UEFI第一个要找的文件,没有这个没办法引导PE,特别是如果使用其他引导器,则需要其他引导器指向bootx64.efi。
  2. BCD:在ISO解压文件的\EFI\Microsoft\Boot目录下,这个文件是bootx64.efi要寻找的,这个文件配置不好的话会出现cannot find image这个错误。
  3. boot.sdi:在ISO解压文件的\boot目录下,这个文件是BCD文件要寻找的。
  4. boot.wim:在ISO解压文件的\sources目录下,这个文件是BCD文件要寻找的。

下面,需要修改BCD文件,这里用到的工具是BOOTICEx64,其中需要修改的项已经在下图中标红,主要就是boot.sdi和boot.wim的位置信息要找对:
BCD编辑

注意:BCD文件必须放在某个分区的/EFI/microsoft/boot/目录下,同时,前面提到的bootx64.efi也需要再这个分区的某个目录下(微软竟然把BCD文件的路径在bootx64.efi中写死了!!!)。

如果想让这个镜像能够加载ISO文件,需要在boot.wim文件里面添加用DISM挂载相应的powershell和Mount-DiskImage支持。步骤如下:

  1. 进入目录cd "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment"

  2. 创建工作环境copyme amd64 C:\WinPE_amd64并挂载wim文件开始修改:Dism /Mount-Image /ImageFile:"C:\WinPE_amd64\media\sources\boot.wim" /Index:1 /MountDir:"C:\WinPE_amd64\mount"

  3. 增加组件:

Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-NetFX.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-SecureStartup.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-PlatformID.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Scripting.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-PowerShell.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-DismCmdlets.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-SecureBootCmdlets.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-StorageWMI.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WinReCfg.cab"
  1. 保存更改:Dism /Unmount-Image /MountDir:C:\WinPE_amd64\mount /Commit

  2. 创建ISO文件:MakeWinPEMedia /ISO C:\WinPE_amd64 C:\WinPE_amd64\WinPE_amd64.iso

接下来,把boot.wim镜像替换成更新版本的就可以了。进入命令行,切换到X:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe,然后就可以用Mount-DiskImage了。

posted @ 2022-05-25 16:24  alexanderzjs  阅读(2380)  评论(0编辑  收藏  举报