无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 275789|回复: 427

【新手教程】PE DIY、grub4dos/easyboot多PE合盘制作、U盘安装(2009.6.7更新)

    [复制链接]
发表于 2009-4-6 23:42:39 | 显示全部楼层 |阅读模式
本帖主要是以实例说明  PE 的合盘过程及涉及到的一些基础知识,以供新手参考

重要:请先阅读 #2、#9

内容说明:
#2 PE启动过程简介
#3 grub4dos 多PE合盘制作过程及几个菜单命令简介
#4 grub4dos U盘、移动硬盘、光盘安装
#5 WINPE DIY 简介
#6 easyboot 多PE合盘制作过程
#7 easyboot 菜单制作及 grub4dos/easyboot 菜单互转
#8 U盘安装 XP 系统的方法
#9 硬盘(U盘、移动硬盘)MBR、DBR简介
#10 easyboot 背景图制作


2009.6.7更新:
修改 #8 中关于启动 PE 后安装版 XP 的安装方法,原方法有误
#5 grub4dos 光盘安装 合并到 #4 grub4dos U盘、移动硬盘安装
#5 改为 WINPE DIY 简介

2009.5.11更新:
修正 #3 grub4dos 多PE合盘制作过程 中 chainloader 用法(谢谢 yjd 指正),并增加了 chainloader 几种用法代码
修正 #2 PE启动过程简介 中关于 grub4dos 内置、外置菜单调用顺序的说法(谢谢 pseudo 指正)

2009.5.9更新:
整理 #6 easyboot 多PE合盘制作过程
#9 grub4dos menu 中几个命令简介 合并到 #3 grub4dos 多PE合盘制作过程
#9 改为 硬盘(U盘、移动硬盘)MBR、DBR简介

2009.4.27更新:
#7 easyboot 菜单制作及 grub4dos/easyboot 菜单互转 修改完毕

2009.4.22更新:
#7 改为“easyboot 菜单制作及 grub4dos/easyboot 菜单互转”
修改中

2009.4.21更新:
修改grub4dos 多PE合盘制作过程

2009.4.15更新:
#2、#3 中增加关于 NTDETECT.COM 的说明


涉及工具:
Beyond Compare(重点推荐,个人认为最好的文件夹、文件比较工具,修改前后的文件、两个不同版本或不同制作者的PE,比较之下一目了然,注意文件夹比较有时规则选中“比较内容”的“CRC比较”一项才是正确的结果,比如两个文件修改时间不同但内容一样的时候)
WinHex(磁盘查看编辑,二进制文件编辑)

UltraEdit(二进制文件编辑,当然也可用于文本文件编辑)
WinRAR(压缩解压缩)
UltraISO(生成及编辑ISO文件)
easyboot(制作启动光盘)
PS(Photoshop)(图像编辑)

grub4dos下载地址:
http://grub4dos.nufans.net
http://nufans.net/grub4dos/

grubinst下载地址:
http://bbs.znpc.net/viewthread.php?tid=5452


以 hwd6 的【YY】超级N合一系统维护启动盘为模版
以 lyra 的
基于XP-SP3的WinPE,天琴星座(lyra)·Build 20090226为例

合盘说明(详细目录结构请参考 #1 附件):

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):
menu_grub4dos.jpg


easyboot 主菜单效果图(子菜单请参考 #7,在此基础修改请下载#10附件):
menu_easyboot.jpg


完整包(481 MB)下载:

http://www.rayfile.com/files/d9e5a659-537f-11de-acb5-0019d11a795f/
http://www.namipan.com/d/WINPE.iso/dea0dcf755a486a246fc18fd642e166e1a9bc63400c8171e

MD5:  DDF2A3ACE7D774277A93CFDB780D83A9


Word 格式电子文档,含所有附件,浏览时请打开“文档结构图”

http://www.rayfile.com/files/51f403ae-66d7-11de-a10c-0014221b798a/
http://www.namipan.com/d/WINPE.rar/203d65bfafb09e48b617155dbdfdb024856c344de2b66300

MD5: 30BEBD807208C8627C352AE73DD0CBAC

[ 本帖最后由 wind_fsm 于 2009-7-2 15:10 编辑 ]

WINPE.part01.rar

258.79 KB, 下载次数: 7668, 下载积分: 无忧币 -2

WINPE.part02.rar

258.79 KB, 下载次数: 7080, 下载积分: 无忧币 -2

WINPE.part03.rar

258.79 KB, 下载次数: 7776, 下载积分: 无忧币 -2

WINPE.part04.rar

258.79 KB, 下载次数: 6996, 下载积分: 无忧币 -2

WINPE.part05.rar

258.79 KB, 下载次数: 6636, 下载积分: 无忧币 -2

WINPE.part06.rar

199.78 KB, 下载次数: 5129, 下载积分: 无忧币 -2

评分

参与人数 6无忧币 +40 收起 理由
wuxin9712 + 5
719850736 + 5 很给力!
有阴也有阳 + 5 很给力!
shy999 + 5 很给力!
ISO + 10 精品文章
x.Nichdlas + 10 很好的教程~~

查看全部评分

 楼主| 发表于 2009-4-6 23:43:03 | 显示全部楼层

PE启动过程简介

下面为个人理解的几种启动方式的启动过程中的一些步骤,这些步骤多数是制作PE合盘的时候需要修改的地方,错误之处请指正

一、纯PE,如老毛桃、天琴星座
1. 加载引导区代码,相当于硬盘的MBR
    修改方法:
    a)用UltraISO打开ISO文件,选择“启动”->“保存引导文件”,即可得到引导文件(大小为2k),比如文件名为pe.bif(使用easyboot启动PE时即调用此文件)
    b)此文件中可以修改的地方有两处,用UltraEdit打开,找到下图中的位置,其中SETUPLDR.BIN指定下一步要调用的文件名,WXPE为SETUPLDR.BIN相对于根目录的路径
       pe_bif.jpg
    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 的文本安装模式,Windows PE 用到了文本安装模式的末尾和 GUI 安装模式的开始部分,可以利用它添加第三方驱动

7. 加载PECMD.INI,这个文件就是“PECMD - WinPE Commander,功能强大的 WinPE 命令解释工具”的配置文件,在里面可以运行各种PECMD的命令,注释使用“`”或“//”
   如:
   启动过程记录(LOGS),使用这个命令可以生成启动过程日志,通过这个日志可以更深入的理解PECMD参数文件的加载过程,自己制作PE时可用清楚的看到启动过程是否有问题
   修改注册表(REGI)
   增加桌面快捷方式和开始菜单快捷方式(LINK)

8. PECMD.INI中间会加载WINPE.INI,该文件一个很重要的功能是配置外置程序,另外各个PE加载显卡驱动的命令一般也在这个文件中,如果有的PE在启动过程中直接加载了显卡驱动而导致PE启动后黑屏(部分ATI显卡),可以修改这部分代码为选项加载或不加载

9. 启动结束

二、easyboot方式(只能用于光盘启动或U盘量产),如深山红叶
1. 加载easyboot的引导文件(用easyboot软件自带,用easyboot制作iso文件时自动写入到iso引导区)

2. 加载easyboot引导文件中指定的菜单文件,如CDMENU.EZB

3. 加载菜单中选择的项,如选择PE,则下面的启动顺序同“一”中的步骤,如选择其他的image文件(可以用winimage编辑),则下面加载image文件中config.sys,autoexex.bat

三、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,则下面的启动顺序同“一”中的步骤,如选择其他的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

四、其他启动方式
不了解

[ 本帖最后由 wind_fsm 于 2009-6-8 18:47 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-4-6 23:43:10 | 显示全部楼层

grub4dos 多PE合盘制作过程及几个菜单命令简介

一、以天琴星座(lyra)·Build 20090226为例说明合盘的过程


1. 在硬盘中新建目录,从天琴星座的PE中复制下面文件到此目录,其中 SETUPLDR.BIN 不需要每次从不同的 PE 中复制,合成其他 PE 时只需要复制已修改过的一份,然后只修改其中关于WINNT.XPE路径的部分即可
    原始文件.jpg

2. 将WINNT.XPE改名为X,将WINPE.IS_改名为WINPE.IS_.rar,解压此文件到当前目录,得到WINPE.ISO,用UltraISO打开WINPE.ISO,提取WXPE文件夹到当前目录,最终当前目录如下
    解压后文件.jpg

3. 修改SETUPLDR.BIN
    此文件用什么名字无所谓,只要与menu.lst正确对应即可,类似的目录结构如果使用 #1 附件中的 SETUPLDR.BIN 进行修改,只需修改关于WINNT.XPE的部分即可
    修改前后的对照(用UltraEdit打开文件SETUPLDR.BIN)
    2a350h行修改前
    setupldr 2a350h行修改前.jpg
    2a350h行修改后
    setupldr 2a350h行修改后.jpg

    2a430h行修改前
    setupldr 2a430h行修改前.jpg
    2a430h行修改后
    setupldr 2a430h行修改后.jpg

    2a4a0h行修改前
    setupldr 2a4a0h行修改前.jpg
    2a4a0h行修改后
    setupldr 2a4a0h行修改后.jpg

    2a660h行修改前
    setupldr 2a660h行修改前.jpg
    2a660h行修改后
    setupldr 2a660h行修改后.jpg

    3e180h行修改前
    setupldr 3e180h行修改前.jpg
    3e180h行修改后
    setupldr 3e180h行修改后.jpg

    41610h行修改前
    setupldr 41610h行修改前.jpg
    41610h行修改后
    setupldr 41610h行修改后.jpg

    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 的大小不变,否则可能启动不成功),保存退出。
    bin_xply.jpg
    若是在这个修改过的 SETUPLDR.BIN 基础上继续修改为别的,如 mt\x ,那就这样
    bin_lymt.jpg

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!TEAM TEXT|LOAD \MiniPE\WinPE.INI
    修改后
    FIND $%MinMode%=Yes,LINK %Desktop%\加载外部配置,PECMD.EXE,LOAD \boot\ly\WinPE.INI,Shell32.dll#26!TEAM TEXT|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
    最终当前目录下的文件为
    修改后文件.jpg

8. 修改 menu.lst,增加相应的启动项
    如:
    title [01] 天琴星座(lyra) Build 20090226
    chainloader /BOOT/LY/SETUPLDR.BIN

9. 其他的PE类似添加

WINPE 中的路径不区分大小写,grub4dos在fat、fat32、ntfs分区中也不区分
详细目录清单,请参考#1下载


二、简单说明一下本合盘的grub4dos的menu中用到的几个命令(详情参考文件menu.lst):

  find --set-root /BOOT/GRUB/HWDISK.ICO    :查找第一个包含/BOOT/GRUB/HWDISK.ICO文件的分区,并将此分区设置为根分区,一般情况这个指令只要在菜单的开头指定即可

  fontfile /BOOT/GRUB/FONTS    :指定中文字体文件

  splashimage /BOOT/GRUB/SPLASH.XPM.GZ    :指定背景图片

  background 008080    :指定背景色

  timeout 60    :设置启动默认项前的等待时间,单位秒

  default 0    :设置默认启动项的序号,菜单中第一项的序号为0

  title [01] 天琴星座(lyra) Build 20090226    :设置菜单项的显示名称

  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为根分区

  configfile filename    :调用另一个 grub4dos 菜单,其中 filename 为菜单文件名

  grub4dos的指令有很多,功能也很强大,不过制作一个简单的启动盘上面的指令也就基本够用了

  chainloader 加载扇区链式加载器,这个命令只读取其后空格分隔的第一段,也就是说如果后面有多个空格,则第二个空格后面的内容无效
  chainloader 可以直接加载 MBR、DBR、ntldr(Windows NT/2000/XP/2003启动文件)、bootmgr(Vista启动文件)等
  下面是其中几种用法的代码:

  加载 MBR:
  chainloader (hd0)+1    :此命令等同 chainloader (hd0)0x0+1,“+”前面的数字表示扇区起始位置如果是0可以省略,“+”号后面的数字表示加载的扇区数
                                     这个命令意思是加载第一个硬盘从“0”开始的一个扇区,也就是硬盘的 MBR

  加载 DBR:
  chainloader (hd0,0)+1    :加载第一个硬盘第一个分区从“0”开始的一个扇区,也就是第一个分区的 DBR

  加载 ntldr(grub4dos sample menu.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(grub4dos sample menu.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


三、手动加载硬盘驱动的一种方法

下面只说明驱动程序与 PE 在一个分区的情况,不在同分区的情况略为复杂,以 #1 附件中的 menu.lst 为例

1. 选中一个 PE,如“天琴星座”,按 e 进入编辑菜单项模式
f6hd1.jpg

2. 选中第一行,按 e 编辑当前行
f6hd2.jpg

3. 将 /BOOT/IMGS/F6HD1.IMG 修改为正确的驱动映像路径及文件名,如 /BOOT/IMGS/F6HD.IMG,回车结束编辑
f6hd3.jpg

4. 按 b 启动,即可将 /BOOT/IMGS/F6HD.IMG 映射为软驱 A,PE 提示时即可按 F6 加载硬盘驱动
f6hd4.jpg

[ 本帖最后由 wind_fsm 于 2009-6-17 22:38 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-4-6 23:43:20 | 显示全部楼层

grub4dos U盘、移动硬盘、光盘安装

一、U盘、移动硬盘 grub4dos 方式启动(写入grub4dos MBR)
1. 格式化 U盘或要安装的移动硬盘分区为 NTFS 或 fat32
   fat32 兼容性要好一些,发现 NTFS 格式在一些机器上不能启动某些 DOS 工具,用 fat32 就没有问题
   在资源管理器中右键格式化或使用 Paragon Partition Manager 等工具均可,如果分区有东西也可以先试试不格式化

2. 用 grubinst_gui.exe(#1 附件中有)将 mbr 写入U盘或移动硬盘
   写入选项见图,注意USB-ZIP的U盘请不要选择“启动时不搜索软盘”,等待时间填0则不会在启动时等待热键,启动文件可以修改为和默认的grldr不同的文件名(这样即使硬盘中已经安装了grldr,也不会启动错误的文件)
grubinst.jpg

3. 按#1附件建立目录结构

4. 复制相应的外置程序和 DOS 的 img 文件到相应的目录(img 与 menu.lst 中项目对应)


二、U盘、移动硬盘 NT 方式启动(写入NT MBR)
1. 移动硬盘一定要有一个主分区(Primary),将U盘的分区或要安装的移动硬盘主分区设置为活动

2. 用 Paragon Partition Manager 修复 MBR(其他有此功能的软件也可以)
   如图,注意是在U盘或移动硬盘上(不是在分区上)点右键,选择 Update MBR,点击“应用”
mbr.jpg

3. 按#1附件建立目录结构

4. 复制相应的内核文件、外置程序和 DOS 的 img 文件到相应的目录(img与menu.lst中项目对应)
   注意根目录文件名 grldr 与附件中 BOOT 目录下 INI 文件中的名称对应(此处如果要改变 grldr 文件名请参考 lianjiang的“grub4dos初级教程_图文版”中“用批处理自动给 grldr 改名”


三、U盘、移动硬盘改变启动方式

如果你已经按#1附件建好了目录结构,即 NTLDR、GRLDR 都存在,则可以用下面方法改变启动方式:

1. 改变为 grub4dos 方式启动:运行“grub4dos 方式启动”中的步骤2

2. 改变为 NT 方式启动:运行“NT方式启动”中的步骤2

也就是说只需要更新一下MBR即可,这个过程不需要格式化或清空分区
如果切换到 NT 方式时提示 Disk Error,用试用 BOOTICE.EXE 或者 NTBOOT.EXE修复一下分区的启动

如制作不成功请使用hwd6的制作工具试试,另外请参考老九 WinPE 老毛桃修改版之 FAQ 不完整版


四、光盘安装

1. 将 menu 集成到 grldr(其他方法请参考 lianjiang 的“grub4dos初级教程_图文版”)
    下载 grub4dos,提取 chinese 目录下的grldr,改名为 grldr.bin,将 grubmenu.exe、menu.lst、grldr.bin 置于同一目录,运行:grubmenu import grldr.bin menu.lst(单独运行grubmenu可以看简单帮助,参考附件)

2. 用UltraISO新建文件,加入制作好的集成PE文件,设置如下属性(其中 Joliet 可以选也可不选)
urltraiso.jpg

4. 加载引导文件,选择上面集成菜单的 grldr.bin

5. 保存 ISO 文件,打开Nero选择刻录映像文件,选择刚生成的 ISO 文件,刻录,完毕
    刻录过启动光盘的都知道了,一定不能按普通文件刻录,否则不能启动

注意制作光盘 menu.lst 时,其中的文件和路径名应为大写

关于 grub4dos 的详细用法请参考 lianjiang 的“grub4dos初级教程_图文版
其中“附录”中的一篇“如何使用 grubinst_gui”较详细的说明了 grubinst_gui 的用法

[ 本帖最后由 wind_fsm 于 2009-6-7 22:10 编辑 ]

grub4dos光盘菜单和启动文件.rar

120.28 KB, 下载次数: 4389, 下载积分: 无忧币 -2

回复

使用道具 举报

 楼主| 发表于 2009-4-6 23:43:32 | 显示全部楼层

WINPE DIY 简介

以天琴星座(lyra)·Build 20090226 为例,同时借鉴论坛其他高手制作的 PE 及教程简单介绍关于 WINPE DIY 的一些内容,其中比较复杂(其实是我不懂)的部分一笔带过,需要的自己搜索吧

一、内核

1. PECMD 常用指令简介(请参考 PECMD.INI,详细命令说明请在 XP 或 PE 下运行 PECMD.EXE 查看)
   FBWF:设置FBWF缓存,此处用来设置 X 盘大小
   TEAM:执行一组指令
   TEXT:在登录画面中或桌面窗口显示文字,可以设置文字的颜色、位置、字体大小
   WAIT:暂停或等待指定时间后再继续执行命令,单位毫秒
              加前导“-” 表示在指定的等待时间内遇到任何按键即中止等待,否则直至等待时间结束
   FIND:依据条件表达式是否成立来确定执行后面两条指令的一条
   ENVI:设置或清除环境变量
   FILE:根据操作符操作文件或目录,没有操作符则表示删除操作
   LOGS:启用日志以便记录每条命令的执行结果
              配置文件结束之前,必须调用一次不带参数的"LOGS"命令,以关闭日志文件(确保日志写入文件)
   PATH:操作目录,用于设置PECMD.EXE的当前工作目录或建立目录或删除目录
   INIT:执行最基本初始化
   EXEC:执行 EXE 、BAT、CMD 程序
   CALL:调用DLL函数 或 调用子过程
   REGI:读取或设置、删除注册表数据
   HOTK:设置系统热键,并指定该热键执行的命令
   LINK:创建快捷方式,如桌面和程序菜单
   RAMD:设置虚拟磁盘
   LOAD:按顺序逐条运行配置文件中的命令
   SHEL:加载指定的SHELL,并将SHELL锁定
   LOGO:设置或关闭登录画面
   WALL:设置壁纸
   MOUN:将WIM文件中的某个映像挂载到指定的目录中或卸下已经挂载上的映像文件
   NUMK:控制小数字键盘的开关状态
   IFEX:依据条件表达式是否成立来确定执行后面两条指令的一条

2. txtsetup.sif
   TXTSETUP.SI_为 cab 压缩格式,解压即可得 txtsetup.sif,其中包含了 sata、raid 驱动的描述(驱动程序在 SYSTEM32\DRIVERS),修改比较复杂
   其中有一点常见的是 PE 启动时的提示,即 [SetupData] 中的 loaderprompt
   天琴星座 PE 中为:loaderprompt="Starting Lyra SuperMicro Windows PE ..."

3. 注册表修改
   我所知道的注册表文件有 3 个,SYSTEM32 下的 SETUPREG.HIV(由 cab 格式的 SETUPREG.HI_ 解压得到),SYSTEM32\CONFIG 下的 DEFAULT 和 SOFTWARE
   a)打开regedit,选中 HKEY_LOCAL_MACHINE(修改 SETUPREG.HIV 或 SOFTWARE)或 HKEY_USERS(修改 DEFAULT,这个文件也可以加载到 HKEY_LOCAL_MACHINE 修改)
注册表选择HKLM.jpg

   b)选择“文件->加载配置单元->选择你要修改的注册表文件->打开”,输入项名称时注意不能和当前项下面子项重名
注册表加载项名称.jpg

   c)修改加载项中的相关内容,完毕后选中加载的项,选择“文件->卸载配置单元->是”
注册表卸载.jpg
   
4. SHELL32.DLL的修改
   用 Resource Hacker 可以修改其中的注册表项(REGINST)、位图、图标、菜单等内容,比较复杂,下面列举一个简单的注册表修改
   修改注册用户(RegisteredOwner)和公司(RegisteredOrganization),这两项在“系统属性”“常规”页面的“注册到”中显示
系统属性.jpg

   用查找功能定位到 RegisteredOwner,将最后一个字符串修改为你需要的名称,选择编译脚本,选择“文件->保存”
shell32注册用户.jpg

   把修改的 SHELL32.DLL 替换到核心的 ISO 中,重新打包为 cab 格式的 WINPE.IS_

   这两项还有一个简单的修改方法就是修改 PECMD.INI(参考 PECMD 的 USER 命令),如在 PECMD.INI 中增加:
  
USER 老九*无忧启动论坛


5. 加入 ImDisk 支持并将外置程序 Ramdisk 的 Y盘替换为 ImDisk
   ImDisk 可以加载 img、iso等格式的文件,使用控制面板中的功能可以修改文件大小,也可以生成不关联文件的虚拟内存盘

   a)修改注册表
     下载新版 PECMD,其中的 ImDisk_for_PE.REG 需要导入到 SETUPREG.HIV
     注意 ImDisk_for_PE.REG 中的路径为 HKEY_LOCAL_MACHINE\_PE_,因此需要将 SETUPREG.HIV 加载到 HKEY_LOCAL_MACHINE,项目名称为 _PE_
     双击 ImDisk_for_PE.REG 导入到注册表,查看 HKEY_LOCAL_MACHINE\_PE_\ControlSet001\Services\,如果下面有 ImDisk 子项则导入成功
     顺便删除注册表中两条 Ramdisk Y盘的信息,分别为
HKEY_LOCAL_MACHINE\_PE_\ControlSet001\Services\Ramdriv
HKEY_LOCAL_MACHINE\_PE_\ControlSet001\Enum\Root\UNKNOWN

在左侧选中项目,右键->删除
卸载 _PE_,将修改后的 SETUPREG.HIV 压缩为 cab 格式的 SETUPREG.HI_,替换到内核中

   b)加入相关文件
     将 PECMD 包中的 IMDISK.SYS 加入到内核 SYSTEM32\DRIVERS 下
     将 IMDISK.CPL、IMDISK.EXE、IMDSKSVC.EXE 加入到 SYSTEM32 下,附件中有,也可以从其他已加入 ImDisk 的 PE 中提取

   c)修改 PECMD.INI,加入 ImDisk 虚拟盘
   
EXEC !PECMD.EXE RAMD ImDisk,L1,FAT,Y:,ImDisk

     其中 L1 表示最小 1M,FAT 表示格式化为 FAT 格式(虚拟盘太小,不能格式化为 NTFS 格式),Y 表示盘符,详细信息请参考 PECMD

     注意:ImDisk 格式化需要 FMIFS.DLL 支持,天琴星座的内核中没有 FMIFS.DLL,而是放在了外置程序的 PE_OUTERPART 下面的 COMMON.7Z 中
              所以若想将 Y 盘修改为 ImDisk,请将 FMIFS.DLL 加入到内核

   d)在 PECMD.INI 增加如下内容,以加入 ImDisk 右键支持
`注册IMDISK右键
CALL RegImdRk
`注册IMDISK右键
_SUB RegImdRk
  REGI HKCR\Drive\shell\ImDiskSaveImage\=保存ImDisk虚拟磁盘
  REGI HKCR\Drive\shell\ImDiskSaveImage\command\=rundll32.exe imdisk.cpl,RunDLL_SaveImageFile %L
  REGI HKCR\Drive\shell\ImDiskUnmount\=卸载ImDisk虚拟磁盘
  REGI HKCR\Drive\shell\ImDiskUnmount\command\=rundll32.exe imdisk.cpl,RunDLL_RemoveDevice %L
  REGI HKLM\SOFTWARE\Classes\Ultraiso\shell\ImDiskMountFile\=加载为ImDisk虚拟磁盘
  REGI HKLM\SOFTWARE\Classes\Ultraiso\shell\ImDiskMountFile\command\=rundll32.exe imdisk.cpl,RunDLL_MountFile %L
  REGI HKLM\SOFTWARE\Classes\Winimage\shell\ImDiskMountFile\=加载为ImDisk虚拟磁盘
  REGI HKLM\SOFTWARE\Classes\Winimage\shell\ImDiskMountFile\command\=rundll32.exe imdisk.cpl,RunDLL_MountFile %L
_END


把修改后的 PECMD.INI 替换到内核中

   e)保存修改后的内核 WINPE.ISO,压缩为 WINPE.IS_,修改完毕

6. 修改默认的文件夹视图方式
  a)将 SYSTEM32\CONFIG 下的 DEFAULT,加载到 HKEY_USERS,比如项目名称为 PE

   b)将 HKEY_USERS\PE\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams 导出

   c)将导出文件中关于文件夹视图部分的内容为
"Settings"=hex:08,00,00,00,04,00,00,00,01,00,00,00,00,77,7e,13,73,35,cf,11,ae,\
   69,08,00,2b,2e,12,62,04,00,00,00,01,00,00,00,43,00,00,00


   d)替换为你想要的格式,不同格式对应内容如下
平铺查看
"Settings"=hex:08,00,00,00,06,00,00,00,01,00,00,00,e5,25,f1,65,e1,7b,10,48,ba,\
   9d,d2,71,c8,43,2c,e3,04,00,00,00,1a,00,00,00,43,00,00,00
缩略图查看
"Settings"=hex:08,00,00,00,05,00,00,00,01,00,00,00,90,b2,eb,8b,d0,52,d0,11,b7,\
   f4,00,c0,4f,d7,06,ec,04,00,00,00,07,00,00,00,43,00,00,00
列表查看
"Settings"=hex:09,00,00,00,03,00,00,00,00,00,00,00,e0,a5,1f,0e,73,35,cf,11,ae,\
   69,08,00,2b,2e,12,62,04,00,00,00,01,00,00,00,43,00,00,00
详细信息查看
"Settings"=hex:08,00,00,00,04,00,00,00,01,00,00,00,00,77,7e,13,73,35,cf,11,ae,\
   69,08,00,2b,2e,12,62,04,00,00,00,01,00,00,00,43,00,00,00
图标查看
"Settings"=hex:08,00,00,00,01,00,00,00,01,00,00,00,e0,d0,57,00,73,35,cf,11,ae,\
   69,08,00,2b,2e,12,62,04,00,00,00,20,00,00,00,43,00,00,00


   e)保存文件->导入到注册表->卸载单元->替换到内核

   还有一个简单方法就是在 PECMD.INI 中通过设置注册表数据修改
   如设置为图标查看,在 PECMD.INI 中增加:
REGI HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Settings=@08,00,00,00,01,00,00,00,01,00,00,00,e0,d0,57,00,73,35,cf,11,ae,69,08,00,2b,2e,12,62,04,00,00,00,20,00,00,00,43,00,00,00

其中 @ 后面的内容即为上面列举的 "Settings"=hex: 后面的内容,把续行符 \ 去掉即可

7. 系统盘 X、外置程序盘 Y
   a)PE 启动后系统所用盘符 X,查找相关资料后结论基本是不可修改

   b)外置程序所在虚拟盘由 SETUPREG.HIV 中两个子项定义
HKEY_LOCAL_MACHINE\_PE_\ControlSet001\Services\Ramdriv
HKEY_LOCAL_MACHINE\_PE_\ControlSet001\Enum\Root\UNKNOWN

     其中 HKEY_LOCAL_MACHINE\pe\ControlSet001\Services\Ramdriv\Parameters 下面的
     "DriveLetter"="Y:"  为虚拟盘符,修改后还需要修改 WINPE.INI 中相关内容
     "DiskSize"=dword:00100000 为虚拟盘大小,单位字节,十六进制数 100000
     即为十进制 1048576 = 1024*1024 = 1M


8. PECMD 托盘菜单(没有测试)
   用 Resource Hacker 打开 PECMD.EXE,选择菜单
PECMD托盘菜单.jpg

   托盘菜单默认没有宽屏的分辨率,自己增加或修改后编译脚本->保存

   下图中字符串 10025 为 PE 的超级登录口令的 MD5(需要者自己搜索“字符串 MD5”,网上有生成字符串 MD5 值的网页)
   即使 INI 文件中的 SHEL 命令设置了口令,用这个超级口令依然可以登录 PE
   字符串 10026 定义了一个热键,默认对应设置 800*600 的分辨率
PECMD密码热键.jpg


9. 主配置文件(PECMD.INI)的指定
   加载注册表文件 SETUPREG.HIV,下图的 CmdLine 中指定了主配置文件的路径和文件名
主配置文件定义.jpg

10. 登录画面、壁纸、系统信息及 OEM 信息(没有测试)
   a)WINPE.INI(也有可能在PECMD.INI)中 LOGO 指令后面的图片为“登录画面”

   b)WINPE.INI(也有可能在PECMD.INI)中 WALL 指令后面的图片为“壁纸”

   c)注册号,加载注册表文件 SYSTEM32\CONFIG\SOFTWARE,如下图的 ProductId
注册号.JPG

      这儿应该也可以设置注册用户(RegisteredOwner)和公司(RegisteredOrganization)没有测试和 SHELL32.DLL 中信息的加载顺序如何
   
   d)系统属性常规页的左上角图片和右上角的一些信息可以用  Resource Hacker 打开 SYSTEM32\SYSDM.CPL
      可以看一下位图1,字符串12、13,更多信息请搜索“SYSDM.CPL 修改”

   e)左下角为 OEM 图片的显示位置,做一张170X120左右的BMP文件,文件名指定为 OEMLOGO.BMP,放到 SYSTEM32 目录即可

   f)右下角可以显示 OEM 文字信息按钮,用固定格式写一个文本文件,文件名指定为 OEMINFO.INI,放到 SYSTEM32 目录,格式如下
[General]
Manufacturer=天琴星座
Model=Windows XP SP3 PE
[Support Information]
Line1=版本:090226
Line2=PE DIY

“=”号后面的内容随意修改,Line可以继续增加,更多信息请搜索“XP OEM 信息”

11. 加入 WIM 文件关联
   论坛中两位高手的工具(lxl1638 的 WimTool 和 nn2nn 的 WiMNT)都非常强大且简单易用,下面以 WiMNT 为例说明加入的方法

   a)将 WIMNT.EXE 加入到内核的 SYSTEM32 目录下

   b)在 PECMD.INI 中增加如下内容
`注册WIM文件关联
EXEC !%WS%\WIMNT.EXE /REG /M /MP Y:\WIM  `注册WIM文件与WIMNT关联


   c)注意 PE 中外置程序加载在 Y 的根下
     代码为 WINPE.INI 中的
MOUN %CurDrv%\MINIPE\OP.WIM,Y:,1
ENVI OPDir=Y:\外置程序

由于 WIM 文件的默认挂载目录设置为 Y:\WIM,所以应将外置也挂载到 Y 下的一个目录,如修改为
PATH Y:\PROGRAM  `在 Y 盘根下建立目录 PROGRAM
MOUN %CurDir%\OP.WIM,Y:\PROGRAM,1
ENVI OPDir=Y:\PROGRAM\外置程序


12. 增加搜索各分区根下 PETOOLS 目录文件功能,并在桌面建立快捷方式
     a)在 SYSTEM32 下增加文本文件 PETOOLS.INI,内容为
`生成目标文件的快捷方式
_SUB MAKELINK
  LSTR Drive=%TOOLS%,1
  ENVI V0=%StartMenu%\%Drive%盘PETools
  LINK %V0%\target,%TOOLS%
  EXEC =!CMD /C "COPY "%WINDIR%\SYSTEM32\Desktop.in1" "%V0%\Desktop.ini""
  TEAM SITE %V0%\*.*,+A+H+S|SITE %V0%,+R+S|ENVI V0=
  TEAM FORX %TOOLS%\*.INI,TOOLSINI,0,LOAD %TOOLSINI%|ENVI TOOLSINI=
  `TEAM TEXT %TOOLS%已经被装载到了开始菜单。#0xEE,$20|WAIT 1000|TEXT
  MESS %TOOLS%已经被装载到了开始菜单。@挂载PETOOLS工具 #OK *2000
_END
`搜索PETOOLS目录下文件
FORX @\PETOOLS,TOOLS,0,CALL MAKELINK


     b)在 SYSTEM32 下增加文本文件 DESKTOP.IN1,内容为
[.ShellClassInfo]
CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
Flags=2


    c)在 PECMD.INI 增加建立桌面快捷方式的指令
LINK %Desktop%\搜索装载PETOOLS到开始菜单,PECMD.EXE,LOAD %WS%\PETOOLS.INI,Shell32.dll#45

纯内核启动时可用


二、外置

1. 显卡、声卡、网卡驱动
   大概可以如下修改:
   使用提取工具,提取要加入的驱动,加入到外置程序相应的 cab 包中,如显卡 DRIVERS_VGA.CAB,对应的加载文件为 START_VGA.CMD(这个可能不需要修改)

2. 外置程序
   如增加 WINPM9
   a)使用 WIM 工具可写加载 OP.WIM若为 img 格式的外置程序,先用 ImDisk 可写加载 img 文件,Windows 下可用的 ImDisk 下载地址为 http://www.ltr-data.se/opencode.html

   b)在“外置程序”目录建立新目录“WINPM”,将 WINPM9 的所有文件放到 WINPM 目录

   c)卸载 OP.WIM 并确认更新

   d)在 WINPE.INI 中增加
LINK %Programs%\磁盘光盘工具\Paragon Partition Manager 9.0,%OPDir%\WINPM\Program\launcher.exe,,%OPDir%\WINPM\Program\launcher.ico


需要添加注册表信息的程序可将相关内容添加到“外置程序”下的 REGDOC.CMD 中
不同版本程序的更新可能只需要用新程序覆盖原来的即可



三、DOS 工具
   一般为 img 格式文件,可以用 WinImage 修改或用 ImDisk 加载修改
   DOS 工具的启动顺序为:
   CONFIG.SYS -> AUTOEXEC.BAT(批处理)

   AUTOEXEC.BAT 中可能会再加载其他的批处理文件,用文本编辑工具即可修改这些文件

[ 本帖最后由 wind_fsm 于 2009-6-7 23:12 编辑 ]

点评

www.kekedy.com/korea/bainiandexinniang/ 百年的新娘  发表于 2014-8-19 18:54
回复

使用道具 举报

 楼主| 发表于 2009-4-6 23:43:37 | 显示全部楼层

easyboot 多PE合盘制作过程

easyboot制作的菜单比较美观,制作方面则比grub4dos复杂

下面说一下使用easyboot制作PE合盘的过程(具体文件请参考#1下载中的目录结构):

1. 准备PE文件,以天琴星座(lyra)·Build 20090226为例

    首先请参考“#3 grub4dos 多PE合盘制作过程”的 1~7

    easyboot的特殊之处是不能直接调用 SETUPLDR.BIN,只能调用 PE 的启动文件,然后通过启动文件调用 SETUPLDR.BIN
    下面是启动文件(参考#2)的修改方法:

    a)用UltraISO提取启动文件保存为HYPE.BIN放到BOOT目录,BOOT\LY下面的SETUPLDR.BIN复制一份到BOOT目录改名为LYSETLDR.BIN(想直接调用LY下面的SETUPLDR.BIN,未成功,这样每个PE有两份SETUPLDR.BIN,可以修改grub4dos的菜单也使用BOOT下的这一个)

    b)修改LYPE.BIN中(如图)的SETUPLDR.BIN为LYSETLDR.BIN,修改WXPE为BOOT,都只有一处,完毕
          pe_bif.jpg

2. image文件还是放在BOOT\IMGS下

3. 制作背景图
    制作一个256色,640*480 或者 800*600 的 BMP 文件
    如果你使用 easyboot 中提供的菜单文本而不是图像文本,那这一步就简单了
    如果制作有困难请参考#10

4. 用easyboot 制作菜单
    制作方法请参考 #7 easyboot 菜单制作

5. 制作 ISO 文件
   a)用 easyboot 制作
    点击“制作ISO”,查看其中的目录及文件输入框中的值是否正确,如果正确,点击制作
    这里如果选择了“隐藏启动文件夹”或“隐藏启动文件下的所有文件”则制作完毕后用虚拟光驱加载时会有部分目录不可见,但若用UltraISO打开则全部可见
    制作ISO.jpg

   b)用 UltraISO 制作
    用 UltraISO 新建文件,文件属性参考 “#5 grub4dos 光盘安装”
    加入所有的 PE 文件和 img 文件到相应的路径
    加载引导文件,选择保存主菜单时生成的 loader.bin

[ 本帖最后由 wind_fsm 于 2009-6-8 22:30 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-4-6 23:43:44 | 显示全部楼层

easyboot 菜单制作及 grub4dos/easyboot 菜单互转

1. easyboot 使用简单说明
easyboot启动时会打开一个默认菜单,在这个菜单的基础对easyboot的使用界面做一个简单说明,有的地方一看就很清楚的就没有另加说明
a)文件
    easyboot-文件.jpg
自动装入:启动时自动加载上次操作的菜单文件
菜单类型:启动时要加载的菜单应选主菜单,通过主菜单调用的菜单选子菜单
其实这个地方“主”或“子”的区别就是如果是主菜单那么保存的时候会在菜单所在目录生成一个文件 loader.bin,其中包含了启动时调用的菜单文件名也就是当前菜单的名字(注意这个菜单的名字前缀应该小于等于8个字符,否则不能成功保存,后缀自动默认为ezb),若最终是用easyboot生成 ISO 文件时会自动加载此文件为引导文件并删除菜单目录的这个文件,若最终是用 UltraISO 生成 ISO 文件则需要手动加载此文件为引导文件;如果是子菜单则保存时不会生成文件 loader.bin
制作ISO:弹出一个窗口可以直接制作 ISO 文件,其中的Joliet一般要选择,除非你的文件全部是符合 DOS(8.3)规则的,不过建议用 UltraISO 制作,有更多的选项,如可以在 ISO 9660 文件名格式中选择 Max(221)而不用选Joliet

b)屏幕布局
    easyboot-屏幕布局.jpg
选中任一条目,则该条目在右边的图形中表现为虚线框中的内容,可以通过修改上方的属性改变条目的表现形式,如果在“菜单条”中选择了“使用图像文本”,则这个页面的条目可以全部删除

c)文本显示
    easyboot-文本显示.jpg
就是静态的文字,选中任一条目,则该条目在右边的图形中表现为虚线框中的内容,可以通过修改上方的属性改变条目的表现形式,如果在“菜单条”中选择了“使用图像文本”,则这个页面的条目也可以全部删除,写在背景图上就可以了

d)菜单条
    easyboot-菜单条.jpg
选择右下角的条目可以在上方的输入框修改它的属性,注意如果你不选择使用图像文本(虽然使用图像文本可以定制,好看一些,但比较麻烦)而且菜单项又不是很多的话,请使用 640*480 的背景图,否则字显得太小

菜单项的位置及大小:可以在右下角选中菜单后通过上方的坐标确定,但操作不方便;也可以在右边的图形中使用鼠标调整,但不容易做到所有菜单的高度、宽度一致
感觉二者合用,用坐标调整高度、宽度,然后用鼠标调整位置比较好一些

鼠标调整方法:左键单击选中后可以移动位置,找好左上角位置后再左键单击可以调整右下角位置,调整好后右键结束,若找好左上角位置后直接右键也是结束
                     选中菜单后下方的坐标分别为左上角和右下角的坐标,可以使用此坐标进行对齐,另外可以使用上下左右键进行微调(单像素移动)以准确对齐

如果使用菜单文本,应该是只用上方的坐标调整就比较方便了,使用图像文本时前景色及背景色均不起作用

执行命令:基本可分为3类
               ① run 命令
                   run xxx.img          调用 image 文件(通常为 DOS 工具)
                   run xxx.bin          调用 PE 的启动文件或者 XP 等操作系统安装盘的启动文件(大小为 2k)
                   run xxx.ezb          菜单之间互相调用,xxx.ezb 为调用菜单的文件名
                   使用 run 命令时调用文件的路径可以是绝对路径(以 / 或 \ 开头)也可以使用相对路径(不以 / 或 \ 开头),推荐使用相对路径

               ② boot 命令
                   boot 80           从硬盘启动
                   reboot            重新启动

               ③ bcdw 命令
                   bcdw:poweroff      关机
                   此命令需要菜单文件目录有BCDW.BIN


2. 主菜单(菜单类型选“主菜单”)及子菜单(菜单类型选“子菜单”)制作及调用

a)在硬盘新建目录如 PE 做为光盘的根目录,下面新建一目录如 BOOT 做为菜单的目录

b)运行 easyboot,使用默认菜单或者打开其它的菜单,选择另存为,保存的到刚建立的 BOOT 目录,清除保存的菜单中的无用项

c) 复制背景图、启动文件、img文件到相应的目录

d)建立相应的菜单条

e)调整完毕后保存

主菜单保存时会在 BOOT 目录生成一个 loader.bin 文件,此文件即为光盘的启动文件,其中包含了主菜单所在目录以及主菜单文件名

使用“新建”生成新菜单的方法请自行尝试,很简单却难以描述

主子菜单互相调用时只要在菜单条中使用 run xxx.ezb 即可


3. grub4dos/easyboot 菜单互转

a)grub4dos调用easyboot
在菜单中使用如下命令调用 easyboot 菜单,其中 LOADER.BIN 是 easyboot 启动文件
chainloader --force --raw /BOOT/LOADER.BIN

b)easyboot调用grub4dos
easyboot 不能直接调用 grldr,这里可以使用变通的方法,增加一个中间文件,easyboot 调用 PE 的启动文件,PE 的启动文件再调用 grldr
如: 改名 grldr 为 GRLDR2CD.BIN,复制一个 PE 的启动文件改名为 GRUB.BIN,修改其中关于 SETUPLDR.BIN 和 WXPE 的部分(参考#6)

然后在 easyboot 建一菜单项,使用下面命令即可调用 grub4dos 菜单
run grub.bin



演示文件请参考 #1 附件

效果图
grub4dos 子菜单(主菜单请参考 #1)
grub4dos_menudos.jpg

easyboot 子菜单(主菜单请参考 #1)
easyboot_menudos.jpg

[ 本帖最后由 wind_fsm 于 2009-6-8 22:36 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-4-6 23:43:51 | 显示全部楼层

U盘安装 XP 系统的方法

1. 在DOS下进行GHOST安装
    如合盘中的 “GHOST 备份与恢复” 和 “MaxDOS” 中的 GHOST

2. 启动到PE,运行GHOST32进行GHOST安装

3. 启动到PE,通过虚拟光驱进行安装版XP的安装
    详情参考下面

其他安装方式请参考:
victor888 :打造安全型多功能维护U盘&U盘安装XP方法阐述
hpy7332 :U盘安装光盘版WINXP.ISO的全新方法


下面详细说明一下在启动已集成盘符错乱调整批处理的PE后 安装版 XP SP3 的安装过程,U盘和光盘启动通用
与在 XP 中使用虚拟光驱安装步骤应该一样

1. 将 XP 安装文件(ISO)加载到虚拟光驱

2. 在命令行运行 src\winnt32 /s:src /makelocalsource /syspart:dest /tempdrive:dest /noreboot
   其中 src 替换为安装程序所在路径,如 h:\i386
   dest 替换为要安装 XP 启动文件的分区,如 d

   另请参考附件中的批处理

   此处的 /noreboot(指导“安装程序”在结束文件复制阶段之后不重新启动计算机)可以不加,但在虚拟机测试时自动重启失败,所以干脆加上,手动重启吧
   参数的详细含义及其他参数请在 XP 下运行 i386 下的 winnt32.exe /? 查看

3. 【重要】选择“全新安装”
     这一步没有测试选择“升级”的情况
U盘安装XP1.jpg

4. 接受协议

5. 输入产品密钥

6. 安装选项,直接“下一步”

7. 是否升级到 NTFS,根据需要选择

8. 获得更新的安装程序文件,根据需要选择(一般不要选)

9. 选择“下一步”开始安装

10. 文件复制完毕重启后的安装过程中会提示选择安装到哪个分区


虚拟机中测试结果:

硬盘分区为 C(主分区,活动)、D(主分区)、E(逻辑分区)、F(逻辑分区)、G(U盘,添加到虚拟机中识别为 SCSI 本地硬盘)

1. 命令行中 dest 为 C,重启后选择安装到 C
   安装完毕后:
   所有文件均安装在 C 盘

2. 命令行中 dest 为 D,重启后选中安装到 D
   安装完毕后:
   C盘自动改为不活动,D盘自动改为活动
   AUTOEXEC.BAT、CONFIG.SYS、IO.SYS、MSDOS.SYS、pagefile.sys 在 C盘,前四个文件为 DOS 和老版本 Windows 使用,可以删除
   boot.ini、bootfont.bin、NTDETECT.COM、ntldr(4 个 XP 启动所需的文件)在 D盘
   Documents and Settings、Program Files、WINDOWS(XP 系统目录)在 D盘

3. 命令行中 dest 为 D,重启后选中安装到 E
   安装完毕后:
   C盘自动改为不活动,D盘自动改为活动
   AUTOEXEC.BAT、CONFIG.SYS、IO.SYS、MSDOS.SYS、pagefile.sys 在 C盘
   boot.ini、bootfont.bin、NTDETECT.COM、ntldr 在 D盘
   Documents and Settings、Program Files、WINDOWS 在E盘


启动 PE 后手动调整 U盘盘符为 C,原 C 盘调整为 D,命令行中 dest 为 D,拔下 U盘重启后安装到得盘符没有 C盘,也就是说 U盘占用的 C盘符被保留了,选择安装到 D 盘,也就是硬盘的第一个分区
安装完毕后:系统没有 C盘,盘符的分配与 PE 手动调整后的盘符一样,所以如果 U盘占据前面盘符,安装完毕后盘符会有问题,若占据 C盘应该没有办法调整,若占据其他盘符,可以安装完毕后再手动调整

不过对于没有集成盘符错乱调整批处理的 PE,应该也可以通过手动调整为正确的盘符,然后安装以达到满意的效果

[ 本帖最后由 wind_fsm 于 2009-7-2 15:00 编辑 ]

XP_SETUP.rar

569 Bytes, 下载次数: 1278, 下载积分: 无忧币 -2

回复

使用道具 举报

 楼主| 发表于 2009-4-6 23:43:58 | 显示全部楼层

硬盘(U盘、移动硬盘)MBR、DBR简介

一、几个概念

BIOS(Basic Input/Output System)
基本输入输出系统,全称是ROM-BIOS,是只读存储器基本输入/输出系统的简写,它实际是一组被固化到电脑中,为电脑提供最低级最直接的硬件控制的程序

CMOS(Complementary Metal Oxide Semiconductor)
本意是指互补金属氧化物半导体,一种大规模应用于集成电路芯片制造的原料,在计算机领域,CMOS常指保存计算机基本启动信息(如日期、时间、启动设置等)的芯片。

CMOS 的功耗很低,计算机主板上一个纽扣电池就可以给它长时间地提供电力,即使系统掉电,信息也不会丢失。而当主板电池供电不足时CMOS的信息会丢失,此时启动机器会有一些特殊的现象,如
启动时提示 CMOS 参数丢失需重新设置,甚至机器黑屏,不能启动,更换主板上的纽扣电池即恢复正常


有时人们会把CMOS和BIOS混称,其实CMOS是主板上的一块可读写的RAM芯片,是用来保存BIOS的硬件配置和用户对某些参数的设定。而对CMOS中各项参数的设定要通过专门的程序,现在多数厂家将CMOS设置程序做到了BIOS芯片中,在开机时通过按下某个特定键就可进入CMOS设置程序而非常方便地对系统进行设置,因此这种CMOS设置又通常被叫做BIOS设置。

ESCD(Extended System Configuration Data)
扩展系统配置数据,ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS(一小块特殊的RAM,由主板上的电池来供电)之中,通常ESCD数据只在系统硬件配置发生改变后才会更新

扇区(Sector)
硬盘划分的最小单位,一个扇区固定为 512 个字节(Byte)

MBR(master boot record)
即主引导记录,有时也称主引导扇区。位于整个硬盘的 0 扇区(硬盘的 0~62 即前 63 个扇区为保留扇区,目前只有 MBR 占用其中的第一个或前几个扇区),可以看作是硬盘的第一个扇区,通常只占用这一个扇区,如 XP 的 MBR,grub4dos占用 0~17 共 18 个扇区

DBR(DOS boot record)
即操作系统引导记录区,也称分区的主启动代码,位于分区的第 0 扇区,通常只占用这一个扇区,特殊情况也要占用其它保留扇区,而 grub4dos 如果是写入硬盘 MBR 方式则不修改也不使用 DBR

以 H 结尾或以 0x 开头的数字表示该数字为十六进制数


二、主机启动过程
1. 内部电源打开,初始化,等待一小段时间用来产生稳定的电流。如果主板芯片和 CPU 收到了不符合规定的电流,将自动产生一个RESET信号。在主板没有收到电源的 Power Good 信号之前,重复步骤1

2. 执行 BIOS 中 0FFF0h 处的代码。这里只有一条 JMP 指令,将跳转到真正的 BIOS 启动程序处

3. BIOS 开始加电自检(Power-On Self Test, POST),如果出现错误,启动停止

4. BIOS 开始寻找显卡,找到的话将执行显卡的 BIOS,接着显卡初始化,将显示一段显卡信息,我们开机看到的第一屏就是它

5. BIOS 开始执行所有其他设备的 BIOS,包括软驱,硬盘、光驱等

6. BIOS 显示启动信息

7. BIOS 开始额外的检测。一般有内存检测,如果内存有问题,将显示错误消息

8. BIOS 探测所有的硬件,将显示如硬盘、光驱信息等

9. BIOS 给出一个已知硬件的列表

10. BIOS 更新 ESCD

10. BIOS 按照设置的驱动器顺序找驱动器,如果驱动器存在的话继续找 MBR,如果找不到驱动器,系统显示错误信息并停止

11. MBR 从分区表中找到第一个活动分区(分区描述中第一个字节为 80H),然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责引导系统(如 XP)

步骤11中若为 grub4dos MBR则依次查找各个分区的根目录是否有 grub4dos 的启动文件(通常为 grldr,写入 MBR 时可以指定此文件名),也就是说若是 grub4dos MBR 可以不设置活动分区

上面是打开电源开关(或按Reset键)进行冷启动时的过程,在DOS下按Ctrl+Alt+Del组合键(或从Windows中选择重新启动计算机)来进行热启动时将从步骤8开始


三、硬盘(U盘、移动硬盘)MBR简介
这里用到一个强大的磁盘查看编辑工具 WinHex,可以手动保存和恢复 MBR、DBR

运行 WinHex,选择工具->打开磁盘,如图
opendisk.jpg

其中 HD0 为本机硬盘,RM1 为 U 盘,选择 HD0,确定
disk_hd0.jpg

上方为硬盘的分区情况,下方为硬盘的内容,打开是默认位置在 0 扇区,即上方的“起始扇区”,点击上方的分区即可切换到各分区的起始扇区

完整的 0 扇区(XP 的 MBR)如下
disk_hd0_mbr.jpg

其中 0x0000~0x01FF 即为硬盘的 0 扇区,这个扇区的内容分为 3 部分

第 1 部分(0x0000~0x01BD)446 个字节为完整的 XP MBR,选中这部分内容保存到文件即可作为 MBR 的备份,将此备份内容写入硬盘的 0x0000~0x01BD 位置即可恢复 XP MBR,其中左边可读的部分即为 MBR 找不到活动分区时的错误信息,使用 Paragon Partition Manager、PTDD 磁盘分区表医生等工具均可将硬盘的 MBR 恢复为(写入) XP MBR

第 2 部分(0x01BE~0x01FD)64 个字节为硬盘的分区表(Disk Partition Table, DPT),每 16 个字节描述一个主分区,所以一个硬盘最多可以有 4 个主分区
分区表的每一分区的第 1 个字节是活动标志,其值为80H时,表示该分区是当前活动分区,可引导,其值为00H时,表示该分区不可引导

第 3 部分(0x01FE~0x01FF)2 个字节“55 AA”是分区有效结束标志

下图为 grub4dos MBR 的第一个扇区
其他扇区内容请参考附件
grub4dos_mbr0.jpg

其中 0x0003 处一个字节为启动时等待按键的延时,图中为 0x06 就是 6 秒


四、硬盘(U盘、移动硬盘)DBR简介
没有深入研究 DBR 到底占用几个扇区,对于 ntldr 的 DBR,用 WinHex 查看时可以看到 ntfs 分区的前 7 个扇区有内容,fat32 前 3 个扇区有内容,不同的分区软件可能会有不同,有兴趣者可以试试先将有内容的前几个扇区保存为文件,然后清除第 1 个扇区(分区的 0 扇区)之外的其他扇区的内容(用 0 填充,可以用 U 盘或者光盘启动 PE 再用 WinHex 恢复),若能正常启动表示只用第 1 个扇区即可,否则后面的内容也是有效内容

NTBOOT.EXE(#1附件中有) 可以修复 ntldr 的 DBR
Bootsect.exe(好像 vista 安装盘中有,没有使用过) 可以修复 bootmgr 和 ntldr 的 DBR,微软官方说法:Bootsect.exe 更新硬盘分区的主启动代码以在 BOOTMGR 和 NTLDR 之间切换。可以使用此工具还原计算机上的启动扇区。此工具会替换 FixFAT 和 FixNTFS
这两个工具都是只能修改 DBR,而不能修改 MBR

下面是 ntfs 分区中 ntldr DBR 的第一个扇区(用 XP 做的分区)
ntfs_dbr0.jpg

其中左边可读的部分即为 DBR 在分区根目录找不到 ntldr 文件时的错误信息,最后两个字节“55 AA”是分区有效结束标志

下面是 fat32 分区中 ntldr DBR 的第一个扇区(用Paragon Partition Manager做的分区)
fat32_dbr0.jpg


五、使用 WinHex 保存或写入磁盘

写入操作具有一定危险性,请慎用

保存磁盘的前 63 (0~62)个扇区的内容到文件
1. 计算 62 扇区的结束位置为 63*512 - 1=32555=0x7DFF

2. 在十六进制代码区右键选择编辑->定义选区,输入开始 0,结束 7DFF,确定
如果只保存当前扇区,右键选择编辑->复制扇区->至新文件即可
winhex_save1.jpg

3. 右键选择编辑->复制选块->至新文件,若复制到剪贴板则右键选择编辑->复制选块->正常


将硬盘中的 XP MBR 复制到 U 盘

1. 选中硬盘 0 扇区的 0x0000~0x01BD,右键选择编辑->复制选块->正常
    注意不可以选中整个扇区,否则会覆盖 U 盘(目标盘)的分区表

2. 将光标移至 U 盘的 0x0000 处,如下图
winhex_write1.jpg

3. 右键选择编辑->剪贴板数据->写入,此时会提示写入的偏移地址,注意检查偏移地址是否正确
winhex_write2.jpg

4. 还有可能会提示选择剪贴板格式,选择 ASCII Hex,如果用这种格式写入不正确,试试选择别的格式
winhex_write3.jpg

5. 如果写入正确,选择保存,否则选择撤销(Ctrl+Z)

[ 本帖最后由 wind_fsm 于 2009-5-9 04:07 编辑 ]

mbr.rar

7.08 KB, 下载次数: 1124, 下载积分: 无忧币 -2

回复

使用道具 举报

 楼主| 发表于 2009-4-6 23:44:08 | 显示全部楼层

easyboot 背景图制作

PS新手请参考:
1. 选择自己喜欢的图片
   用PS压缩为800*600或剪切其中的800*600大小的一块(如果你的图片大小就是800*600那这一步就可以省略了),这一步用ACDSee或系统自带的画图也可以实现,下面说明PS的制作方法
   a)压缩方法:打开一张大图(小图放大也一样),选择图像->图像大小,按像素调整宽度和高度
       ps缩放.jpg

   b)剪切方法:
      b1)打开一张大图,在工具栏中选择矩形选框工具,上方选项中的样式选择固定大小,宽度输入800px,高度输入600px
      b2)在图片中左键点击生成矩形选框,拖动此选框以选中你需要的部分
       ps剪切1.jpg
      b3)选择编辑->拷贝(Ctrl+C),选择文件->新建,注意预设中选择剪贴板(默认就是),选择编辑->粘贴(Ctrl+V)
       ps剪切2.jpg

2. 使用自己喜欢的字体、颜色写入菜单,调整对齐和间距(这一步也可以用ACDSee或Windows的画图实现,麻烦一点而已)
   a)写菜单,注意先不要合并图层
   b)调整对齐和间距,在工具栏中选择移动工具,在图层列表中选择要调整的图层(按住Ctrl或Shift可以多选)
   c)在上方的工具栏中选择左对齐、垂直居中分布
       ps菜单.jpg

3. 如果你还想以后再修改的话就先保存为psd文件,否则进行下一步

4. 关键一步:保存为256色bmp文件
   可以用PS一步到位,也可以选用ACDSee修正
   a)使用PS一步到位:选择图像->模式->索引颜色->确定,选项如图->确定,文件->存储为->bmp格式->保存->文件格式选Windows,深度选8位(也没有别的选择)->确定
       ps索引颜色.jpg
   b)ACDSee修正法:PS中文件->存储为->bmp格式->保存->默认->确定,ACDSee完整查看器打开选择更改->更改色深->256色,选择文件->保存
        注意PS中应选择“存储为”,若错选了“存储”,请在历史中回退重新存储,以免错误覆盖已保存的PSD文件

后附菜单psd文件,供参考

[ 本帖最后由 wind_fsm 于 2009-5-27 22:40 编辑 ]

MENU_PSD.part01.rar

244.14 KB, 下载次数: 2219, 下载积分: 无忧币 -2

MENU_PSD.part02.rar

244.14 KB, 下载次数: 1916, 下载积分: 无忧币 -2

MENU_PSD.part03.rar

244.14 KB, 下载次数: 1951, 下载积分: 无忧币 -2

MENU_PSD.part04.rar

244.14 KB, 下载次数: 1958, 下载积分: 无忧币 -2

MENU_PSD.part05.rar

244.14 KB, 下载次数: 1958, 下载积分: 无忧币 -2

MENU_PSD.part06.rar

97.32 KB, 下载次数: 1635, 下载积分: 无忧币 -2

点评

混沌剑神 www.aoswx.com/book/991.html 永生之门www.gmwxw.com/book/4185.html  发表于 2014-9-26 14:50
回复

使用道具 举报

发表于 2009-4-7 07:33:56 | 显示全部楼层
自己灌这么多水干吗?
回复

使用道具 举报

发表于 2009-4-7 08:06:23 | 显示全部楼层
估计是预留位置待补
不完全算灌水
回复

使用道具 举报

发表于 2009-4-7 10:16:13 | 显示全部楼层
我期待他的分步,虚位以待,分享中。。。
回复

使用道具 举报

发表于 2009-4-7 10:59:33 | 显示全部楼层
原帖由 yewuqiu 于 2009-4-7 08:06 发表
估计是预留位置待补
不完全算灌水

确是如此, 每楼的水管内容都不一样, 应该是后续的制作分步教程

期待学习.
回复

使用道具 举报

发表于 2009-4-7 12:46:36 | 显示全部楼层
确实很好的了 支持了!~
回复

使用道具 举报

发表于 2009-4-7 13:04:30 | 显示全部楼层
可以回帖了吗?一个小时到了吗









回复

使用道具 举报

发表于 2009-4-7 16:55:44 | 显示全部楼层
支持!我们热切地期待中!
回复

使用道具 举报

发表于 2009-4-8 01:32:29 | 显示全部楼层
回复

使用道具 举报

发表于 2009-4-8 10:04:42 | 显示全部楼层
原帖由 luoweihj 于 2009-4-8 01:32 发表
这个http://www.rayfile.com/files/02a ... -88eb-0019d11a795f/下载太慢了

呵呵,确实如此,我挂了两天了,还是50%!
回复

使用道具 举报

发表于 2009-4-8 10:32:07 | 显示全部楼层
grub4dos U盘、移动硬盘安装 教程明细有没有?
回复

使用道具 举报

发表于 2009-4-9 14:20:20 | 显示全部楼层
期待~~~~~~~学习.
回复

使用道具 举报

发表于 2009-4-10 16:31:28 | 显示全部楼层
期待LZ的更新,最近正研究这个呢,向LZ多多学习
回复

使用道具 举报

发表于 2009-4-10 21:53:27 | 显示全部楼层
照做了一个,已成功,但更新其中一个pe要怎样做?
回复

使用道具 举报

 楼主| 发表于 2009-4-11 00:26:44 | 显示全部楼层

回复 #23 zjjxh 的帖子

如果只是更新版本,那么更新菜单项和相关的文件就可以了
如果更换为别的PE,则需要更改菜单项,将原PE的文件删除,换为新PE的相应文件

不知道我对你的提问理解的对不对
回复

使用道具 举报

 楼主| 发表于 2009-4-11 00:35:44 | 显示全部楼层
关于完整包下载慢的问题,我觉得可以到zhaohj与wxcwm2提供的FTP空间(速度非常快,只是我做的合集不能放上去,全是其他高手的东西,没有自己的技术,又太大)下载相关的PE,然后下载附件中的目录结构,自己复制其中的外置程序覆盖,只是内核需要自己重做

再就是大家觉得那个免费的网盘比较快,可以上传大文件,我可以在那儿放一份
回复

使用道具 举报

发表于 2009-4-11 10:03:50 | 显示全部楼层
原帖由 wind_fsm 于 2009-4-11 00:26 发表
如果只是更新版本,那么更新菜单项和相关的文件就可以了
如果更换为别的PE,则需要更改菜单项,将原PE的文件删除,换为新PE的相应文件

不知道我对你的提问理解的对不对


是这样的,谢谢!!
    不过是我太菜了,做不好(如我更新了水版的6.99为6.99F,菜单改好了,更换了里面的三个同名文件,启动时进了pe但进不了外置)
回复

使用道具 举报

 楼主| 发表于 2009-4-11 11:54:58 | 显示全部楼层
WINPE.IS_、WINPE.INI需要修改(详细方法在#3),建议你看一遍教程,重点是#2、#3
回复

使用道具 举报

发表于 2009-4-11 15:44:45 | 显示全部楼层
好的,我去好好学习一下,谢谢回复!!!
回复

使用道具 举报

发表于 2009-4-11 20:03:11 | 显示全部楼层
支持!好好学习一下,谢谢!
回复

使用道具 举报

发表于 2009-4-12 03:00:12 | 显示全部楼层
请教一下楼主:无忧纵横逍遥YY之2003PE的ISO目录下只有一个《无忧》的文件夹,请问是怎样修改的?不知道那个2KB的引导文件修改后放在哪里?请说具体点。谢谢了!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-1 10:31

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表