slorelee/wimbuilder2

关于WimBuilder制作64位PE,启动进入桌面后报错

fuhx opened this issue · 5 comments

fuhx commented

我的操作步骤如下:
1、用WimBuilder 分别制作了x64、x86两个PE,配置完全相同,使用的 Install.wim 为 Windows 10 Enterprise LTSC 2021;
2、用 UltraISO 打开原版 windows 安装 ISO(64位和32位都试过),在根目录下建立文件夹 Winpe;
3、把生成的 ISO\sources\boot.wim 改名为 Winpe_x86.wim 和 Winpe_x64.wim,并复制到 ISO 根目录下的 Winpe 文件夹内;
4、编辑 BCD 文件,添加 Winpe x86 和 Winpe_x64 两个启动菜单项,分别对应 \Winpe\Winpe_x86.wim 和 \Winpe\Winpe_x64.wim;
5、保存ISO,并用VirtualBox加载ISO启动;
选择 Winpe x86 一切正常,选择 Winpe x64 启动,进入到桌面后,弹出2次如下图错误窗口。
打开X:\Windows目录,regedit.exe明明有的,双击它也能正确运行。
QQ图片20220121234753

fuhx commented

经过多次测试,发现把 ISO\sources\boot.wim 文件直接替换到原版本 ISO 的 sources 目录,覆盖原版的 boot.wim,则一切正常,不会报上图的错误。
难道固定了文件名?

这个一般存在的EXE文件提示找不到,是环境变量PATH出了问题。

原版ISO使用的是微软自己的引导,启动的是固定的\sources\boot.wim。
我没试过修改BCD改成其他路径,相同的boot.wim只是换了位置,启动的时候初始化不同,
这个也是第一次知道。

固定的\sources\boot.wim可以正常,那应该是启动,引导的问题。这里我一直采用原版ISO启动模板。
BOOTPE.iso也是把 boot.wim 放到 \sources\ 目录下面。

fuhx commented

我是想在原版ISO的基础上,增加PE引导,这样,即可以原版启动安装系统,也可以从PE启动维护。所以,PE的WIM必需得改名。
x86和x64完全一样的配置,一样的改名方法,x86完全没问题,x64报错,很奇怪,折腾好几天了,没解决。
x64进入系统后,我在命令行用set命令查看环境变量,path 有指向 X:\Windows 和 X:\Windows\System32 的路径,并没有什么问题。

这个先得定位下,是启动脚本中谁调用的regedit.exe。这句去掉,或者改成 reg import命令,看看是否可以规避。
PATH正常的话, 点击确认后,自己桌面环境下,自己输入 regedit.exe 应该是没有问题的。

fuhx commented

成品 boot.wim 释放到硬盘后,搜索了所有*.bat, *.ini, *.cmd, *.lua,愣是没找到哪里有调用 regedit.exe 的地方,真是奇怪了!!