slorelee / wimbuilder2

wimbuilder with new UI & new syntax (hta+bat+vbs+js)
470 stars 105 forks source link

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

Closed fuhx closed 2 years ago

fuhx commented 2 years ago

我的操作步骤如下: 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 2 years ago

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

slorelee commented 2 years ago

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

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

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

fuhx commented 2 years ago

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

slorelee commented 2 years ago

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

fuhx commented 2 years ago

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