|
现在PE有很多,也大都都带有安装程序,给我们使用带来方便.但试用不同的PE都要安装一次,可能还会和原来的冲突,
或者要先卸载原来的PE.而且大都安装在系统盘里,有时候我们想在系统盘之外的逻辑盘里使用PE,不管C盘有无系统.
后来就想做个模板,不同的PE只需取他的核心文件如"winpe.is_"、"winpe.im_"放置到模板里,再稍微改动模板的设置就可使用,
还可以加入不同的DOS镜像.最好还能在U盘上使用.
下面是我做的模板,用grub4dos启动管理.(这只是我的理解,欢迎指正)
1.先来看ramdisk方式pe大致的启动流程:
启动pe |——ndetect.com
grldr——menu.lst————setupldr.bin——|
| |——winnt.sif ——winpe.is_ ——外置程序
|
| 启动DOS
|—————boot.img
怎样安装grldr等下我们下面详细说. menu,lst是grub的菜单文件,可以内置到grldr里面.(用grubmenu.exe修改)
当选择启动pe后,grub装载setupldr.bin,setupldr会搜索winnt.sif和ndetect.com文件(名字和路径可以用UE或winhex修改),
winnt.sif会指定setupldr.bin以什么方式加载什么类型的PE镜像.
pe内核启动后再搜索外置程序,加载,启动到桌面. 不同的pe搜索的路径有所不同,如老毛桃的0418版的是搜索"外置程序",新版0901搜索的是"minipe".
2.下面开始制作模板:
为了看起来干净,我们在逻辑分区根目录建一个boot文件夹,
拷入setupldr.bin并改名为peldr,(改名只是区别于不同的pe.只能用win2003sp1的并且破解.老毛桃的已破解)
拷入ndetect.com并改名为ntcom,
拷入winnt.sif(老毛桃光盘里的是winnt.xpe)并改名为sif.
拷入winpe.is_,(老毛桃的pe镜像,iso格式的)
拷入grub相关的文件muifont.gz、memdisk.gz、wingrub.gz(背景文件).
拷入dos镜像,如boot.img
把grldr放在根目录下.
现在硬盘上文件是这样的:
/---boot
| |--boot.img
| |--mwmdisk.gz
| |--muifont.gz
| |--ntcom
| |--peldr
| |--sif
| |--wingrub.gz
| |--winpe.is_
|--grldr
现在是重点,要改peldr了. 用winhex打开peldr(setupldr.bin改名而来),有3个地方要改:
(1)指定ntcom(ndetect.com改名而来)的路径. 改前面两处ndetect.com为boot\ntcom
(2)指定sif(winnt.sif改名而来)的路径. 改winnt.sif为boot\sif (老毛桃的改winnt.xpe为boot\sif)
(3)对应winpe.is_里的系统目录.如老毛桃的pe系统目录是"wxpe",老九32M的PE是"I386".
如果你用老毛桃的改动前面的(1)跟(2)就可以了.
现在再复制一份改名为peldr.386,并打开,把里面的"wxpe"替换成"I386".这样你要使用系统目录是"I386"
的话,就把peldr改名为peldr.xpe,把peldr.386改名为peldr
接下来要根据不同类型的镜像修改sif文件,内容如下:(用记事本改)
[SetupData]
BootDevice="ramdisk(0)"
BootPath="\WXPE\SYSTEM32\"
OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=boot\WinPE.IS_"
这里的变化有两处:
(1) BootPath="\WXPE\SYSTEM32\"对应的是pe镜像的系统目录为"wxpe"
BootPath="\I386\SYSTEM32\"对应的是pe镜像的系统目录为"I386"
(2) OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=boot\WinPE.IS_" 对应的pe镜像格式是ISO
OsLoadOptions="/minint /fastdetect /rdpath=boot\WinPE.IM_" 对应的pe镜像格式是IMG
现在你可以根据不同的pe格式、不同的系统目录,用不的peldr和sif就好了.当然外置程序要拷到分区的根目录了.
(0418版的拷贝整个"外置程序"文件夹,0910版的拷贝"minipe"文件夹,里面就winpe.ini和op.wim两个文件可以了)
接下来的问题是怎么用grldr启动pe和dos镜像
用记事本新建一个menu.lst文本文件:
timeout 3
default 2
fontfile /boot/muifont.gz
splashimage /boot/wingrub.gz
title 【01】启动 WINDOWS PE 系统
chainloader /boot/peldr
title 【02】启动 WINDOWS PE 系统(逻辑盘)
find --set-root /boot/peldr
map +1 (hd0)
chainloader /boot/peldr
title 【03】启动 DOS 工具箱 (MAP)
map --mem /boot/boot.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
map --floppies=1
title 【04】重启计算机
reboot
title 【05】关闭计算机
halt
menu.lst可以用grubmenu.exe导入到grldr里面,防止被意外改动.这样模板就算做好了,可以放到硬盘或U盘了.
3.最后的问题是怎样载入grldr,方法有很多,常用的有以下几种:
(1)grub先于系统启动.windows下用grubinst_gui.exe把grub装入MBR, DOS下用bootlace.com来装.
这样电脑首先启动的就是grub,在menu.lst里配置启动系统的命令,就可以管理多系统和pe、dos的启动了.
还有好处是可以不依赖C:盘系统而使用pe.
(2)由ntldr载入.拷贝原版的grldr到c:\ ,编辑boot.ini加入c:\grldr="启动GRUB4DOS". 就可以在NT系统的启动菜单里进入了.
menu.lst可以放在boot文件夹所在的分区根目录下,这也是大家常用的方式了.
(3)由vista的启动菜单载入.这种方式操作比较繁琐,论坛里lianjiang大侠有批处理安装,可以参照.
另外的方法有改名法,就是把vista的bootmgr改名为bootmgrv,把grldr改名为bootmgr,这样首先启动的也是grub,
然后在menu.lst加入启动vista的bootmgrv的命令也可.这两种方法是不需要修改MBR的.
我喜欢的是把grub写入MBR,然后用优先引导原来MBR的方法.这样在电脑启动的时候可以按下自己设定的热键启动grub,
不按热键就是启动vista.就像IBM的F11一样.
另外也可以把模板拷贝到U盘,根目录下就boot文件夹和grldr了,还可以设置隐藏的、系统的等属性,再写一下U盘的MBR就OK!
(HDD启动方式用grubinst_gui.exe修改U盘的MBR,zip启动的方式要在dos下用bootlace.com改MBR. )
不知道说清楚没有,就这样了.
说下我自己的使用,我的电脑分了两个主分区(分别装vista和xp)和6个逻辑分区,pe&dos装在最后的分区并且隐藏.pe的外置程序放在可见的逻辑分区,
因为现在pe还不能读隐藏分区的文件,不过这样也方便修改外置程序,而且老毛桃新版的外置程序是wim打包的,不怕病毒,修改也方便.
附件是我的模板和部分工具,你可以按你使用的dos镜像等修改menu.lst再内置到grldr里
http://www.91files.com/?LCTOXPMCGHAXWOCPA9NA
[ 本帖最后由 jianx 于 2007-9-8 10:57 PM 编辑 ] |
|