无忧启动论坛

标题: PE合盘,用一套加载器启动多个PE成功 [打印本页]

作者: tuxw    时间: 2010-9-7 08:42
标题: PE合盘,用一套加载器启动多个PE成功
猎手这个帖子:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=175422&extra=page%3D1 中提出一种合并 winnt.sif 的思路,貌似看过的人都不太看好。

原帖中要增加一个配置字段,这会给SetupData串带来麻烦,因为这个串在 Setupldr.bin 中有22处字多,而要改的不一定只有一处,这样排列组合后测试太慢。
受这个思路启发,我偿了修改 OsLoadOptions 这个名字,则合并后的配置文件如下:
[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\WXPE\System32\"
OsLoad1 = "/minint /fastdetect /rdexportascd /rdpath=BOOT\PE\CMDPE_XP.ISO"
OsLoad2 = "/minint /fastdetect /rdexportascd /rdpath=BOOT\PE\WinPE_XP.ISO"
OsLoad3 = "/minint /fastdetect /rdexportascd /rdpath=BOOT\PE\WinPE_2K3.ISO"
OsLoad4 = "/fastdetect /minint /rdimageoffset=8192 /rdimagelength=3161088 /rdpath=BOOT\PE\WinPE_2K3_NET.WIM"

查了 OsLoadOptions  只有4处,在Grub4Dos中将4处都写上修改,boot之前编辑菜单,一行行的删,最后找到哪几处是必须修改的。

=============================
title [1] Load Winpe by OsLoad1(in BOOT/PE/SIF)
map ()/BOOT/PE/PELDR.BIN (rd)
#安装路径(原I386)
write --offset=0x2A4FB (rd)+1 WXPE
#应答文件(原winnt.sif)
write --offset=0x2A432 (rd)+1 BOOT\\PE\\SIF\0
#SIF中加载映像的字段名(原OsLoadOptions)
write --offset=0x278A0 (rd)+1 OsLoad1\0
write --offset=0x278BC (rd)+1 OsLoad1\0
write --offset=0x2A232 (rd)+1 OsLoad1\0
write --offset=0x2A43E (rd)+1 OsLoad1\0
#字体路径(非必须,原BOOTFONT.BIN)
#这个修改串跟默认BOOTFONT.BIN是等长的,所以后面不加\0了
write --offset=0x29016 (rd)+1 BOOT\\PE\\FONT
write --offset=0x29027 (rd)+1 BOOT\\PE\\FONT
write --offset=0x3EF45 (rd)+1 BOOT\\PE\\FONT
write --offset=0x3EF54 (rd)+1 BOOT\\PE\\FONT
chainloader (rd)+1

最终确定 OsLoadOptions 要修改两处,字体改一处
=============================

因为合成PE时会固定目录,这样我们可以将 winnt.sif 路径,PE内部的安装目录,字体路径都在 setupldr.bin 中修改好,Grub4菜单中就只需要修改 OsLoadOptions 的两行就可以了

title [4] Load Winpe by OsLoad4(in BOOT/PE/SIF)
map ()/BOOT/PE/PELDR_2.BIN (rd)
write --offset=0x278A0 (rd)+1 OsLoad4\0
write --offset=0x2A43E (rd)+1 OsLoad4\0
chainloader (rd)+1

PELDR_2.BIN中已修改:
安装目录:WXPE
winnt.sif:BOOT\PE\SIF
字体文件:BOOT\PE\FONT
ntdetect.com:BOOT\PE\NTD
=============================

合盘时只需要将 IS_/IM_内核放入 BOOT\PE,修改SIF文件,在后面加上一行,自己取个名字,Grub4Dos复制一个菜单,将改写OsLoadOptions 那两行改为自己取的名字就可以启动PE了。



FONT,字体
NTD,改名的ntdetect.com
PELDR.BIN,改名的Setup.bin
PELDR2_BIN,修改过几个固定位置,前面已说明
SIF,合并的配置文件,内容前面已贴出

试着用一个已经内置了ntdetect.com的setupldr.bin来做,但只能启动ISO内核,不能启动WIM的内核。如果能将这里的 PELDR.BIN 与 NTD 合并就更清爽了,不过我不会做这个。
===================
示例ISO下载(没有图中的PE内核)
XDOS3.part01.rar (97.66 KB, 下载次数: 47)
XDOS3.part02.rar (97.66 KB, 下载次数: 38)
XDOS3.part03.rar (97.66 KB, 下载次数: 42)
XDOS3.part04.rar (97.66 KB, 下载次数: 42)
XDOS3.part05.rar (83.82 KB, 下载次数: 38)

[ 本帖最后由 tuxw 于 2010-9-7 09:13 编辑 ]

EPS_2.jpg (19.07 KB, 下载次数: 56)

EPS_2.jpg

作者: cchessbd    时间: 2010-9-7 08:50
虽然不是很懂 也要顶一下 期盼高手解惑
作者: renchmin    时间: 2010-9-7 09:11
论坛中有很多关于多个PE合盘的帖子的。
作者: 20101111    时间: 2010-9-7 14:55
楼主很哟思路,支持了,谢谢分享,
作者: 极度凶残    时间: 2010-9-7 15:07
哇!楼主够厉害....支持了




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