新手教程PE DIYgrub4doseasyboot多PE合盘制作U盘安装.docx
《新手教程PE DIYgrub4doseasyboot多PE合盘制作U盘安装.docx》由会员分享,可在线阅读,更多相关《新手教程PE DIYgrub4doseasyboot多PE合盘制作U盘安装.docx(55页珍藏版)》请在冰豆网上搜索。
新手教程PEDIYgrub4doseasyboot多PE合盘制作U盘安装
【新手教程】PEDIY、grub4dos/easyboot多PE合盘制作、U盘安装(2009.6.7更新)
1.说明
本帖主要是以实例说明 PE的合盘过程及涉及到的一些基础知识,以供新手参考
重要:
请先阅读“PE启动过程简介”、“硬盘(U盘、移动硬盘)MBR、DBR简介”
内容说明:
#2PE启动过程简介
#3grub4dos多PE合盘制作过程及几个菜单命令简介
#4grub4dosU盘、移动硬盘、光盘安装
#5WINPEDIY简介
#6easyboot多PE合盘制作过程
#7easyboot菜单制作及grub4dos/easyboot菜单互转
#8U盘安装XP系统的方法
#9硬盘(U盘、移动硬盘)MBR、DBR简介
#10easyboot背景图制作
涉及工具:
BeyondCompare(重点推荐,个人认为最好的文件夹、文件比较工具,修改前后的文件、两个不同版本或不同制作者的PE,比较之下一目了然,注意文件夹比较有时规则选中“比较内容”的“CRC比较”一项才是正确的结果,比如两个文件修改时间不同但内容一样的时候)
WinHex(磁盘查看编辑,二进制文件编辑)
UltraEdit(二进制文件编辑,当然也可用于文本文件编辑)
WinRAR(压缩解压缩)
UltraISO(生成及编辑ISO文件)
easyboot(制作启动光盘)
PS(Photoshop)(图像编辑)
grub4dos下载地址:
以hwd6的【YY】超级N合一系统维护启动盘为模版
以lyra的基于XP-SP3的WinPE,天琴星座(lyra)·Build20090226为例
合盘说明(详细目录结构请参考附件):
grub4dos方式:
一个PE对应一个菜单项及BOOT下的一个目录(如天琴星座的对应BOOT\LY)
这种方式BOOT目录下的两个BIN文件没用,可以删除(如天琴星座的对应LYPE.BIN、LYSETLDR.BIN(即SETUPLDR.BIN))
easyboot方式:
一个PE对应一个菜单项及BOOT下的一个目录(如天琴星座的对应BOOT\LY)和两个文件(如天琴星座的对应LYPE.BIN、LYSETLDR.BIN)
这种方式PE目录下的SETUPLDR.BIN文件没用,可以删除(如天琴星座BOOT\LY下的SETUPLDR.BIN)
这两种方式SETUPLDR.BIN可以统一到easyboot使用的方式,但是考虑到使用grub4dos的时候PE的结构会更清晰一些所以没有统一
两种方式一个DOS工具都只对应一个菜单项和BOOT\IMGS目录下一个IMG文件
附件中大小为0的文件只是为了说明目录结构
grub4dos主菜单效果图(子菜单请参考#7):
easyboot主菜单效果图(在此基础修改请提取附件):
2.PE启动过程简介
下面为个人理解的几种启动方式的启动过程中的一些步骤,这些步骤多数是制作PE合盘的时候需要修改的地方,错误之处请指正
2.1.纯PE
如老毛桃、天琴星座
1.加载引导区代码,相当于硬盘的MBR
修改方法:
a)用UltraISO打开ISO文件,选择“启动”->“保存引导文件”,即可得到引导文件(大小为2k),比如文件名为pe.bif(使用easyboot启动PE时即调用此文件)
b)此文件中可以修改的地方有两处,用UltraEdit打开,找到下图中的位置,其中SETUPLDR.BIN指定下一步要调用的文件名,WXPE为SETUPLDR.BIN相对于根目录的路径
c)修改SETUPLDR.BIN和WXPE,注意和ISO中的文件名和路径对应且应该保持字节数不变,保存
d)用UltraISO打开ISO文件,选择“启动”->“加载引导文件”,选择刚修改保存的pe.bif,修改其中的路径和文件名与pe.bif中的一致,保存ISO文件,结束
2.加载在引导区代码中指定的SETUPLDR.BIN,如上图
3.加载SETUPLDR.BIN中指定的NTDETECT.COM,也就是本合盘中的“BOOT/NTD.COM”
4.加载SETUPLDR.BIN中指定的WINNT.XPE(常用名),也就是本合盘中的“X”,这个文件对于所有PE基本都一样,差别就在文件中指定WinPE.IS_路径的地方
5.加载WINNT.XPE中指定的PE系统内核“WinPE.IS_(cab压缩文件,可以用WinRAR解压)”
6.加载WinPE.IS_中的脚本TXTSETUP.SIF(由WinPE.IS_中TXTSETUP.SI_(cab压缩文件)解压得到,TXTSETUP.SIF是一个安装信息文件(sif),主要用于Windows的文本安装模式,WindowsPE用到了文本安装模式的末尾和GUI安装模式的开始部分,可以利用它添加第三方驱动
7.加载PECMD.INI,这个文件就是“PECMD-WinPECommander,功能强大的WinPE命令解释工具”的配置文件,在里面可以运行各种PECMD的命令,注释使用“`”或“//”
如:
启动过程记录(LOGS),使用这个命令可以生成启动过程日志,通过这个日志可以更深入的理解PECMD参数文件的加载过程,自己制作PE时可用清楚的看到启动过程是否有问题
修改注册表(REGI)
增加桌面快捷方式和开始菜单快捷方式(LINK)
8.PECMD.INI中间会加载WINPE.INI,该文件一个很重要的功能是配置外置程序,另外各个PE加载显卡驱动的命令一般也在这个文件中,如果有的PE在启动过程中直接加载了显卡驱动而导致PE启动后黑屏(部分ATI显卡),可以修改这部分代码为选项加载或不加载
9.启动结束
2.2.easyboot方式
只能用于光盘启动或U盘量产,如深山红叶
1.加载easyboot的引导文件(用easyboot软件自带,用easyboot制作iso文件时自动写入到iso引导区)
2.加载easyboot引导文件中指定的菜单文件,如CDMENU.EZB
3.加载菜单中选择的项,如选择PE,则下面的启动顺序同“2.1”中的步骤,如选择其他的image文件(可以用winimage编辑),则下面加载image文件中config.sys,autoexex.bat
2.3.grub4dos方式
多用于U盘启动
1.光盘启动(将菜单集成到grldr,为grldr增加bin或bif等UltraISO可以加载的引导文件后缀,用UltraISO加载此引导文件即为grub4dos光盘启动)
a)加载引导文件(grldr),显示菜单
b)加载选择菜单中选择的项,下面同easyboot方式加载菜单中选择的项
2.U盘或移动硬盘启动(参考hwd6的PE中U盘、移动硬盘启动的制作)
a)使用grub4dos的MBR启动
a1)加载grub4dos的MBR
a2)加载MBR中指定的grldr
a3)加载菜单文件(首先加载grldr中集成的菜单,如没有则加载外部菜单文件)
a4)加载选择菜单中选择的项,如选择PE,则下面的启动顺序同“2.1”中的步骤,如选择其他的image文件(可以用winimage编辑),则下面加载image文件中config.sys,autoexex.bat
b)使用NT的MBR启动
b1)加载NT的MBR
b2)加载MBR中指定的NTLDR
b3)加载NTLDR中指定的BOOT.INI,hwd6PE中为BOOT\INI
b4)加载BOOT.INI中指定的grldr
b5)下面同“使用grub4dos的MBR启动”的a3、a4
3.grub4dos多PE合盘制作及命令简介
3.1.合盘的过程
以天琴星座(lyra)·Build20090226为例说明
1.在硬盘中新建目录,从天琴星座的PE中复制下面文件到此目录,其中SETUPLDR.BIN不需要每次从不同的PE中复制,合成其他PE时只需要复制已修改过的一份,然后只修改其中关于WINNT.XPE路径的部分即可
2.将WINNT.XPE改名为X,将WINPE.IS_改名为WINPE.IS_.rar,解压此文件到当前目录,得到WINPE.ISO,用UltraISO打开WINPE.ISO,提取WXPE文件夹到当前目录,最终当前目录如下
3.修改SETUPLDR.BIN
此文件用什么名字无所谓,只要与menu.lst正确对应即可,如果使用附件中的SETUPLDR.BIN进行修改,只需修改关于WINNT.XPE的部分即可
修改前后的对照(用UltraEdit打开文件SETUPLDR.BIN)
2a350h行修改前
2a350h行修改后
2a430h行修改前
2a430h行修改后
2a4a0h行修改前
2a4a0h行修改后
2a660h行修改前
2a660h行修改后
3e180h行修改前
3e180h行修改后
41610h行修改前
41610h行修改后
a)关于NTDETECT.COM的修改,可直接用UltraEdit修改
原PE中关于NTDETECT.COM的部分参考图“3e180h行修改前”(文件在wxpe目录下)
修改后关于NTDETECT.COM的部分参考图“3e180h行修改后”(文件在boot目录下)
合盘中将原来的4处修改了3处
我测试的结果是这样(按照以前别的帖子的说法,不同的机器可能会有不同的结果):
如果是U盘或移动硬盘只修改第一处就可以,而如果第一处不修改,其它修改了也没用
如果是光盘只修改最后一处的目录就可以(可以不修改文件名),同样如果最后一处不修改,其它修改了也没用
所以最好是按照hwd6的方法修改,即修改3处的方法(当然如果你的NTDETECT.COM放在不同的目录,如I386,那就把3处boot改为I386,注意最后一处原来多余的字节将光标放在十六进制代码处用00填充)
b)关于WINNT.XPE的修改
用UltraEdit打开SETUPLDR.BIN,用替换功能将winnt.xpe全部替换为boot\ly\x,注意选中“查找ASCII”,若提示“9个项目已替换”就是成功了(尽量与原文件名大小一致,保证SETUPLDR.BIN的大小不变,否则可能启动不成功),保存退出。
若是在这个修改过的SETUPLDR.BIN基础上继续修改为别的,如mt\x,那就这样
4.修改WINNT.XPE(文件名已改为X)
用文本编辑器打开文件X进行修改
修改前第3行为:
OsLoadOptions="/minint/fastdetect/rdexportascd/rdpath=MiniPE\WinPE.IS_"
修改后为:
OsLoadOptions="/minint/fastdetect/rdexportascd/rdpath=boot\ly\WinPE.IS_"
5.修改PECMD.INI
用文本编辑器打开WXPE\SYSTEM32\PECMD.INI
将调用WINPE.INI的路径由MiniPE修改为boot\ly(只在第30行有两处)
修改前
FIND$%MinMode%=Yes,LINK%Desktop%\加载外部配置,PECMD.EXE,LOAD\MiniPE\WinPE.INI,Shell32.dll#26!
TEAMTEXT|LOAD\MiniPE\WinPE.INI
修改后
FIND$%MinMode%=Yes,LINK%Desktop%\加载外部配置,PECMD.EXE,LOAD\boot\ly\WinPE.INI,Shell32.dll#26!
TEAMTEXT|LOAD\boot\ly\WinPE.INI
用UltraISO打开WINPE.ISO,用修改后的PECMD.INI替换WINPE.ISO中的WXPE\SYSTEM32目录下的PECMD.INI,保存
用老毛桃的cab打包工具将WINPE.ISO重新打包为WINPE.IS_
a)将cab打包工具复制到当前目录,双击运行
b)选择“3”
c)输入需要压缩的文件所在路径“WINPE.ISO”
d)输入需要保存的压缩文件路径,直接回车
6.修改WINPE.INI
用文本编辑器打开WINPE.INI
将涉及到目录MiniPE的地方修改为BOOT\LY(只在第2行有一处)
修改前为
MOUN%CurDrv%\MINIPE\OP.WIM,Y:
1
修改后为
MOUN%CurDrv%\BOOT\LY\OP.WIM,Y:
1
7.将PE中外置程序OP.WIM复制到当前目录,删除中间文件WINPE.IS_.rar、WINPE.ISO和目录WXPE
最终当前目录下的文件为
8.修改menu.lst,增加相应的启动项
如:
title[01]天琴星座(lyra)Build20090226
chainloader/BOOT/LY/SETUPLDR.BIN
9.其他的PE类似添加
WINPE中的路径不区分大小写,grub4dos在fat、fat32、ntfs分区中也不区分
详细目录清单,请参考附件
3.2.grub4dos几个菜单命令
find--set-root/BOOT/GRUB/HWDISK.ICO :
查找第一个包含/BOOT/GRUB/HWDISK.ICO文件的分区,并将此分区设置为根分区,一般情况这个指令只要在菜单的开头指定即可
fontfile/BOOT/GRUB/FONTS :
指定中文字体文件
splashimage/BOOT/GRUB/SPLASH.XPM.GZ :
指定背景图片
background008080 :
指定背景色
timeout60 :
设置启动默认项前的等待时间,单位秒
default0 :
设置默认启动项的序号,菜单中第一项的序号为0
title[01]天琴星座(lyra)Build20090226 :
设置菜单项的显示名称
map--mem/BOOT/IMGS/F6HD1.IMG(fd0)&&map--hook :
如果映射fd0成功,则执行&&后面的map--hook
chainloader/BOOT/LY/SETUPLDR.BIN :
加载菜单对应的PE启动文件
map--mem/BOOT/IMGS/DOS98.IMG(fd0) :
映射DOS引导文件为fd0(软盘)
map--hook :
使上面的映射立即执行
chainloader(fd0)+1 :
从fd0启动
rootnoverify(fd0) :
指定fd0为根分区
configfilefilename :
调用另一个grub4dos菜单,其中filename为菜单文件名
grub4dos的指令有很多,功能也很强大,不过制作一个简单的启动盘上面的指令也就基本够用了
chainloader加载扇区链式加载器,这个命令只读取其后空格分隔的第一段,也就是说如果后面有多个空格,则第二个空格后面的内容无效
chainloader可以直接加载MBR、DBR、ntldr(WindowsNT/2000/XP/2003启动文件)、bootmgr(Vista启动文件)等
下面是其中几种用法的代码:
加载MBR:
chainloader(hd0)+1 :
此命令等同chainloader(hd0)0x0+1,“+”前面的数字表示扇区起始位置如果是0可以省略,“+”号后面的数字表示加载的扇区数
这个命令意思是加载第一个硬盘从“0”开始的一个扇区,也就是硬盘的MBR
加载DBR:
chainloader(hd0,0)+1 :
加载第一个硬盘第一个分区从“0”开始的一个扇区,也就是第一个分区的DBR
加载ntldr(grub4dossamplemenu.lst):
find--set-root--ignore-floppies--ignore-cd/ntldr
map()(hd0)
map(hd0)()
map--rehook
find--set-root--ignore-floppies--ignore-cd/ntldr
chainloader/ntldr
此处若是U盘启动且U盘是以NT方式启动则选择此菜单可能依然是从U盘启动,可手动修改文件名ntldr,如修改为boot.ini以正确启动硬盘上的系统
修改方法参考下面F6加载硬盘驱动的方法
加载bootmgr(grub4dossamplemenu.lst):
find--set-root--ignore-floppies--ignore-cd/bootmgr
map()(hd0)
map(hd0)()
map--rehook
find--set-root--ignore-floppies--ignore-cd/bootmgr
chainloader/bootmgr
3.3.手动加载硬盘驱动的一种方法
下面只说明驱动程序与PE在一个分区的情况,不在同分区的情况略为复杂,以#1附件中的menu.lst为例
1.选中一个PE,如“天琴星座”,按e进入编辑菜单项模式
2.选中第一行,按e编辑当前行
3.将/BOOT/IMGS/F6HD1.IMG修改为正确的驱动映像路径及文件名,如/BOOT/IMGS/F6HD.IMG,回车结束编辑
4.按b启动,即可将/BOOT/IMGS/F6HD.IMG映射为软驱A,PE提示时即可按F6加载硬盘驱动
4.grub4dosU盘、移动硬盘、光盘安装
4.1.U盘、移动硬盘grub4dos方式启动
写入grub4dosMBR
1.格式化U盘或要安装的移动硬盘分区为NTFS或fat32
fat32兼容性要好一些,发现NTFS格式在一些机器上不能启动某些DOS工具,用fat32就没有问题
在资源管理器中右键格式化或使用ParagonPartitionManager等工具均可,如果分区有东西也可以先试试不格式化
2.用grubinst_gui.exe(附件中有)将mbr写入U盘或移动硬盘
写入选项见图,注意USB-ZIP的U盘请不要选择“启动时不搜索软盘”,等待时间填0则不会在启动时等待热键,启动文件可以修改为和默认的grldr不同的文件名(这样即使硬盘中已经安装了grldr,也不会启动错误的文件)
3.按附件建立目录结构
4.复制相应的外置程序和DOS的img文件到相应的目录(img与menu.lst中项目对应)
4.2.U盘、移动硬盘NT方式启动
写入NTMBR
1.移动硬盘一定要有一个主分区(Primary),将U盘的分区或要安装的移动硬盘主分区设置为活动
2.用ParagonPartitionManager修复MBR(其他有此功能的软件也可以)
如图,注意是在U盘或移动硬盘上(不是在分区上)点右键,选择UpdateMBR,点击“应用”
3.按附件建立目录结构
4.复制相应的内核文件、外置程序和DOS的img文件到相应的目录(img与menu.lst中项目对应)
注意根目录文件名grldr与附件中BOOT目录下INI文件中的名称对应(此处如果要改变grldr文件名请参考lianjiang的“grub4dos初级教程_图文版”中“用批处理自动给grldr改名”)
4.3.U盘、移动硬盘改变启动方式
如果你已经按照附件建好了目录结构,即NTLDR、GRLDR都存在,则可以用下面方法改变启动方式:
1.改变为grub4dos方式启动:
运行“grub4dos方式启动”中的步骤2
2.改变为NT方式启动:
运行“NT方式启动”中的步骤2
也就是说只需要更新一下MBR即可,这个过程不需要格式化或清空分区
如果切换到NT方式时提示DiskError,用试用BOOTICE.EXE或者NTBOOT.EXE修复一下分区的启动
如制作不成功请使用hwd6的制作工具试试,另外请参考老九WinPE老毛桃修改版之FAQ不完整版
4.4.光盘安装
1.将menu集成到grldr(其他方法请参考lianjiang的“grub4dos初级教程_图文版”)
下载grub4dos,提取chinese目录下的grldr,改名为grldr.bin,将grubmenu.exe、menu.lst、grldr.bin置于同一目录,运行:
grubmenuimportgrldr.binmenu.lst(单独运行grubmenu可以看简单帮助,参考附件)
2.用UltraISO新建文件,加入制作好的集成PE文件,设置如下属性(其中Joliet可以选也可不选)
4.加载引导文件,选择上面集成菜单的grldr.bin
5.保存ISO文件,打开Nero选择刻录映像文件,选择刚生成的ISO文件,刻录,完毕
刻录过启动光盘的都知道了,一定不能按普通文件刻录,否则不能启动
注意制作光盘menu.lst时,其中的文件和路径名应为大写
关于grub4dos的详细用法请参考lianjiang的“grub4dos初级教程_图文版”
其中“附录”中的一篇“如何使用grubinst_gui”较详细的说明了grubinst_gui的用法
5.WINPEDIY简介