利用 WimBuilder2 最新稳定版 DIY Win10PE

2021-11-26 10:10:45 浏览数 (1)

WimBuilder2后来者居上,支持制作Win10 RS5(1809)、19H1(1904)、19H2(1909)、20H1最新版的x86、x64 PE,我个人觉得很赞。

Project地址:https://github.com/slorelee/wimbuilder2

它的发布有个特别有意思的地方

v2019.10.10

v2019.11.11

v2019.12.12

v2020.01.01

2月新冠疫情没有发版

v2020.03.03

v2020.04.04

v2020.05.05

v2020.06.06

v2020.07.07

首先,下载好win10镜像

我用的msdn.itellyou.cn找的19H2(v1909)win10 x86 2020年1月update版

然后下载WimBuilder2最新稳定版

https://github.com/slorelee/wimbuilder2/releases

http://hello.wimbuilder.world/hello/download

运行WimBuilder.cmd,找到装载镜像后的sources路径,里面有install.wim,会自动识别,你只要把sources路径指定正确就行,后面的的install.wim和winre.wim都是自动识别,只需要你选下install.wim的版本,我选的4,4 是专业版

选好后点next

到这个界面先给复选框打勾,然后点next

接下来这一步根据自己的需要操作,预设是“默认”,我选了“全功能”

下图圈出的"配置"模块及其子模块尽量不要做任何调整,右侧圈出的不要选,选了全功能后这里默认就是留空的,意味着会自动加载注册表、.bat中会修改文件和注册表、自动卸载wim文件,这正是我们需要的傻瓜式方案,所以不能勾选

自定义驱动这里不知道WimBuilder2是如何处理,暂时略过

最后看一下首、尾的选择:

【首】

私人定制这里可以选一下

上图勾选的2个东西就是这个功能

【尾】

zz-ISO这里勾选下加载进度条,不要勾选Press any key

阶段性总结一下:选“全功能”很省事,只需要自己选下首尾就可以了,其他保持默认不要动。

以上提到的各点选好后点击next如下图先勾选“构建后立即创建ISO”,然后点“1-构建(日志)”,也可以先不勾选“构建后立即创建ISO”分第1步、第2步操作,分别点下图中的“1-构建(日志)”和“2-创建镜像”按钮,点了“1-构建(日志)”等完全结束后再点“2-创建镜像”。

耐心等待完全结束

过程中出现了一个报错,暂时忽略

正在自动commit提交更改,耐心等待完全结束

好事多磨,临最后出现了个意外如下

点确定后啥也没干就生成了BOOTPE.iso并显示了路径,目测大小700多M。能不能用暂时还不知道,一会儿看我测试的结果吧(刚才的弹窗都告诉了“无法创建可启动的ISO镜像”,也就是说最后创建成功的ISO镜像是不可启动的)。

测试的话是用EasyBCD添加ISO文件到启动菜单(我选的从内存加载)

添加好后选左侧的“编辑引导菜单”设定开机菜单的选择方式,可以等一定秒数自动进入默认菜单项,也可以不自动进入就一直等待用户手动选择进哪个菜单项

开机时选择刚添加的启动菜单进入查看效果

耐心等待加载完成,最后的结果呵呵了,就是不能启动

此时不要灰心,ISO不可启动不假,但没说之前生成的boot.wim不能启动呀,boot.wim在_Factory_targetWIN10XPEbuild 目录下

依然用EasyBCD,这次是添加WIM文件boot.wim到启动菜单

虽然能启动了,但是报了个莫名其妙的错,看起来跟IE有关。实测WinPE集成IE的效果很差,下次生成的时候不勾选IE试试,不选IE的话找个替代品--QTWeb,在后面挂载boot.wim添加驱动的时候顺便把QTWeb放到“挂载目录UsersPublicDesktop ”即可

进入WinPE系统后,驱动并没有被集成,看不到硬盘、也没有网,看来还是需要手动执行加载驱动。

注意需要是Win10版的dism命令才行,win7的dism不行。

我把boot.wim挂载到了c:pbtemp目录:

dism /mount-image /imagefile:"这里填boot.wim的绝对路径" /index:1 /mountdir:"c:pbtemp"

注意创建空目录c:pbtemp后给该目录设置Administrator和Everyone的所有权限,然后在Administrator用户登录状态下执行如下命令加载好所有驱动(驱动是在kvm官网下载的)

1、dism /add-driver /image:"c:pbtemp" /driver:"C:UsersAdministratorDesktopx86balloon.inf" /forceunsigned

2、dism /add-driver /image:"c:pbtemp" /driver:"C:UsersAdministratorDesktopx86netkvm.inf" /forceunsigned

3、dism /add-driver /image:"c:pbtemp" /driver:"C:UsersAdministratorDesktopx86pvpanic.inf" /forceunsigned

4、dism /add-driver /image:"c:pbtemp" /driver:"C:UsersAdministratorDesktopx86qemufwcfg.inf" /forceunsigned

5、dism /add-driver /image:"c:pbtemp" /driver:"C:UsersAdministratorDesktopx86qemupciserial.inf" /forceunsigned

6、dism /add-driver /image:"c:pbtemp" /driver:"C:UsersAdministratorDesktopx86qxldod.inf" /forceunsigned

7、dism /add-driver /image:"c:pbtemp" /driver:"C:UsersAdministratorDesktopx86vioinput.inf" /forceunsigned

8、dism /add-driver /image:"c:pbtemp" /driver:"C:UsersAdministratorDesktopx86viorng.inf" /forceunsigned

9、dism /add-driver /image:"c:pbtemp" /driver:"C:UsersAdministratorDesktopx86vioscsi.inf" /forceunsigned

10、dism /add-driver /image:"c:pbtemp" /driver:"C:UsersAdministratorDesktopx86vioser.inf" /forceunsigned

11、dism /add-driver /image:"c:pbtemp" /driver:"C:UsersAdministratorDesktopx86viostor.inf" /forceunsigned

加载驱动后执行commit提交更改

dism /unmount-image /mountdir:"c:pbtemp" /commit

后记:

我后来把上面遇到的几个问题都解决了,遇到的其他问题也都解决了

问题1、报找不到MLANG.dll的问题(后来还发现在winpe运行diskgenius/partitionguru时报缺少oledlg.dll),这些都是因为我用了sources目录的boot.wim没用自动识别出来的winre.wim的缘故,后来我用了自动识别出来的winre.wim就不报缺少MLANG.dll和oledlg.dll了

问题2、自定义绿色软件放在哪里?放在vendor_PEMaterial_PortableApps里

我在vendor_PEMaterial_PortableApps里面放了很多绿色软件

这些绿色软件的快捷方式,我指定的路径是%systemroot%PEMaterialPortableApps绿色软件目录名.exe文件名,把快捷方式放到了ProjectsWIN10XPEXUsersPublicDesktop目录,这样运行WinPE后在桌面就能看到快捷方式了,效果图如下

上图有网是因为我集成好了虚拟化网卡驱动

问题3、云服务器上使用WinPE的话需要kvm虚拟化驱动如何加载?我是通过dism /mount-image命令挂载后再用dism /add-driver命令集成驱动的,这一点前面已经提到

问题4、生成可启动的ISO出错怎么解决?

删除_ISO_目录里的所有文件,然后把win10光盘根目录里的boot目录、efi目录、bootmgr文件、bootmgr.efi文件拷贝到_ISO_目录,如下图所示,当然sources目录也是要的,只不过需要sources目录为空,这样在生成ISO时就不会出错了。生成一次后,下次还想生成ISO文件的话需要手动复位一下,原因是_ISO_boot目录里的bootfix.bin被重命名为bootfix.bin.bak了,如果你不把bootfix.bin.bak重命名回bootfix.bin,会报错找不到文件。

问题5、由于我加的绿色软件太多导致最终生成的ISO文件达到900多M,2GB内存的机器,跑起这个WinPE后内存利用率达到了70%,差不多1.5G的内存被用了,也就是说如果我选择加载这个900多M的ISO到内存运行,意味着存储 运行总共需要大约1000MB 1500MB≈2.5G内存,此时1G内存、2G内存的机器通过内存运行的方式跑WinPEt会出现花屏或者黑屏或者其他各种不符合预期的情况。目前看,2G内存的机器,通过硬盘加载的方式是可以运行的,因为存储的1G空间省了,内存2G只用1.5G,所以硬盘加载的方式没有问题。

问题6、进入WinPE后taskbar上有个重启/关机的快捷图标,我真觉得特别别扭,后来我研究了代码,找到了出处,就是在生成好boot.wim后,手动执行dism /mount-image命令挂载出来,找到PEMaterialAutorunsStartup0-InitPinIcons.lua用记事本打开,把里面关于UI_shutdown的那句话删掉即可

0 人点赞