无忧启动论坛

标题: 120625更新多卷WIM 7PE测试结果 [打印本页]

作者: trianv    时间: 2012-6-13 14:11
标题: 120625更新多卷WIM 7PE测试结果
用的PE是 骨头网络版PE[win7内核35M ,地址如下:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=181614&extra=page%3D1

根据18日成功的PE,经过这几天测试不同配置的笔记本、台式机,结果如下:
无论台式机还是笔记本都有不能启动的机子,症状是选择相应菜单后黑屏,然后就重启了。
选择相应菜单能正常进入PE的,都是成功进入了相应WIM卷。
看来多卷WIM兼容性并不是特别好,估计是破解的不完美造成的


---------------------------20120618更新------------------------
感谢 2012hxwgz 的指点,替换map 的文件为BOOTMGR,代码如下:
  1. title Boot image 1 in BOOT.WIM "WinPE"
  2. map --mem /BOOTMGR (rd)
  3. ....以下代码省略
复制代码
改用VMware 成功进入PE桌面…………



---------------------------20120616更新英文网址相关文件下载------------------------
压缩包里有:BOOTMGR CheckWIM boot.sdi,在英文网址下载的作者破解好的,原地址:http://forum.sanbarrow.com/viewtopic.php?f=85&t=15

wim.part1.rar (299.8 KB, 下载次数: 75) wim.part2.rar (299.8 KB, 下载次数: 74) wim.part3.rar (64.62 KB, 下载次数: 62)

原帖由 2012hxwgz 于 2012-6-16 11:38 发表
0x654C4 写入值对应的是wim文件0x60 0x61 0x62的值
0x654CC 写入值对应的是wim文件0x68 0x69 0x6A 0x6B的值
0x654D4 写入值对应的是wim文件0x70 0x71 0x72的值
0x654DC 写入值对应的是wim文件0x78的值

多卷 wim 用 imagex /boot /info 设置其中一卷为启动卷,用winhex提取上述wim文件位置的值。
每卷的值都不一样。


现在不方便做测试,等回了再测一下,还有个问题请教,原文:
For those that are using my special boot.sdi at 300 Kb, http://www.msfn.org/board/topic/145209- ... f-bootsdi/ ,it is necessary to patch 5 instructions. Add this to your entries in menu.lst;
Code: Select all
write --offset=0x653D3 (rd)+1 \xB0\x04
write --offset=0x653F4 (rd)+1 \x00\x57
write --offset=0x65402 (rd)+1 \x00\x57
write --offset=0x65410 (rd)+1 \x00\x57
write --offset=0x6541E (rd)+1 \x00\x57


----这里的代码是加到MENU.LST的哪里呢





---------------------------20120615更新问题------------------------
GRUB版块求助帖地址:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=211339&extra=page%3D1

查到这帖的内容正巧可以用上:启动WIM(BOOT.WIM)内任意一个镜像(卷)的方法,实现单一WIM双启甚至N启
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=188042&extra=&page=1

用极少的空间占用实现进入PE后自动执行不同程序,用上帖提供的英文网址下载了相关文件,替换BOOTMGR,把boot_sdi拷贝 BOOT\,修改BCD为加载GRLDR.MBR,成功进入GRLDR的内置菜单,按回车键后出现下图的过程,应该是已找到WIM文件正在加载




接着是如下图,


请教哪里出错了呢,应该怎么解决,谢谢


-------------------------以下是之前的问题,没有参考价值了------------
想修改BOOT\BCD,给PE传递一个参数,进PE桌面后用另一程序得到这个参数并运行相应程序。
例如:修改BOOT\BCD 系统语言为:TW,进PE后检测这个值,并运行一键恢复。若该变量为ZH,则正常进PE不加载任何东西,方便维护和合盘,呵呵

补充:用其他方法(如GRUB)也行,只有一点点印象在哪看到过,仔细找又找不到了,目的就是用一个PE实现更多自动化的功能。

请高手帮忙,感谢,呵呵

[ 本帖最后由 trianv 于 2012-6-25 21:10 编辑 ]

未命名.JPG (35.92 KB, 下载次数: 71)

未命名.JPG

未命名.jpg (40.43 KB, 下载次数: 76)

未命名.jpg

作者: trianv    时间: 2012-6-13 19:53
试过将 BCD的系统目录改为\WINDOWW  ,进PE到出现 加载桌面 时提示系统SYSTEMROOT(X:\WINDOWW)与当前配置目录(X:\WINDOWS)不同,,点确定后正常进入PE,进入PE后,加载的是X:\WINDOWW\SYSTEM32下的PECMD.EXE。
1. 修改CONFIG\SYSTEM中的SYSTEMROOT为X:\WINDOWW ,失败
2.WINDOWSWW\SYSTEM32下的PECMD.INI第一行加入ENVI $SYSTEMROOT=X:\WINDOWW\SYSTEM32,失败
3改修改CONFIG\SYSTEM中的software中的setup\CmdLine值为X:\PECMD.INI,失败

期待高手指教
作者: trianv    时间: 2012-6-15 19:07
120615更新-请教BCD启动多卷WIM的问题,
作者: reak    时间: 2012-6-15 22:16
帮顶,我以前也想过启动boot中的一个镜像……这样做系统盘就可以省不少空间。
作者: yunzhang    时间: 2012-6-15 22:54
如果一次启动一个WIM,直接修改BCD就可以的。
作者: 阿弥陀佛    时间: 2012-6-15 23:50
顶起来!之前也想过这个问题,求大神解决!!
作者: del111    时间: 2012-6-16 10:01
快顶起来,这个问题困扰很久了,如果能成功就可以节约大量的空间.
作者: del111    时间: 2012-6-16 10:12
LZ能不能把破解好的BOOTMGR发上来共享一下
作者: hxwgz    时间: 2012-6-16 11:38
0x654C4 写入值对应的是wim文件0x60 0x61 0x62的值
0x654CC 写入值对应的是wim文件0x68 0x69 0x6A 0x6B的值
0x654D4 写入值对应的是wim文件0x70 0x71 0x72的值
0x654DC 写入值对应的是wim文件0x78的值

多卷 wim 用 imagex /boot /info 设置其中一卷为启动卷,用winhex提取上述wim文件位置的值。
每卷的值都不一样。

[ 本帖最后由 2012hxwgz 于 2012-6-16 12:28 编辑 ]
作者: trianv    时间: 2012-6-16 21:58
还有个问题请教,原文:
For those that are using my special boot.sdi at 300 Kb, http://www.msfn.org/board/topic/145209- ... f-bootsdi/ ,it is necessary to patch 5 instructions. Add this to your entries in menu.lst;
Code: Select all
write --offset=0x653D3 (rd)+1 \xB0\x04
write --offset=0x653F4 (rd)+1 \x00\x57
write --offset=0x65402 (rd)+1 \x00\x57
write --offset=0x65410 (rd)+1 \x00\x57
write --offset=0x6541E (rd)+1 \x00\x57

----这里的代码是加到MENU.LST的哪里呢

[ 本帖最后由 trianv 于 2012-6-16 23:05 编辑 ]
作者: del111    时间: 2012-6-17 13:01
能否请LZ试验成功之后整理下,给出整套的方法或者写出制作过程,资料共享:)
作者: hxwgz    时间: 2012-6-17 14:04
标题: 回复 #10 trianv 的帖子
map --mem /xxx (rd) 之后就可以
作者: trianv    时间: 2012-6-17 16:20
原帖由 2012hxwgz 于 2012-6-17 14:04 发表
map --mem /xxx (rd) 之后就可以


MENU.LST这样的两种都不能启动成功,还是一楼的错误

  1. title Boot image 1 in BOOT.WIM "WinPE"
  2. map --mem /BOOT/BOOT.WIM (rd)
  3. write --offset=0x654C4 (rd)+1 \x34\x43\x00\x00
  4. write --offset=0x654CC (rd)+1 \xDE\x22\x33\x02
  5. write --offset=0x654D4 (rd)+1 \x10\x09\x01\x00
  6. write --offset=0x654DC (rd)+1 \x01\x00\x00\x00
  7. write --offset=0x653D3 (rd)+1 \xB0\x04
  8. write --offset=0x653F4 (rd)+1 \x00\x57
  9. write --offset=0x65402 (rd)+1 \x00\x57
  10. write --offset=0x65410 (rd)+1 \x00\x57
  11. write --offset=0x6541E (rd)+1 \x00\x57
  12. chainloader (rd)+1
  13. root ()

  14. title Boot image 2 in BOOT.WIM "xp"
  15. map --mem /BOOT/BOOT.WIM (rd)
  16. write --offset=0x653D3 (rd)+1 \xB0\x04
  17. write --offset=0x653F4 (rd)+1 \x00\x57
  18. write --offset=0x65402 (rd)+1 \x00\x57
  19. write --offset=0x65410 (rd)+1 \x00\x57
  20. write --offset=0x6541E (rd)+1 \x00\x57
  21. write --offset=0x654C4 (rd)+1 \x90\x41\x00\x00
  22. write --offset=0x654CC (rd)+1 \x36\x8B\x38\x02
  23. write --offset=0x654D4 (rd)+1 \x10\x09\x01\x00
  24. write --offset=0x654DC (rd)+1 \x02\x00\x00\x00
  25. chainloader (rd)+1
  26. root ()
复制代码

作者: hxwgz    时间: 2012-6-17 18:03
标题: 回复 #13 trianv 的帖子
map --mem 不是wim, 而是 bootmgr

通常 bootmgr 读取 wim 文件头启动卷信息,加载启动卷。
原作者的思路是利用grub4dos将bootmgr映射到内存,在内存修改有关参数,让bootmgr直接加载所要的分卷。

[ 本帖最后由 2012hxwgz 于 2012-6-17 20:36 编辑 ]
作者: trianv    时间: 2012-6-17 22:22
编辑掉,原内容走弯路了

[ 本帖最后由 trianv 于 2012-6-18 09:07 编辑 ]
作者: trianv    时间: 2012-6-18 09:07
改用VMware 成功进入PE桌面…………

[ 本帖最后由 trianv 于 2012-6-18 09:30 编辑 ]
作者: hxwgz    时间: 2012-6-18 20:25
可以使用正常的boot.sdi 不需要在menu.lst加入
write --offset=0x653D3 (rd)+1 \xB0\x04
write --offset=0x653F4 (rd)+1 \x00\x57
write --offset=0x65402 (rd)+1 \x00\x57
write --offset=0x65410 (rd)+1 \x00\x57
write --offset=0x6541E (rd)+1 \x00\x57

有地方要注意的是wim文件一定要有Boot的标志, (0x67的值06)。

在 vmware 下直接进入grub4dos操作。
光盘和硬盘上都可以加载所要的卷。

[ 本帖最后由 2012hxwgz 于 2012-6-18 20:27 编辑 ]
作者: trianv    时间: 2012-6-19 09:46
原帖由 2012hxwgz 于 2012-6-18 20:25 发表
可以使用正常的boot.sdi 不需要在menu.lst加入
write --offset=0x653D3 (rd)+1 \xB0\x04
write --offset=0x653F4 (rd)+1 \x00\x57
write --offset=0x65402 (rd)+1 \x00\x57
write --offset=0x65410 (rd)+1  ...


正常的BOOT.SDI和修改过的是什么区别呢,会不会修改过的有更好的兼容性
作者: hxwgz    时间: 2012-6-19 10:35
标题: 回复 #18 trianv 的帖子
bootmgr添加的代码和boot.sdi有关,如你所说,修改的boot.sdi会好点,启动的可能性大点。




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