前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用 WimBuilder2 最新稳定版 DIY Win10PE

利用 WimBuilder2 最新稳定版 DIY Win10PE

原创
作者头像
Windows技术交流
修改2021-11-26 10:10:45
21.2K0
修改2021-11-26 10:10:45
举报
文章被收录于专栏:Windows技术交流

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_\target\WIN10XPE\build\ 目录下

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

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

进入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:\Users\Administrator\Desktop\x86\balloon.inf" /forceunsigned

2、dism /add-driver /image:"c:\pbtemp" /driver:"C:\Users\Administrator\Desktop\x86\netkvm.inf" /forceunsigned

3、dism /add-driver /image:"c:\pbtemp" /driver:"C:\Users\Administrator\Desktop\x86\pvpanic.inf" /forceunsigned

4、dism /add-driver /image:"c:\pbtemp" /driver:"C:\Users\Administrator\Desktop\x86\qemufwcfg.inf" /forceunsigned

5、dism /add-driver /image:"c:\pbtemp" /driver:"C:\Users\Administrator\Desktop\x86\qemupciserial.inf" /forceunsigned

6、dism /add-driver /image:"c:\pbtemp" /driver:"C:\Users\Administrator\Desktop\x86\qxldod.inf" /forceunsigned

7、dism /add-driver /image:"c:\pbtemp" /driver:"C:\Users\Administrator\Desktop\x86\vioinput.inf" /forceunsigned

8、dism /add-driver /image:"c:\pbtemp" /driver:"C:\Users\Administrator\Desktop\x86\viorng.inf" /forceunsigned

9、dism /add-driver /image:"c:\pbtemp" /driver:"C:\Users\Administrator\Desktop\x86\vioscsi.inf" /forceunsigned

10、dism /add-driver /image:"c:\pbtemp" /driver:"C:\Users\Administrator\Desktop\x86\vioser.inf" /forceunsigned

11、dism /add-driver /image:"c:\pbtemp" /driver:"C:\Users\Administrator\Desktop\x86\viostor.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%\PEMaterial\PortableApps\绿色软件目录名\.exe文件名,把快捷方式放到了\Projects\WIN10XPE\X\Users\Public\Desktop目录,这样运行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命令挂载出来,找到PEMaterial\Autoruns\Startup\00-InitPinIcons.lua用记事本打开,把里面关于UI_shutdown的那句话删掉即可

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 后记:
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档