无忧启动论坛

标题: win 7 移植 wimboot 补充 [打印本页]

作者: 2012raps    时间: 2014-7-15 17:32
标题: win 7 移植 wimboot 补充
关于将 wimboot 移植到 windows 7 上,在 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=327419 已有详细讨论
对于不成功的,可看此贴
注:如果 windows 7 是32位的,需要32位的 winpe 5.1 或 win 8.1 update,64位同理。

生成可 wimboot 的 wim 文件的唯一必要条件:原镜像或系统文件必须存在 \Windows\System32\WimBootCompress.ini,可以用win8.1update自带的,也可以用 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=327419 修改的。

获得可 wimboot 的 wim(二选一):(在 winpe 5.1 或 win 8.1 update 下)
1.可以用 dism /Mount-Image 挂载 win 7 的 wim 加入 WimBootCompress.ini 并用 dism /Unmount-Image /Commit 保存,用 dism /Export-Image /WIMBoot 导出镜像。
2.使用 dism /Capture-Image /WIMBoot 捕獲包含 WimBootCompress.ini 的 win7 系统文件

生成指针文件:(在 winpe 5.1 或 win 8.1 update 下)
使用 dism /Apply-Image /WIMBoot 将得到的 wim 映射到普通分区或虚拟磁盘分区,用 bcdboot 建立引导(此处无需使用 win 8.1 的 bootmgr)。
将以下文件变成实体文件

\Windows\Fonts\vgaoem.fon
\Windows\Fonts\vgasys.fon
\Windows\inf\disk.inf
\Windows\inf\errata.inf
\Windows\inf\hal.inf
\Windows\inf\usb.inf
\Windows\inf\usbport.inf
\Windows\inf\usbstor.inf
\Windows\inf\volsnap.inf
\Windows\inf\volume.inf
\Windows\System32\apisetschema.dll
\Windows\System32\BOOTVID.DLL
\Windows\System32\C_936.NLS
\Windows\System32\ci.dll
\Windows\System32\clfs.sys
\Windows\System32\hal.dll
\Windows\System32\kdcom.dll
\Windows\System32\l_intl.nls
\Windows\System32\mcupdate_AuthenticAMD.dll
\Windows\System32\mcupdate_GenuineIntel.dll
\Windows\System32\ntdll.dll
\Windows\System32\ntoskrnl.exe
\Windows\System32\PSHED.DLL
\Windows\System32\smss.exe
\Windows\System32\Storprop.dll
\Windows\System32\drivers\*

可以用正常途径获得的同名文件覆盖这些文件,也可以将这些文件依次复制到其它分区再剪切回来。
复制 %windir%\System32\drivers\wof.sys 到目标分区的 \Windows\System32\drivers 下
加载目标分区的 \Windows\System32\config\system:(假设映射的文件在 D 盘)
reg load HKLM\temp D:\Windows\System32\config\system
将以下内容保存成 reg 文件,并执行。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\temp\ControlSet001\Control\WMI\Autologger\EventLog-System\{46c78e5c-a213-46a8-8a6b-622f6916201d}]
"Enabled"=dword:00000001
"EnableLevel"=dword:00000000
"LoggerName"="EventLog-System"
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,80
"MatchAllKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableProperty"=dword:00000001

[HKEY_LOCAL_MACHINE\temp\ControlSet001\Services\EventLog\System\Microsoft-Windows-OverlayFilter]
"ProviderGuid"="{46c78e5c-a213-46a8-8a6b-622f6916201d}"
"EventMessageFile"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,\
  00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,\
  5c,00,64,00,72,00,69,00,76,00,65,00,72,00,73,00,5c,00,77,00,6f,00,66,00,2e,\
  00,73,00,79,00,73,00,00,00

[HKEY_LOCAL_MACHINE\temp\ControlSet001\Services\Wof]
"DisplayName"="Windows Overlay File System Filter Driver"
"ErrorControl"=dword:00000001
"Group"="FSFilter Compression"
"Start"=dword:00000000
"Type"=dword:00000002
"DependOnService"=hex(7):46,00,6c,00,74,00,4d,00,67,00,72,00,00,00,00,00

[HKEY_LOCAL_MACHINE\temp\ControlSet001\Services\Wof\Instances]
"DefaultInstance"="Wof Instance"

[HKEY_LOCAL_MACHINE\temp\ControlSet001\Services\Wof\Instances\Wof Instance]
"Altitude"="40700"
"Flags"=dword:00000000

[HKEY_LOCAL_MACHINE\temp\ControlSet001\Services\Wof\Parameters]

卸载 \Windows\System32\config\system:
reg unload HKLM\temp
重启进入win 7 系统,按 F8 选择 禁用驱动程序签名强制 就可以正常启动系统了。

关于每次都要按 F8 ,可以给 wof.sys 签名测试证书配合在命令提示符输入:
bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON
参数解决,不用其他软件签名测试证书而只使用以上参数无效。

作者: 2012raps    时间: 2014-7-15 17:39
可以用批处理将列表中的文件替换成实体文件,将除最后一行(\Windows\System32\drivers\*)的文件列表保存到 C:\t.txt 文件里
在批处理中写入以下代码,将指针文件所在分区拖到此批处理上
for /f "delims=" %%a in (C:\t.txt) do copy %~d1%%a %temp%&move /y %temp%\%%~nxa %~d1%%a
for /r %~d1\Windows\System32\drivers %%a in (*) do copy %%a %temp%&move /y %temp%\%%~nxa %%a
作者: q8155128    时间: 2014-7-15 17:40
楼主博大精深........
作者: wh5486    时间: 2014-7-22 20:22
关于每次都要按 F8 ,可以给 wof.sys 签名测试证书配合在命令提示符输入:
bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON
参数解决,不用其他软件签名测试证书而只使用以上参数无效。

求个能用的签名软件啊~~~~~~~~~~~~~~~~
作者: just_a_test    时间: 2014-7-22 23:46
谁能把wof.sys 的cat文件找出来,整到win7里面,就不需要签名了。
作者: edar    时间: 2014-11-7 10:38
樓主好,我是嘗試win7 x64使用wimboot啓動不成功的人,每次在啓動時除了數位簽章錯誤以外,都還會出現 ntoskrnl.exe 內核錯誤的問題,在論壇其他地方有人提過相同的狀況,不過檔案名稱是 ntkrnlpa.exe ,不知樓主是否有碰過這種情況,承蒙指教,感激不盡
作者: 2012andyle113    时间: 2015-1-3 22:07
先留个印,上次试了下,貌似不成功
作者: chenall    时间: 2015-4-16 20:06
测试了一下,win7 x86的好像很简单,
我把顶楼的文件列表加入到WimBootCompress.ini中,再安装wof驱动.

然后直接启动进入PE 随便PE都可以,我使用wimlib程序

直接把系统盘加wimboot参数制成wim文件,然后格式化再apply到系统盘同样加wimboot直接启动就可以了.

另外x64的驱动会麻烦一些,不过我第一次测试的就是x64的系统不知怎么弄的竟然没有签名的问题(没有开测试模式哦),目前一切正常,很是奇怪,我把这个系统备份出来了,再找些时间研究一下看看是什么原因引起的,若是能够找到的话就爽了.
作者: yueyezhan    时间: 2015-6-14 00:12
能不能让vista也支持wimboot呢
作者: 2012raps    时间: 2015-6-15 13:33
yueyezhan 发表于 2015-6-14 00:12
能不能让vista也支持wimboot呢

win 10 的 adkwof 应该可以让 vista 支持 wimboot,过一段时间我会更新方法。
作者: x9tian    时间: 2015-6-25 09:52
chenall 发表于 2015-4-16 20:06
测试了一下,win7 x86的好像很简单,
我把顶楼的文件列表加入到WimBootCompress.ini中,再安装wof驱动.


C大 你的WIMBOOT.EXE  在天意的8PE x32 x86里面都能够成功转换,PE里没有WOF驱动
但是 昨天下了咱们论坛另一个 C大的作品 IT天空的装机助理 ,里面带wof驱动 居然 报错说
请问C大这是为什么呢?

UC_Photo_001.jpg (51.52 KB, 下载次数: 111)

UC_Photo_001.jpg

作者: 2011rokku    时间: 2015-10-1 01:54
参照LZ的教程,我在 Z2760 处理器的平板上试了下将 Windows 8 (ProWMC) x86 改为 WIMBoot,结果不成功,
开机会显示正在诊断错误的信息,接着就只能选择重启或高级启动。请问 Win8 有办法改成支持 WIMBoot 吗?

优先考虑 WIMBoot 而非 Compact OS 是因为平板里有个 10G 大小的复原分区,想说用来存放 WIMBoot 镜像。
转成 Compact OS 倒是很容易,通过 DISM++ 就能实现了(已实测成功),不过目前还比较想实现 WIMBoot。




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3