标题:
总结Ram Disk方式加载PE/XPE镜像
[打印本页]
作者:
Mallon
时间:
2007-12-7 19:58
标题:
总结Ram Disk方式加载PE/XPE镜像
总结Ram Disk方式加载PE/XPE镜像
Windows Server 2003 SP1以上版本的setupldr.bin和ntldr都内建有Ram Disk支持(需要ramdisk.sys吗?),可以分别用来启动PE和XP Embedded的镜像,镜像格式可以是ISO、IMG、SID以及ISO、IMG的CAB压缩格式IS_和IM_(相当强大的!)。
1 PE镜像的加载
1.1 光盘启动
如果是光盘启动的话(Windows安装光盘或者PE光盘),光盘的引导记录会读取并执行\i386\setupldr.bin文件,setupldr.bin会寻找根目录下面有没有winnt.sif文件,如果没有的话就会正常加载内核并执行txtsetup.sif(好像在此期间整个光盘被虚拟到X:上)。如果根目录下面存在winnt.sif,而且winnt.sif的内容类似图中所示的那样,那么setupldr.bin就会构造Ram Disk并把镜像解压缩到Ram Disk中(Ram Disk的盘符也是X:),并继续执行下面的步骤(基于XP的就没有这个功能,比如微软官方的PE)。
1.2 硬盘启动
硬盘启动和光盘启动类似,但是因为直接在boot.ini中写入setupldr.bin文件是无法引导的(原因不明),所以必须使用avldr.bin(或其它,比如grub)“绕”一下,avldr.bin是使用Avlgomgr工具根据setupldr.bin生成的,在boot.ini中写入“c:\avldr.bin=......”就可以了,注意setupldr.bin必须在硬盘根目录中。avldr.bin加载并执行setupldr.bin后面的步骤就和光盘启动一样了。很多版本的PE装到硬盘上后把avldr.bin改名为avldr,把setupldr.bin改名为peldr,个人不赞成修改,因为虽然名字和ntldr相比“顺”了,但是失去了原汁原味,而且会让初学者摸不着头脑。
还有一点需要注意的是光盘引导记录和setupldr.bin文件默认的Windows系统目录都是“I386”,很多PE改成了其它目录(比如WXPE),如果要这样做,那么就必须对光盘引导记录和setupldr.bin动手术了,个人也不赞同这样做,毫无意义。
下载
(54.53 KB)
2007-12-7 19:58
图 1 通过setupldr.bin加载PE镜像
2 XP Embedded镜像的加载
只要使用2003 SP1以上的ntldr就可以,它的运行方式和setupldr.bin是类似的,boot.ini中的写法如下所示。它和setupldr.bin的区别在于:
因为它本身就是NT加载器,所以显然不需要avldr.bin作“中介”;
它的启动参数是从boot.ini而不是winnt.sif中读取的;
它不会处理txtsetup.sif,而是直接从注册表中读取信息;
从最后一点区别就可以明显地看出PE和XP Embedded的区别了,两者在其它地方基本都差不多,而且更进一步讲都和XP差不多。不过迄今为止XP Embedded我虽然能启动起来了,但是一直是0x0000007F的STOP故障。可能是XP Embedded对于通用驱动的处理比PE要困难,不过应该可以从PE那里借鉴一些知识。
下载
(41.98 KB)
2007-12-7 19:58
图 2 通过ntldr加载XP Embedded镜像
[
本帖最后由 Mallon 于 2007-12-7 22:32 编辑
]
图片附件:
1.gif
(2007-12-7 19:58, 54.53 KB) / 下载次数 123
http://yylive.net/attachment.php?aid=54235&k=4c0c12b59500d5da6bf66ffd2319bc58&t=1782324140&sid=4X6g6x
图片附件:
2.gif
(2007-12-7 19:58, 41.98 KB) / 下载次数 119
http://yylive.net/attachment.php?aid=54236&k=dc99e1ad03c643cd7f7e808c93b0decf&t=1782324140&sid=4X6g6x
作者:
Mallon
时间:
2007-12-7 20:09
文件名:PE和XPE范例.rar
下载地址:
http://www.fs2you.com/files/7ccb639c-a4bc-11dc-ab25-0014221b798a/
作者:
Mallon
时间:
2007-12-7 20:40
参考文献:
http://www.znpc.net/bbs/viewthre ... rintable&tid=98
http://www0.ccidnet.com/tech/app/2000/12/07/58_1419.html
http://forum.hamstc.org/redirect.php?tid=54
http://msdn2.microsoft.com/en-us/library/ms838543
(printer).aspx
http://support.microsoft.com/kb/304992
http://bbs.wwwfox.net/viewthread.php?tid=113415
http://it.wjszzx.cn/html/2006-11/348.htm
http://www.itfind.com.cn/hard/200704/2263.html
http://bbs.wuyou.com/viewthread.php?tid=79907
http://bbs.wuyou.com/viewthread.php?tid=116655
http://jike.it168.com/11139961/viewspace-3533
http://bbs.wuyou.com/viewthread.php?tid=34011
欢迎光临 幽游生活 (http://yylive.net/)
Powered by Discuz! 7.2