8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

将使用WinPE生成器制作出的ISO里的WIM去掉PESET.EXE初始化

尉官 caocaofff 2020-09-13 16:29:39 163

本帖续上贴:https://pecmd.net/thread-81.htm

上文中说到,我们已经把ISO里的WIM文件解压到对应目录了,那现在正是我们进一步发挥的时候了。

去掉PESET

第一步,先使用注册表编辑器加载system文件,比如挂载成HKEY_LOCAL_MACHINE\ss

定位到计算机\HKEY_LOCAL_MACHINE\ss\Setup

在右边发现了什么?看看CmdLine下面的键值,这里就是我们的修改目标。

我们可以看到,WinPE初始化时,PECMD接管后直接加载了%Windir%\system32\SU.ini这个文件,这里我们赶紧打开su.ini看看究竟是什么内容。

看到没,就这么一行命令,简单干脆的去执行了PESET程序。

我们现在的目的是为了能自由修改启动配置,参与WinPE初始化的过程,所以这里可以直接将CmdLine下面的键值改成:

PECMD.EXE MAIN %Windir%\system32\pecmd.ini

这样,它就会去加载pecmd.ini中的内容了。

修改完毕后,我们卸载掉注册表HKEY_LOCAL_MACHINE\ss。

现在可以直接打开pecmd.ini文件了。你会发现,在WinPE的system32文件夹里已经存在pecmd.ini文件了,我们现在就直接打开它对他进行编辑吧,文件里面原有的内容直接删掉,system32下面的su.ini、peset.exe、peset.ini也可以删掉了。

我们需要实现初始化并进入Shell的基本功能,所以直接通过下面的代码搞定:

此处内容隐藏,登录后可见!立即登录  登录后请刷新页面!刷新

代码很简洁,但基本的功能是足够了,赶紧使用capture_32.cmd批处理打个包试试效果。注意打包之前,先把D:\MyWinPE\Win10PE_x86\Windows\System32\config下面产生的临时文件删除。

等待压缩WIM文件完成,将WIM文件放到D:\MyWinPE\ISO\boot\w10pe32,起名boot.wim,然后再用工具生成ISO,生成后使用虚拟机启动看看最终效果。

模拟BIOS启动时,我们会遇到这样的错误,导致无法继续启动。这时就需要补充一些文件了。

通过报错,我们大概知道缺少了什么文件:

此处内容隐藏,登录后可见!立即登录  登录后请刷新页面!刷新

挂载微软原版操作系统ISO镜像,直接用7-Zip打开sources\boot.wim,打开\1\Windows\Boot\,复制上面我们需要的两个文件到解压WIM之后的目录里。

这样一番操作后,我们发现终于能正常启动WinPE了:

但是你会发现每次启动到桌面时会出现explorer.exe的报错,下面开始解决它。

修复explorer报错

每次启动桌面时,都会出现explorer报错,虽然点击确定后可以继续使用,但强迫症表示必须要解决。

根源是software注册表文件确实部分节点的键值,需要从对应版本的原始software文件里提取复制。

第一步,先使用注册表编辑器加载原版系统里的software文件:需要事先将原版操作系统ISO镜像里的sources\install.wim\6\Windows\System32\config\software解压出来,挂载成HKEY_LOCAL_MACHINE\sf1

第二步,再挂载D:\MyWinPE\Win10PE_x86\Windows\System32\config\software到HKEY_LOCAL_MACHINE\sf2

然后执行命令:

此处内容隐藏,登录后可见!立即登录  登录后请刷新页面!刷新

执行完成后卸载HKEY_LOCAL_MACHINE\sf1、HKEY_LOCAL_MACHINE\sf2

最后再打包wim后生成ISO,虚拟机启动发现没有报错了:

后面还需要进一步清理注册表内容才能有更好的体验。

 

 

最后于 2小时前 被caocaofff编辑 ,原因:
我的博客:www.cboot.org
最新回复 (0)
    • PECMD技术社区
      2
        登录 注册
返回