查看: 45733|回复: 65

[20121119] 天意U盘维护系统 不完全DIY手册 [在线版]

  [复制链接]
发表于 2012-11-19 20:07:59 | 显示全部楼层 |阅读模式
本帖最后由 ray111 于 2012-11-21 15:49 编辑


目录

第一章 天意U盘维护系统 DIY版 使用说明  --> 2楼
    1.1 天意U盘维护系统DIY版简要
    1.2 批处理中能够自由定义的变量
    1.3 修改自定义变量后,还需要修改的GRLDR内置菜单中相应的变量
    1.4 START DIY.BAT批处理的限制性
    1.5(暂用) DIY版文件结构说明
    1.5 部署方法  -->3楼
        1.5.1 U+方法
        1.5.2 B+方法
        1.5.3 UD区”一格一拖”方法

第二章 WINPE的引导启动过程  -->4楼
    1. PE1.x的引导过程
    2. PE2.x-PE4.0的引导过程

第三章 天意各PE的引导启动过程  -->5楼
    3.1 天意 Windows Server 2K3 PE的引导启动过程
    3.2 天意 Windows Server 2K3 NativePE的引导启动过程
    3.3 天意 Windows 7 PE的引导启动过程

第四章 天意PE进入到启动界面后 加载并进入桌面的过程  -->6楼
4.1一般WINPE加载进入桌面的过程,比较笼统
4.2天意PE加载进入桌面的过程,详细的

第五章 天意PE之UD转ISO的详细说明  -->7楼
    5.1 天意2K3 PE引导文件修改
    5.2 天意2K3 Native PE引导文件修改
    5.3 天意Win 7 PE 引导文件修改
    5.4 天意UD原版各PE加载EXE和挂载WIM详解  -->8楼
    5.5 修改天意各PE的PECMD.INI配置文件加载扩展内核和外置程序  -->9楼
        5.5.1 准备工作
        5.5.2 获取扩展内核和外置程序所在文件夹
        5.5.3 加载扩展内核的编写方法
        5.5.4 挂载外置程序的编写方法
        5.5.5 打包各PE核心
    5.6 天意PE中其他配置文件的修改  -->10楼
        5.6.1 准备工作
        5.6.2 修改net.ini配置文件
        5.6.3 修改win7net.ini配置文件
        5.6.4 修改sogou.ini配置文件
        5.6.5 修改万能显卡.ini配置文件
        5.6.6 重新捕获basic.wim映像
    5.7 修改GRUB菜单  -->11楼
    5.8 制作天意合盘ISO镜像  -->12楼

DOC版本下载: http://pan.baidu.com/share/link?shareid=144806&uk=218387942

转载 请注明 转自 天意U盘维护系统

 楼主| 发表于 2012-11-19 20:08:05 | 显示全部楼层
本帖最后由 ray111 于 2012-11-20 10:42 编辑


第五章 天意PE之UD转ISO的详细说明

由于本DIY版是基于原版网络增强版(UD版)进行修改制作的,所以就会涉及到整个转换过程中我们需要修改的文件,这里我会重点对这些需要修改的文件进行详细的实例说明.


首先看一下,天意网络增强版原版的目录树状图:

  1. ty.fba
  2. ├─BOOT
  3. │ ├─GRUB
  4. │ │ ├─MENUS
  5. │ │ │ ├─DOS_TOOLS.LST
  6. │ │ │ ├─E820CYCLES_PE
  7. │ │ │ ├─MENU.LST
  8. │ │ │ ├─PE_TY03.LST
  9. │ │ │ ├─PE_TYN3.LST
  10. │ │ │ └─RUN.LST
  11. │ │ ├─F6IMG
  12. │ │ ├─MESSAGE
  13. │ │ ├─RUN
  14. │ │ └─USB_ACC.0PE
  15. │ ├─IMGS
  16. │ │ ├─FIRADISK.IMG
  17. │ │ ├─MAXDOS.IMG
  18. │ │ ├─memtest.bin
  19. │ │ ├─NTBOOT.ISO
  20. │ │ └─okdos.ima
  21. │ ├─bzImage
  22. │ ├─myud
  23. │ └─rootfs.gz
  24. ├─PETOOLS
  25. │ ├─driver
  26. │ │ ├─DRIVERS_NET.CAB
  27. │ │ ├─DRIVERS_NET_WIRELESS.CAB
  28. │ │ ├─Favorites.7z
  29. │ │ ├─INFCACHEBUILD.EXE
  30. │ │ ├─NET_PART.7Z
  31. │ │ ├─net_serv.ini
  32. │ │ └─万能显卡驱动.exe
  33. │ ├─drv7
  34. │ │ ├─DRIVERS_NET.CAB
  35. │ │ ├─DRIVERS_NET_WIRELESS.CAB
  36. │ │ ├─INST_NET.INI
  37. │ │ ├─NET_PART.7z
  38. │ │ ├─opera.exe
  39. │ │ ├─ShareServer.7z
  40. │ │ ├─Wireless.7z
  41. │ │ ├─wx_lst.ini
  42. │ │ └─yx_lst.ini
  43. │ ├─SOGOU
  44. │ │ ├─SOGOU.7z
  45. │ │ └─SOGOU.CMD
  46. │ ├─all.exe
  47. │ ├─basic.wim
  48. │ ├─net.wim
  49. │ ├─sys7.exe
  50. │ └─SYSTEM.exe
  51. ├─SRS
  52. │ ├─0E11.lzma
  53. │ ├─1000.lzma
  54. │ ├─1039.lzma
  55. │ ├─103C.lzma
  56. │ ├─104B.lzma
  57. │ ├─1095.lzma
  58. │ ├─1106.lzma
  59. │ ├─11AB.lzma
  60. │ ├─197B.lzma
  61. │ ├─8086.LZMA
  62. │ ├─9005.lzma
  63. │ ├─AMD.lzma
  64. │ ├─BCM.lzma
  65. │ └─OTHER.lzma
  66. ├─TY03
  67. │ └─WINPE.ISO
  68. ├─TYN3
  69. │ ├─NVPE.ISO
  70. │ └─TYPE.ISO
  71. ├─TYW7
  72. │ └─WIN7PE.ISO
  73. └─GRLDR
复制代码

接着是UD转ISO后的目录树状图如下:

  1. ty.iso
  2. ├─BOOT
  3. │ ├─GRUB
  4. │ │ ├─F6IMG
  5. │ │ ├─MESSAGE
  6. │ │ ├─RUN
  7. │ │ ├─RUN.LST
  8. │ │ └─USB_ACC.0PE
  9. │ ├─IMGS
  10. │ │ ├─FIRADISK.IMG
  11. │ │ ├─MAXDOS.IMG
  12. │ │ ├─memtest.bin
  13. │ │ ├─NTBOOT.ISO
  14. │ │ └─okdos.ima
  15. │ ├─bzImage
  16. │ ├─FON.BIN
  17. │ ├─NTDETEC
  18. │ └─rootfs.gz
  19. ├─PETOOLS
  20. │ ├─driver
  21. │ │ ├─DRIVERS_NET.CAB
  22. │ │ ├─DRIVERS_NET_WIRELESS.CAB
  23. │ │ ├─Favorites.7z
  24. │ │ ├─INFCACHEBUILD.EXE
  25. │ │ ├─NET_PART.7Z
  26. │ │ ├─net_serv.ini
  27. │ │ └─万能显卡驱动.exe
  28. │ ├─drv7
  29. │ │ ├─DRIVERS_NET.CAB
  30. │ │ ├─DRIVERS_NET_WIRELESS.CAB
  31. │ │ ├─INST_NET.INI
  32. │ │ ├─NET_PART.7z
  33. │ │ ├─opera.exe
  34. │ │ ├─ShareServer.7z
  35. │ │ ├─Wireless.7z
  36. │ │ ├─wx_lst.ini
  37. │ │ └─yx_lst.ini
  38. │ ├─SOGOU
  39. │ │ ├─SOGOU.7z
  40. │ │ └─SOGOU.CMD
  41. │ ├─all.exe
  42. │ ├─basic.wim
  43. │ ├─net.wim
  44. │ ├─sys7.exe
  45. │ └─SYSTEM.exe
  46. ├─SRS
  47. │ ├─0E11.lzma
  48. │ ├─1000.lzma
  49. │ ├─1039.lzma
  50. │ ├─103C.lzma
  51. │ ├─104B.lzma
  52. │ ├─1095.lzma
  53. │ ├─1106.lzma
  54. │ ├─11AB.lzma
  55. │ ├─197B.lzma
  56. │ ├─8086.LZMA
  57. │ ├─9005.lzma
  58. │ ├─AMD.lzma
  59. │ ├─BCM.lzma
  60. │ └─OTHER.lzma
  61. ├─TY03
  62. │ ├─SETUPLDR.BIN
  63. │ ├─type
  64. │ └─TYPE.IS_
  65. ├─TYN3
  66. │ ├─03PE.wim
  67. │ ├─SETUPLDR.BIN
  68. │ ├─type
  69. │ └─TYPE.IM_
  70. ├─TYW7
  71. │ ├─BCD
  72. │ ├─boot.sdi
  73. │ ├─BOOTMGR
  74. │ └─TYW7.WIM
  75. └─GRLDR
复制代码

最后来个一目了然的对比图:



从对比图中我们可以看出,PE散列分布的ISO版其实就是把UD版BOOT文件夹里的各个PE ISO(WINPE.ISO, NVPE.ISO, WIN7PE.ISO)解压到其根目录(TY03, TYN3, TYW7文件夹中),然后修改各引导文件制作而成的.


下面我将剖析天意U盘维护系统 UD版转ISO版制作的整个过程,成品ISO将与对比图中右边根目录树状图一样.


OK,首先我们先把FBA文件中的所有文件提取到一个空的文件夹中(我这里是D:\del\ty56_tmp\,此为ISO的根目录).



准备工作完成后,接下来就开始先处理天意Windows Server 2003 PE的引导文件.



5.1 天意2K3 PE引导文件修改

解压BOOT\WINPE.ISO到根目录TY03文件夹中, 把WINNT.TPE改名为type, 移动NTDETECT.COM到BOOT文件夹中,并改名为NTDETEC, 删除BOOT\WINPE.ISO,最终TY03文件夹的内容如下图:



TY03文件夹需要修改的引导文件有两个:


<File1>. SETUPLDR.BIN


<File2>. type



5.1.1 修改SETUPLDR.BIN ---- 指定NTDETEC所在路径


使用HxD打开SETUPLDR.BIN,跳转到3E189处,并修改3处与ntdetect.com相关的地方:


修改前:



修改后:



修改完后保存,即完成了指定NTDETEC所在位置.注意指定最后一处NTDETEC的路径时,原来多余的字节将光标放在十六进制代码处用 00 填充.


接下来我们继续修改SETUPLDR.BIN.



5.1.2修改SETUPLDR.BIN ---- 指定type所在路径


HxD -> 菜单栏[搜索] -> 替换, 替换所有WINNT.TPE字符串为ty03\type字符串.



第1处和第2处分别在2A356和2A362.修改前:



修改后:



第3处在2A430.修改前:



修改后:



第4处在2A4AE.修改前:



修改后:



第5处和第6处分别在2A66E和2A67A.修改前:



修改后:



第7处、第8处和最后一处分别在4161B、4163F和41662.修改前:



修改后:



修改完后保存,即完成了指定type所在位置.


接下来还差个指定TYPE.IS_ PE内核文件的所在位置了.



5.1.3 修改type ---- 指定 TYPE.IS_所在路径


使用记事本打开type文件,下面的/rdpath=后面的路径指定为TY03\TYPE.IS_即完成修改.


修改后如下图:



到这天意Win 2K3 PE的引导文件就修改完成了,接下来就开始修改2K3 Native PE的引导文件了,大家吸收完上面的内容了吗!



5.2 天意2K3 Native PE引导文件修改

天意2k3 Native PE与2k3 PE的修改方法相似,由于NativePE比普通PE需要多加载一个2级内核,所以我们还需要指定2级内核的所在位置.


首先我们的第一步还是一样,解压NVPE.ISO和TYPE.ISO里的所有文件到根目录TYN3文件夹中,删除NTDETECT.COM和readme.txt,修改WINNT.TPE的文件名为type,最终TYN3文件夹下的所有文件如下图:



提醒: 由于在制作2k3 PE时已经把NTDETECT.COM文件移动到了BOOT文件夹中,并更名为NTDETEC, 2k3 PE与2k3 Native PE共用一个NTDETEC文件即可,所以此处可以删除!


TYN3目录下需要修改的文件有3个:


<File1>. SETUPLDR.BIN


<File2>. type


<File3>. NATIVE.CFG <- TYPE.IM_


由于修改方法相似,只是要把”ty03”字符串更改为”tyn3”而已,请参考5.1来指定NTDETEC、type和TYPE.IM_的所在位置.而不同的地方则是需要修改TYPE.IM_里面的NATIVE.CFG文件来指定2级内核03pe.wim的所在路径.



5.2.1 修改type文件后,内容如下图:




5.2.2 修改NATIVE.CFG文件 ---- 指定03pe.wim所在路径


首先我们先要提取TYPE.IM_中的NATIVE.CFG文件,再做修改,最后再重新打包制作TYPE.IM_:


>. 解压TYPE.IM_得到TYPE.IMG,删除TYPE.IM_


>. 使用WinImage打开TYPE.IMG(当然你也可以使用VDM或ImDisk来修改),右键选中NATIVE.CFG,在弹出的菜单中选择”提取”, 把NATIVE.CFG提取到任意文件夹中.



>. 使用记事本打开NATIVE.CFG文件,修改成下图内容:



>. 使用WinImage打开TYPE.IMG,替换NATIVE.CFG文件为刚修改的NATIVE.CFG文件,保存TYPE.IMG.(此时刚修改的NATIVE.CFG文件已经无用,可以删除)


>. CAB压缩TYPE.IMG为TYPE.IM_,使用如下命令.


注意: 建议先确认一下是否还存在旧的TYPE.IM_文件,如果存在则删除!

  1. REM 进入到TYPE.IMG所在路径(我的路径是D:\del\ty56_tmp\TYN3)
  2. Pushd D:\del\ty56_tmp\TYN3
  3. REM CAB最大压缩TYPE.IMG为TYPE.IM_
  4. MAKECAB /v3 /d CompressionType=LZX /d CompressionMemory=21 "TYPE.IMG"
复制代码

OK,天意2k3 Native PE的引导文件已修改完毕!



5.3 天意Win 7 PE 引导文件修改

由于nt6.x内核PE的BOOTMGR很难(但是有方法,请看扩展阅读)修改指定相关文件的路径,而且还有checksum校验,而可以轻易修改的只有nt6.0内核PE的BOOTMGR(即Vista SP0的BOOTMGR文件),所以这里我们不使用WIN7PE.ISO解压后得到的BOOTMGR文件,而使用Vista SP0的BOOTMGR替换,除此之外还要删除原BCD文件,然后重新创建一个BCD,最后还要把BOOT.WIM改名为TYW7.WIM,所以TYW7文件夹中暂时就3个文件: BOOTMGR(Vista SP0版)、BOOT.SDI和TYW7.WIM(Win7PE内核文件)



还是先列出需要修改的引导文件:


<File1>. BOOTMGR


<File2>. BCD (重新创建)



5.3.1 修改 BOOTMGR ----去除checksum校验和指定BCD所在路径


首先我们先去除checksum校验,使用HxD打开BOOTMGR,跳转到0xE28处,把”74 03”改为”EB 08 (或 EB 1A)”.修改前:



修改后:



这样修改后就去除了checksum校验,然后我们还要指定BCD所在路径.修改前:



修改后:



注意: 不要把”00”替换为空格符了!


到此已经完成了BOOTMGR的修改.



5.3.2 创建BCD ----指定TYW7.WIM和boot.sdi所在路径和解决数字签名验证问题


提醒: 创建BCD需要以管理员方式打开CMD!


我将使用命令行来创建,可能会有点复杂.如果你要问我为什么要用命令行来创建,那是因为命令行创建出来的BCD只有12kb!

  1. REM 创建BCD文件
  2. bcdedit /createstore .\BCD
  3. bcdedit /store .\BCD /create {bootmgr} /d "Windows Loader Manager"
  4. bcdedit /store .\BCD /set {bootmgr} device boot
  5. bcdedit /store .\BCD /set {bootmgr} locale zh-CN

  6. REM 创建Ramdisk选项,指定BOOT.SDI所在路径
  7. bcdedit /store .\BCD /create {ramdiskoptions} /d "Ramdisk options"
  8. bcdedit /store .\BCD /set {ramdiskoptions} ramdisksdidevice boot
  9. bcdedit /store .\BCD /set {ramdiskoptions} ramdisksdipath \TYW7\boot.sdi

  10. REM 创建Win 7 PE 启动项
  11. REM 当以下命令执行完后将会生成一个含有UUID的启动项,下面需要用到这个UUID
  12. bcdedit /store .\BCD /create /D "[01] Win7 PE" /application osloader
  13. REM 获取上面命令执行后的UUID,并替换下面命令中{!!--uuid--!!}
  14. bcdedit /store .\BCD /default {!!--uuid--!!}
  15. bcdedit /store .\BCD /displayorder {default}
  16. REM 指定TYW7.WIM所在路径
  17. bcdedit /store .\BCD /set {default} device ramdisk=[boot]\TYW7\TYW7.WIM,{ramdiskoptions}
  18. bcdedit /store .\BCD /set {default} osdevice ramdisk=[boot]\TYW7\TYW7.WIM,{ramdiskoptions}
  19. bcdedit /store .\BCD /set {default} path \windows\system32\boot\winload.exe
  20. bcdedit /store .\BCD /set {default} locale zh-CN
  21. bcdedit /store .\BCD /set {default} systemroot \windows
  22. bcdedit /store .\BCD /set {default} detecthal Yes
  23. bcdedit /store .\BCD /set {default} winpe Yes

  24. REM 去除数字签名验证
  25. bcdedit /store .\BCD /set {bootmgr} nointegritychecks yes
复制代码


---- 参考来自《创建12k bcd 方法


TYW7的目录文件最终如图所示:



提醒: 修改BCD时产生BCD.log临时文件,该文件是隐藏的,删除该文件!


到此天意Win 7 PE的相关引导文件的修改也就完成了.



---- 扩展阅读:


BOOTMGR破解,可自由修改: BOOT\BCD


重命名BCD,修改BOOTMGR的方法,通过不同的BCD文件来实现直接启动不同的系统


接下来要讲解一下UD原版天意各PE的PECMD.INI配置文件中关于加载EXE和挂载WIM部分的代码,然后再对UD转ISO后PE加载进入桌面的PECMD.INI配置文件的修改方法进行说明.


回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2012-11-19 20:08:00 | 显示全部楼层
本帖最后由 ray111 于 2012-11-19 20:59 编辑


《天意U盘维护系统 DIY版》是基于天意兄的《天意U盘维护系统 网络增强版》,所以批处理制作出来的PE文件内容将有98%是相同的,不同的内容将会在下面手册中说明.


由于能力有限和时间的不充裕,并没有深入PE的制作,现在只是能够修改某些PE的内容,为了把会使误导的内容降到最低,决定该DIY手册不会说明太多制作PE的相关原理,所以取名"不完全DIY手册".


该手册将会与"天意U盘维护系统 DIY版"捆绑发布,同时也作为"天意U盘维护系统 DIY版"的DIY使用说明.制作ISO成品的部分过程由"天意U盘维护系统 DIY版"自带的批处理来完成,减少人工制作所浪费的时间.由于该批处理的功能并不强大,某些地方还需要手工修改,现只能实现半自动制作ISO成品,计划后期会改用C\C++编写制作ISO成品的工具,实现完全自动化制作!


以下内容如有表述不准确和内容不全面,恳请各位批评指正.



第一章 天意U盘维护系统 DIY版 使用说明


相关自定义:
  • 【选项1】: 创建PE文件以散列分布的ISO镜像
  • 【选项2】: 创建PE文件以MAP ISO方式启动的ISO镜像
  • 【选项3】: 生成可存放于UD区的全部文件
  • 【选项4】: 只生成Windows Server 2003 PE的ISO镜像
  • 【选项5】: 只生成Windows Server 2003 Native PE的ISO镜像
  • 【选项6】: 只生成Windows 7 PE的镜像
  • 【选项7】: 支持论坛发展


1.1 天意U盘维护系统DIY版简要

这个版本主要的特点是可以自定义各PE所在的路径, 方便合盘,除此之外还可以做U+、B+、量产和UD等(安装到硬盘).


先从”START DIY.BAT”这个批处理开始说起,这个是”天意U盘维护系统 DIY版”的一个核心文件,这个批处理可以自定义外置程序文件夹位置,还可以自定义各个PE的所在文件夹位置,但是其限制性也表现得非常明显,例如该批处理修改不了GRLDR内置菜单,再例如无法修改PE的引导文件等等其他限制性.



【选项1】: 默认情况下制作出来的2k3 PE相关文件散列存放在TY03文件夹, 2k3 Native PE相关文件散列存放在TYN3文件夹, Win 7 PE相关文件散列存放在TYW7文件夹,外置程序相关文件存放在PETOOLS文件夹,其他文件与UD原版路径相同, ISO根目录树如图:

  1. ty.iso
  2. ├─BOOT
  3. │ ├─GRUB
  4. │ │ ├─MENUS
  5. │ │ │ ├─DOS_TOOLS.LST
  6. │ │ │ ├─E820CYCLES_PE
  7. │ │ │ ├─MENU.LST
  8. │ │ │ ├─PE_TY03.LST
  9. │ │ │ ├─PE_TYN3.LST
  10. │ │ │ └─RUN.LST
  11. │ │ ├─F6IMG
  12. │ │ ├─MESSAGE
  13. │ │ ├─RUN
  14. │ │ └─USB_ACC.0PE
  15. │ ├─IMGS
  16. │ │ ├─FIRADISK.IMG
  17. │ │ ├─MAXDOS.IMG
  18. │ │ ├─memtest.bin
  19. │ │ ├─NTBOOT.ISO
  20. │ │ └─okdos.ima
  21. │ ├─bzImage
  22. │ ├─FON.BIN
  23. │ ├─mycd
  24. │ ├─NTDETEC
  25. │ └─rootfs.gz
  26. ├─PETOOLS
  27. │ ├─driver
  28. │ │ ├─DRIVERS_NET.CAB
  29. │ │ ├─DRIVERS_NET_WIRELESS.CAB
  30. │ │ ├─Favorites.7z
  31. │ │ ├─INFCACHEBUILD.EXE
  32. │ │ ├─NET_PART.7Z
  33. │ │ ├─net_serv.ini
  34. │ │ └─万能显卡驱动.exe
  35. │ ├─drv7
  36. │ │ ├─DRIVERS_NET.CAB
  37. │ │ ├─DRIVERS_NET_WIRELESS.CAB
  38. │ │ ├─INST_NET.INI
  39. │ │ ├─NET_PART.7z
  40. │ │ ├─opera.exe
  41. │ │ ├─ShareServer.7z
  42. │ │ ├─Wireless.7z
  43. │ │ ├─wx_lst.ini
  44. │ │ └─yx_lst.ini
  45. │ ├─SOGOU
  46. │ │ ├─SOGOU.7z
  47. │ │ └─SOGOU.CMD
  48. │ ├─all.exe
  49. │ ├─basic.wim
  50. │ ├─net.wim
  51. │ ├─sys7.exe
  52. │ └─SYSTEM.exe
  53. ├─SRS
  54. │ ├─0E11.lzma
  55. │ ├─1000.lzma
  56. │ ├─1039.lzma
  57. │ ├─103C.lzma
  58. │ ├─104B.lzma
  59. │ ├─1095.lzma
  60. │ ├─1106.lzma
  61. │ ├─11AB.lzma
  62. │ ├─197B.lzma
  63. │ ├─8086.LZMA
  64. │ ├─9005.lzma
  65. │ ├─AMD.lzma
  66. │ ├─BCM.lzma
  67. │ └─OTHER.lzma
  68. ├─TY03
  69. │ ├─SETUPLDR.BIN
  70. │ ├─type
  71. │ └─TYPE.IS_
  72. ├─TYN3
  73. │ ├─03PE.wim
  74. │ ├─SETUPLDR.BIN
  75. │ ├─type
  76. │ └─TYPE.IM_
  77. ├─TYW7
  78. │ ├─BCD
  79. │ ├─boot.sdi
  80. │ ├─BOOTMGR
  81. │ └─TYW7.WIM
  82. └─GRLDR
复制代码

【选项2】: 默认情况下制作出来的2k3 PE 的ISO镜像(含引导)存放在TY03文件夹, 2k3 Native PE的一级内核(含引导)ISO镜像和2级内核03pe.WIM映像存放在TYN3文件夹, Win 7 PE的ISO镜像(含引导)存放在TYW7文件夹,外置程序相关文件存放在PETOOLS文件夹,其他文件与UD原版路径相同, ISO根目录树如图:

  1. ty.iso
  2. ├─BOOT
  3. │ ├─GRUB
  4. │ │ ├─MENUS
  5. │ │ │ ├─DOS_TOOLS.LST
  6. │ │ │ ├─E820CYCLES_PE
  7. │ │ │ ├─MENU.LST
  8. │ │ │ ├─PE_TY03.LST
  9. │ │ │ ├─PE_TYN3.LST
  10. │ │ │ └─RUN.LST
  11. │ │ ├─F6IMG
  12. │ │ ├─MESSAGE
  13. │ │ ├─RUN
  14. │ │ └─USB_ACC.0PE
  15. │ ├─IMGS
  16. │ │ ├─FIRADISK.IMG
  17. │ │ ├─MAXDOS.IMG
  18. │ │ ├─memtest.bin
  19. │ │ ├─NTBOOT.ISO
  20. │ │ └─okdos.ima
  21. │ ├─bzImage
  22. │ ├─mycd
  23. │ └─rootfs.gz
  24. ├─PETOOLS
  25. │ ├─driver
  26. │ │ ├─DRIVERS_NET.CAB
  27. │ │ ├─DRIVERS_NET_WIRELESS.CAB
  28. │ │ ├─Favorites.7z
  29. │ │ ├─INFCACHEBUILD.EXE
  30. │ │ ├─NET_PART.7Z
  31. │ │ ├─net_serv.ini
  32. │ │ └─万能显卡驱动.exe
  33. │ ├─drv7
  34. │ │ ├─DRIVERS_NET.CAB
  35. │ │ ├─DRIVERS_NET_WIRELESS.CAB
  36. │ │ ├─INST_NET.INI
  37. │ │ ├─NET_PART.7z
  38. │ │ ├─opera.exe
  39. │ │ ├─ShareServer.7z
  40. │ │ ├─Wireless.7z
  41. │ │ ├─wx_lst.ini
  42. │ │ └─yx_lst.ini
  43. │ ├─SOGOU
  44. │ │ ├─SOGOU.7z
  45. │ │ └─SOGOU.CMD
  46. │ ├─all.exe
  47. │ ├─basic.wim
  48. │ ├─net.wim
  49. │ ├─sys7.exe
  50. │ └─SYSTEM.exe
  51. ├─SRS
  52. │ ├─0E11.lzma
  53. │ ├─1000.lzma
  54. │ ├─1039.lzma
  55. │ ├─103C.lzma
  56. │ ├─104B.lzma
  57. │ ├─1095.lzma
  58. │ ├─1106.lzma
  59. │ ├─11AB.lzma
  60. │ ├─197B.lzma
  61. │ ├─8086.LZMA
  62. │ ├─9005.lzma
  63. │ ├─AMD.lzma
  64. │ ├─BCM.lzma
  65. │ └─OTHER.lzma
  66. ├─TY03
  67. │ └─WINPE.ISO
  68. ├─TYN3
  69. │ ├─03PE.wim
  70. │ └─NVPE.ISO
  71. ├─TYW7
  72. │ └─WIN7PE.ISO
  73. └─GRLDR
复制代码

【选项3】: 默认情况下与【选项2】相似,不同在于制作2k3 Native PE 的2级内核时,把03pe.wim打包成TYPE.ISO镜像,其他与【选项2】相同, UD根目录树如图:

  1. ty.fba
  2. ├─BOOT
  3. │ ├─GRUB
  4. │ │ ├─MENUS
  5. │ │ │ ├─DOS_TOOLS.LST
  6. │ │ │ ├─E820CYCLES_PE
  7. │ │ │ ├─MENU.LST
  8. │ │ │ ├─PE_TY03.LST
  9. │ │ │ ├─PE_TYN3.LST
  10. │ │ │ └─RUN.LST
  11. │ │ ├─F6IMG
  12. │ │ ├─MESSAGE
  13. │ │ ├─RUN
  14. │ │ └─USB_ACC.0PE
  15. │ ├─IMGS
  16. │ │ ├─FIRADISK.IMG
  17. │ │ ├─MAXDOS.IMG
  18. │ │ ├─memtest.bin
  19. │ │ ├─NTBOOT.ISO
  20. │ │ └─okdos.ima
  21. │ ├─bzImage
  22. │ ├─myud
  23. │ └─rootfs.gz
  24. ├─PETOOLS
  25. │ ├─driver
  26. │ │ ├─DRIVERS_NET.CAB
  27. │ │ ├─DRIVERS_NET_WIRELESS.CAB
  28. │ │ ├─Favorites.7z
  29. │ │ ├─INFCACHEBUILD.EXE
  30. │ │ ├─NET_PART.7Z
  31. │ │ ├─net_serv.ini
  32. │ │ └─万能显卡驱动.exe
  33. │ ├─drv7
  34. │ │ ├─DRIVERS_NET.CAB
  35. │ │ ├─DRIVERS_NET_WIRELESS.CAB
  36. │ │ ├─INST_NET.INI
  37. │ │ ├─NET_PART.7z
  38. │ │ ├─opera.exe
  39. │ │ ├─ShareServer.7z
  40. │ │ ├─Wireless.7z
  41. │ │ ├─wx_lst.ini
  42. │ │ └─yx_lst.ini
  43. │ ├─SOGOU
  44. │ │ ├─SOGOU.7z
  45. │ │ └─SOGOU.CMD
  46. │ ├─all.exe
  47. │ ├─basic.wim
  48. │ ├─net.wim
  49. │ ├─sys7.exe
  50. │ └─SYSTEM.exe
  51. ├─SRS
  52. │ ├─0E11.lzma
  53. │ ├─1000.lzma
  54. │ ├─1039.lzma
  55. │ ├─103C.lzma
  56. │ ├─104B.lzma
  57. │ ├─1095.lzma
  58. │ ├─1106.lzma
  59. │ ├─11AB.lzma
  60. │ ├─197B.lzma
  61. │ ├─8086.LZMA
  62. │ ├─9005.lzma
  63. │ ├─AMD.lzma
  64. │ ├─BCM.lzma
  65. │ └─OTHER.lzma
  66. ├─TY03
  67. │ └─WINPE.ISO
  68. ├─TYN3
  69. │ ├─NVPE.ISO
  70. │ └─TYPE.ISO
  71. ├─TYW7
  72. │ └─WIN7PE.ISO
  73. └─GRLDR
复制代码

【选项4】: 只创建2k3 PE的ISO镜像(含引导), 可供U+,B+和UD替换使用


【选项5】: 只创建2k3 Native PE的两个ISO镜像(含引导), 可供UD替换使用


【选项6】: 只创建Win 7 PE的ISO镜像(含引导), 可供U+,B+和UD替换使用


【选项7】: 如果你喜欢天意U盘维护系统的作品和论坛,请输入7支持我们.选择后将会弹出浏览器打开2 3 4 5网址导航,我们承诺不会强制更改IE浏览器主页,请放心使用.建议设置天意网址导航(天意论坛->导航菜单栏->网址导航)为你各浏览器的主页, 谢谢您的支持和厚爱!



1.2 批处理中能够自由定义的变量

1.2.1 首先说一下与文件位置有关的变量,有” ty03loca”、” tyn3loca”、” tyw7loca”和” oplocal”,分别表示设置”Windows Server 2k3 PE”、” Windows Server 2k3 Native PE”、”Windows 7 PE”和”外置所有文件”在镜像中的路径.



例如可以修改为: ty03loca=03PE , tyn3loca=pe\type, tyw7loca=pe\a\b\c\d\7pe等等.


提醒: 由于使用批处理无法修改引导文件(即使可以我也不会使用批处理来修改),所以以散列方式分布的ISO镜像被我固定了各PE位置变量的修改,所以路径只能是默认路径.


注意: 不能在路径中出现空格,建议PE内核不要放入太深的目录中!!



1.2.2 然后是关于G4D ISO合盘的相关可修改的参数,有” isofile”、” volname”、” bootfile”和” hidefile”,分别表示设置”ISO文件名”、” 光盘卷标”、” 引导文件所在路径”和”需要隐藏的文件或文件夹”.



以上变量均可以修改.



1.3 修改自定义变量后,还需要修改的GRLDR内置菜单中相应的变量

1.3.1节中” ty03loca”、” tyn3loca”和” tyw7loca”3个变量, 对应GRLDR内置菜单也设置了3个变量,分别是”ty03name” 、”tyn3name”和”tyw7name”,即是说如果你修改了批处理里的这3个变量的值,那么你就还需要手动修改GRLDR内置菜单对应的这3个变量的值.



例一: 当批处理中的ty03loca的值为TY03,那么GRLDR内置菜单内的ty03name变量就必须修改为TY03;


例二: 当批处理中的tyn3loca的值为pe\type,那么GRLDR内置菜单内的tyn3name变量就必须修改为pe/type;


例三: 当批处理中的tyw7loca的值为pe\a\b\c\d\7pe,那么GRLDR内置菜单内的tyw7name变量就必须修改为pe/a/b/c/c/7pe.


注意: 批处理中的文件夹路径使用的是使用反斜杠( \ ),而GRLDR内置菜单中使用斜杠( / ).



1.4 START DIY.BAT批处理的限制性

不难看出批处理的处理能力有很大的限制性,导致START DIY.BAT批处理无法完成某些任务,这也为什么提到以后有计划改用C/C++编写制作工具.


上面有的内容中也粗略提到限制性,但并没有详细说明,先列出其限制性:


【限制1】. 无法修改GRLDR内置菜单  (很明显的限制性,需要使用BOOTICE、FbinstTool等其他修改工具)


【限制2】. 无法修改2k3 (Native) PE的SETUPLDR.BIN引导文件 (需要使用16进制编辑工具进行修改)


【限制3】. 无法修改Win 7 PE的BOOTMGR引导文件 (需要使用16进制编辑工具进行修改)


【限制4】. 无法制作2k3 Native PE一级内核TYPE.IMG,导致不能修改NATIVE.CFG,使无法修改2级内核的存放位置 (需要使用图形界面工具Imdisk、VDM、WimImage等)


【限制5】. 无法制作fba包 (需要使用FbinstTool制作)


所以我做了以下决定:


1>. 【限制1】只能由手动修改,可参考1.3节.


2>. 由于【限制2】和【限制3】只会影响到【选项1】的制作,所以我固定2k3 PE相关文件在TY03文件夹,固定2k3 Native PE相关文件在TYN3文件夹,固定Win 7 PE相关文件在TYW7文件夹.即使你修改了批处理中的ty03loca、tyn3loca和tyw7loca这3个变量的值,也不会更改掉默认路径.


3>. 由于【限制4】只会影响到【选项1】和【选项2】的2k3 Native PE制作,所以我固定了2k3 Native PE的2级内核03pe.WIM映像在TYN3文件夹,即使你修改了批处理的tyn3loca变量的值,也不会更改掉2级内核存储的位置.


4>. 对于【限制5】,当使用批处理把UD区的所有文件都生成后(生成”天意UD区PE文件”文件夹),然后使用”一格一拖”的方法,详细请看1.5.3节.



1.5 DIY版文件结构说明
  1. .\TYPE DIY(文件夹)
  2. ├─BIN
  3. │ ├─AMD64
  4. │ │ ├─imagex.exe                        捕获WIM映像工具(64位版)
  5. │ │ └─oscdimg.exe                       制作PE ISO镜像工具(64位版)
  6. │ ├─X86
  7. │ │ ├─imagex.exe                        捕获WIM映像工具(32位版)
  8. │ │ └─oscdimg.exe                       制作PE ISO镜像工具(32位版)
  9. │ ├─CYGWIN1.DLL                           MKISOFS.EXE必要的DLL文件
  10. │ └─MKISOFS.EXE                           制作grub4dos引导的ISO的工具
  11. ├─CONFIG
  12. │ ├─BASIC.WIM.net.ini                     制作外置程序basic.wim映像所要用到的2k3 PE开启网络支持的源net.INI配置文件
  13. │ ├─BASIC.WIM.sogou.ini                   制作外置程序basic.wim映像所要用到的加载搜狗输入法源sogou.ini配置文件
  14. │ ├─BASIC.WIM.win7net.ini                 制作外置程序basic.wim映像所要用到的Win 7 PE开启网络支持的源win7net.INI配置文件
  15. │ ├─BASIC.WIM.万能显卡.ini                制作外置程序basic.wim映像所要用到的加载万能显卡源"万能显卡.ini"配置文件
  16. │ ├─TY03.PECMD.INI                        制作Win 2k3 PE所要用到的源PECMD.INI配置文件
  17. │ ├─TYN3.PECMD.INI                        制作Win 2k3 Native PE所要用到的源PECMD.INI配置文件
  18. │ └─TYW7.PECMD.INI                        制作Win 7 PE所要用到的源PECMD.INI配置文件
  19. ├─LOADER
  20. │ ├─etfsboot.com                          制作Win 7 PE包含引导的ISO需要用到的光盘引导文件
  21. │ └─setupldr.bif                          制作2k3 PE包含引导的ISO需要用到的光盘引导文件
  22. ├─OTHERS
  23. │ ├─BOOT
  24. │ │ ├─GRUB
  25. │ │ │ ├─MENUS
  26. │ │ │ │ ├─DOS_TOOLS.LST             DOS下运行的工具菜单
  27. │ │ │ │ ├─E820CYCLES_PE             以Map ISO方式启动Win Ser 2k3 (Native) PE的批处理
  28. │ │ │ │ ├─MENU.LST                  主菜单
  29. │ │ │ │ ├─PE_TY03.LST               以Map ISO方式启动Win Ser 2k3 PE
  30. │ │ │ │ ├─PE_TYN3.LST               以Map ISO方式启动Win Ser 2k3 Native PE
  31. │ │ │ │ └─RUN.LST                   天意RUN模块菜单
  32. │ │ │ ├─F6IMG                         启动XPE/03PE或XP/2k3安装时免按F6键加载SRS驱动(实现SRS驱动外置)
  33. │ │ │ ├─MESSAGE                       Grub4Dos的gfx背景菜单
  34. │ │ │ ├─RUN                           Grub4Dos外部命令RUN
  35. │ │ │ └─USB_ACC.0PE                   USB智能加速功能
  36. │ │ ├─IMGS
  37. │ │ │ ├─FIRADISK.IMG                  能让Windows识别grub4dos虚拟盘的驱动
  38. │ │ │ ├─MAXDOS.IMG                    MaxDos9增强版工具箱
  39. │ │ │ ├─memtest.bin                   MemTest内存检测
  40. │ │ │ ├─NTBOOT.ISO                    NTBOOT通用启动盘
  41. │ │ │ └─okdos.ima                     OneKey全自动备份还原
  42. │ │ ├─bzImage                           Slitaz Linux的文件
  43. │ │ ├─mycd                              让PE自行判断从什么存储设备中启动,详细请看帮助文档
  44. │ │ └─rootfs.gz                         Slitaz Linux的文件
  45. │ ├─PETOOLS
  46. │ │ ├─basic                             basic.wim解包后的文件夹,包含PE所有外置程序
  47. │ │ ├─driver                            Win Ser 2K3 PE启动网络支持的所有文件
  48. │ │ ├─drv7                              Win 7 PE启动网络支持的所有文件(包括驱动、配置文件、Opera浏览器等)
  49. │ │ ├─SOGOU                             搜狗打字法
  50. │ │ ├─all.exe                           Win Ser 2k3 (Native) PE和Win 7 PE共用的扩展内核之一
  51. │ │ ├─net.wim                           启动网络支持后添加的程序
  52. │ │ ├─sys7.exe                          Win 7 PE的扩展内核之一
  53. │ │ └─SYSTEM.exe                        Win Ser 2k3 (Native) PE的扩展内核之一
  54. │ ├─SRS                                   SRS驱动(不列出文件列表)
  55. │ └─GRLDR                                 GRUB4DOS引导
  56. ├─PE                                        存放未制作的个PE文件
  57. │ ├─BOOT
  58. │ │ ├─boot.sdi                          Win 7 PE的引导时需要的boot.sdi
  59. │ │ ├─FON.BIN                           Win Ser 2k3 (Native) PE的引导时所需的字体文件
  60. │ │ ├─HASHED.BCD                        制作Win 7 PE以散列分布在ISO中时使用的BCD
  61. │ │ ├─HASHED.BOOTMGR                    制作Win 7 PE以散列分布在ISO中时使用的引导文件
  62. │ │ ├─HASHED.TY03.SETUPLDR.BIN          制作Win Ser 2k3 PE以散列分布在ISO中时使用的引导文件
  63. │ │ ├─HASHED.TYN3.SETUPLDR.BIN          制作Win Ser 2k3 Native PE以散列分布在ISO中时使用的引导文件
  64. │ │ ├─ISO.BCD                           制作Win 7 PE以MAP ISO方式启动时使用的BCD
  65. │ │ ├─ISO.BOOTMGR                       制作Win 7 PE以MAP ISO方式启动时使用的引导文件
  66. │ │ ├─ISO.SETUPLDR.BIN                  制作Win Ser 2k3 (Native) PE以MAP ISO方式启动时使用的引导文件
  67. │ │ └─NTDETECT.COM                      Win Ser 2k3 (Native) PE的引导时所必须的文件
  68. │ ├─03PE_SAME                             2k3 PE内核与2k3 Native PE二级内核里的相同文件(不含PECMD.INI)(不列出文件列表)
  69. │ ├─TY03_ONLY                             Win Ser 2k3 PE内核里独有的文件(不含PECMD.INI)(不列出文件列表)
  70. │ ├─TYN3_ONLY                             Win Ser 2k3 Native PE二级内核里独有的文件(不含PECMD.INI)(不列出文件列表)
  71. │ ├─WIN7PE                                Win 7 PE内核里的所有文件(不含PECMD.INI)(不列出文件列表)
  72. │ ├─filename.txt                          批处理需要做CAB解压的文件列表.
  73. │ └─TYPE.IM_                              Win Ser 2k3 Native PE一级内核IMG映像
  74. ├─START DIY.bat                             DIY制作天意合盘批处理
  75. └─天意U盘维护系统 不完全DIY手册.doc         使用说明和帮助文档
复制代码
.
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2012-11-19 20:08:01 | 显示全部楼层
本帖最后由 ray111 于 2012-11-19 20:22 编辑


1.5 部署方法

1.5.1 U+方法


>. 使用UltraISO打开批处理制作完成的ISO镜像



>. 主菜单 -> 启动 -> 写入硬盘映像…



>. 在弹出的窗口中,我们先选择”硬盘驱动器”为U盘设备,然后点击格式化.



>. 格式化完毕后,点击”写入”按钮等待进度条完成写入,并提示刻录成功.




>. 使用BOOTICE,目标磁盘设置为目标U盘.我们只要写入分区引导,接着点击”分区引导记录”,然后在弹出的窗口中选择”GRUB4DOS 0.4.5c”,最后点击”安装/配置”按钮,在弹出的菜单中,确认文件名是否为GRLDR后再点击确定写入引导,并提示成功.




完成U+操作,很简单吧.


总结: 从上面操作可以看出U+方法有个缺点,就是每次重做都要格式化U盘,使得我们每次U+时都需要备份一遍U盘里的重要数据,而且这操作对U盘是很伤的.



1.5.2 B+方法


>. 首先需要删除U盘中旧版本的天意PE相关文件


>. (使用WinRAR,7-zip或其他压缩工具,或直接使用UltraISO提取所有文件)解压批处理制作的ISO里所有文件到U盘根目录,如下图(U盘根目录):



>. 先要写入G4D引导到主引导,打开BOOTICE,目标磁盘选择当前硬盘,点击”主引导记录”



>. 在弹出的对话框中选择”GRUB4DOS 0.4.5c/0.4.6a”,点击”安装/配置”按钮



>. 弹出窗口中勾选”禁止搜索软盘上的GRLDR”、”禁止按C无条件进入命令行控制台”、”禁止引导分区表无效的原主引导记录…”和”禁止自动调整磁盘几何参数”,”【GRUB4DOS版本】”选择0.4.5c,点击”写入磁盘”,提示成功即可




>. 现在查看主引导是否已经变成了”GRUB4DOS”!!



>. 完成主引导的修改后,继续写入G4D到分区引导.回到软件主界面,点击”分区引导记录”, 然后在弹出的窗口中选择”GRUB4DOS 0.4.5c”,最后点击”安装/配置”按钮,在弹出的菜单中,点击确定,写入引导,并提示成功.




OK,制作完成.


总结: B+方法,相比U+方法,最大的优点在于不用重新格式化U盘,只需要把旧的版本删除再把新的版本解压到U盘根目录即可,最后写入主引导记录和分区引导记录为G4D即完成制作.



1.5.3 UD区”一格一拖”方法


1.5.3.1 先不说”一格一拖”方法,先说一下怎么创建UD区.(如果你的U盘或移动硬盘还没创建UD区)


>. 打开FbinstTool,首先选择你的U盘(或移动硬盘),然后菜单栏 -> 启动设备 -> 格式化…



>. 在弹出的窗口中勾选”强制格式”,”UD扩展分区”设置为600M(鉴于以后合盘功能会越来越强大,体积也会越来越大,建议设置UD扩展分区的容量大于500M,以免以后需要重新强制格式化整个U盘(或移动硬盘)),点击”格式化”按钮.



>. 询问是否强制格式化U盘,均选择”是”,等待提示完成格式化后OK了





>. 返回到FbinstTool主界面,删除UD区根目录下的mbr.pt文件,就这样完成了创建UD区的操作.


提醒: 以上操作方法同样适合用于扩容UD区.



1.5.3.2 删除UD区所有文件,但不删除非UD区的文件.(如果UD区存在旧版PE文件)


>. 打开FbinstTool,选择你的U盘(或移动硬盘),然后菜单栏 -> 启动设备 -> 格式化…



>. 不要勾选”强制格式”,只需设置”UD扩展分区”为原有UD区容量大小即可(我原来创建UD区的时候的容量是600M,所以这里设置为600M,反正它会自动识别),点击”格式化”按钮.



>. 询问是否格式化U盘,选择”是”,提示完成格式化就OK了.




现在UD区里就没有文件了.



1.5.3.3 把天意PE合盘全部文件拖入U盘UD区


>. 打开FbinstTool,选择U盘(或移动硬盘),然后打开批处理所生成的含UD区文件的文件夹,全选文件夹里的所有文件,然后拖入FbinstTool的文件区.



>. 等待进度条完成,并提示导入成功即可.




>. 检查(ud)/BOOT/GRUB/USB_ACC.0PE文件是否在UD扩展数据区,如果该文件在UD主数据区,请移动到扩展数据区!



>. 最后做下碎片整理就可以了




严重提醒: 把所有文件拖入UD区后,请一定要检查USB_ACC.0PE文件是否在UD扩展数据区,原因是UD主数据区的文件存放是不连续性的,会导致使用优盘加速时出错.



总结: 如果你的U盘(或移动硬盘)是第一次做UD分区或想扩容UD区,请按照1.5.3.1节格式化U盘;如果你的U盘已经创建了UD区并存有文件,请按照1.5.3.2节格式化U盘. 1.5.3.1节和1.5.3.2节是说明”一格一拖”方法中”一格”操作方法,而1.5.3.3节说明了”一拖”的方法.使用UD分区的优点就是,即使格式化了U盘可见区,也不会破坏PE文件和引导,而且”一拖一格”的方法也非常的快捷简单.


至于量产的方法不做说明.


在接下来的章节中我将详细说明天意UD原版转ISO的方法,这也是DIY版里的批处理制作PE合盘的原理,读懂以下章节就能读懂整个批处理!


 楼主| 发表于 2012-11-19 20:08:02 | 显示全部楼层
本帖最后由 ray111 于 2012-11-19 20:25 编辑


第二章 WINPE的引导启动过程

首先我们先来简单的了解一下WINPE各个版本,目前WINPE一共有4个版本,即PE1.x, PE2.0, PE3.0, PE4.0. 其中PE1.x基于Windows XP和2003,它的体积小巧, GUI界面最小可以不超过20M,而且我们可以通过扩展增强它的功能.具体的版本是这样划分的:


>. WINPE 1.x


1.0 : 基于最初的Microsoft Windows XP Professional


1.1 : 基于Microsoft Windows XP Professional 含Service Pack 1 (SP1)


1.2 : 基于Microsoft Windows Server 2003


1.5(2004): 基于Microsoft Windows XP Professional 含Service Pack 2 (SP2)


1.6(2005): 基于Microsoft Windows Server 2003 含Service Pack 1 (SP1)


>. WINPE 2.x


2.1 : 基于Microsoft Windows Vista 和Microsoft Windows Server 2008 含Service Pack 1(SP1)


2.2 : 基于Microsoft Windows Vista 和Microsoft Windows Server 2008 含Service Pack 2(SP2)


>. WINPE 3.x


3.0 : 基于Windows 7,它的功能比PE1.X要强大一些,尤其是对新电脑的支持以及USB3.0接口的支持要比PE1.X好,但同时它的体积要比PE1.X大,启动所需要的内存也更多


3.1 : 基于Microsoft Windows 7 SP1


>. WINPE 4.x


4.0 : 基于Microsoft Windows 8


---- 参考来自《WinPE基础知识

OK,简单的了解后进入正题.


1. PE1.x的引导过程
  1. -> SETUPLDR.BIN(如果bootfont.bin存在则加载) -> NTDETECT.COM -> WINNT.SIF(WINNT.XPE) -> WINPE.ISO\WINPE.IMG(pe内核映像) -> TXTSETUP.SIF -> 进入到PE启动界面
复制代码
2. PE2.x-PE4.0的引导过程
  1. -> BOOTMGR -> BCD -> 如果存在BOOT.SDI则加载 -> BOOT.WIM(pe内核映像) -> winload.exe -> 进入到PE启动界面
复制代码
---- 参考来自《WinPE基础教程 —— WinPE1.X启动的详细过程



 楼主| 发表于 2012-11-19 20:08:03 | 显示全部楼层
本帖最后由 ray111 于 2012-11-19 20:28 编辑


第三章 天意各PE的引导启动过程

至此,你应该大致了解了PE引导启动过程,接下来我们在来看看天意U盘维护系统中各PE的引导过程:


3.1 天意 Windows Server 2K3 PE的引导启动过程

PE散列分布 :

  1. -> SETUPLDR.BIN(如果存在FON.BIN则加载) -> NTDETEC -> type -> TYPE.IS_ -> TXTSETUP.SIF -> 进入到PE启动界面
复制代码

ISO打包 :

  1. -> WINPE.ISO -> SETUPLDR.BIN -> NTDETECT.COM -> WINNT.TPE -> TYPE.IS_ -> TXTSETUP.SIF -> 进入到PE启动界面
复制代码
3.2 天意 Windows Server 2K3 NativePE的引导启动过程

PE散列分布 :

  1. -> SETUPLDR.BIN -> NTDETECT.COM -> WINNT.TPE -> TYPE.IM_ -> TXTSETUP.SIF -> NATIVE.CFG -> 03pe.WIM -> 进入到PE启动界面
复制代码

ISO打包 :

  1. -> NVPE.ISO -> SETUPLDR.BIN(NVPELDR.BIN)(如果存在FON.BIN则加载) -> NTDETEC -> NVPE -> TYPE.IM_ -> TXTSETUP.SIF -> NATIVE.CFG -> 03pe.WIM -> 进入到PE启动界面
复制代码
3.3 天意 Windows 7 PE的引导启动过程

PE散列分布 :

  1. -> TYW7.BIN -> BW7 -> 如果存在BOOT.SDI则加载 -> TYW7.WIM(pe内核映像) -> winload.exe -> 进入到PE启动界面
复制代码

ISO打包 :

  1. ->WIN7PE.ISO -> BOOTMGR -> BCD -> BOOT.SDI -> BOOT.WIM -> winload.exe -> 进入到PE启动界面
复制代码
 楼主| 发表于 2012-11-19 20:08:04 | 显示全部楼层
本帖最后由 ray111 于 2012-11-19 20:30 编辑


第四章 天意PE进入到启动界面后 加载并进入桌面的过程

4.1一般WINPE加载进入桌面的过程,比较笼统
  1. -> 进入到PE启动界面 -> PECMD.INI -> WINPE.INI(配置外置程序) -> 进入桌面
复制代码
4.2天意PE加载进入桌面的过程,详细的
  1. ->进入到PE启动界面 -> PECMD.INI [
  2. -> 加载扩展内核(ALL.EXE -> 2k3pe加载SYSTEM.EXE,win7pe加载SYS7.exe -> 加载regcore.CMD注册文件和创建系统工具快捷方式)
  3. -> ORDERDRV.CMD(理顺磁盘盘符)
  4. -> wim.ini(如果存在PETOOLS文件夹则加载petools.cmd、创建RamDisk虚拟盘W)
  5. -> basic.wim ] -> type.ini(配置外置程序)
  6. -> 进入桌面
复制代码

可以说天意各PE的PECMD.INI配置文件的内容是非常简单明了、容易理解的,只要你能理解天意PE的启动过程和加载进入桌面的过程,就能够轻松的定义加载文件的路径,修改出属于自己的PE,当然你还需要能够熟练运用PECMD各命令.



 楼主| 发表于 2012-11-19 20:08:06 | 显示全部楼层
本帖最后由 ray111 于 2012-11-19 20:34 编辑


5.4 天意UD原版各PE加载EXE和挂载WIM详解

首先来了解UD版的PE是如何运行EXE文件和挂载WIM文件的,这里我将截取天意 2K3 PE的PECMD.INI中的某一段代码来说明.


在这之前我们有3个问题必须去解决:


1>. PE如何找到目标文件(并提取)?


2>. 如何使用PECMD.EXE解释器来运行或挂载目标文件?


3>. 如果提取了文件,是否需要清理临时文件,如何清理?


接下来我将讲解如何解决这3个问题.



实例一: 运行EXE文件,如下图:



这段代码是2k3 PE加载扩展内核ALL.EXE和SYSTEM.EXE的过程,其中ALL.EXE和SYSTEM.EXE是使用好压来制作的自解压文件,其原理是解压所有文件到路径%windir%\SYSTEM32\中,在执行完后这两个文件已经完成了自身的任务,所以我们需要清理掉它们.


我们还是先来认识一下TEAM、EXEC和FILE这3命令的使用和参数说明,你也可以打开PECMD.EXE解释器来查看.


>. TEAM命令的使用说明:



>. EXEC命令的使用说明:



>. FILE命令的使用说明:



我们开始边看代码边看PECMD命令解释来做讲解.


使用TEAM+”|”命令来连续执行多个命令,说明命令从做到右依次执行;


使用EXEC命令并加入前导”=”和”!”, 说明不显示程序运行界面并等待程序执行完成;


使用FILE命令不加操作符,说明删除文件;如果加入”->”操作符,说明为移动文件;如果加入”=>”操作符,说明为复制文件.


先来看看绿色下划线的代码,其含义: 以隐藏的方式运行FBINST.EXE,并使用FBINST.EXE来提取位于存储设备UD区中PETOOLS文件夹里的ALL.EXE或SYSTEM.EXE文件到X盘(X盘为PE系统盘),并等待提取完毕再执行之后的代码;


再来看看蓝色下划线的代码,其含义: 以隐藏的方式执行X盘根目录中的ALL.EXE或SYSTEM.EXE,并等待执行完毕;


最后到红色下划线的代码,其含义: 删除X盘根目录中的ALL.EXE或SYSTEM.EXE.



实例二: 挂载WIM文件,如下图:



该段代码是截取至UD版天意2k3 PE的PECMD.INI, 说明了挂载加载外置程序的过程.


实例一中我已经简单的对TEAM和EXEC命令解释说明,如果还不是很清楚其作用,请先复习一下实例一中的内容.这里还出现了两个新的命令MOUN和LOAD,先打开PECMD.EXE解释器查看其作用和使用方法:


>. MOUN命令解释:



>. LOAD命令解释:



代码解释:


绿色下划线代码的含义: 这个命令大家到这里已经很清楚了吧. 以隐藏的方式运行FBINST.EXE,并使用FBINST.EXE来提取位于存储设备UD区中PETOOLS文件夹里的basic.wim文件到W盘wim文件夹里(W盘为Imdisk虚拟盘),并等待提取完毕再执行之后的代码;


蓝色下划线代码的含义: 挂载W盘wim文件夹中的basic.wim到W盘PESOFT文件夹中;


红色下划线代码的含义: 加载外置程序配置文件type.ini(该文件存放在basic.wim包中),生成软件快捷方式到开始菜单和桌面.


注意: 该处的basic.wim不是临时文件,所以不用清理删除,如果删除,则桌面和开始菜单不会生成快捷方式,或生成的快捷方式不可用.



 楼主| 发表于 2012-11-19 20:08:07 | 显示全部楼层
本帖最后由 ray111 于 2012-11-19 20:35 编辑


5.5 修改天意各PE的PECMD.INI配置文件加载扩展内核和外置程序

大家都知道如果不修改UD原版各PE里面的PECMD.INI将会造成无法加载扩展内核和无法挂载外置程序,那么UD版与ISO版加载方法的区别在哪里呢?


UD区是一个特殊的隐藏分区,在Windows系统中是无法识别该分区,也不能直接修改UD区里面的文件,通常我们会使用UD区编辑工具来增删改UD区的文件,例如: Fbinst(命令行)和FbinstTool(GUI界面,内置Fbinst)等工具.从5.4中我们可以了解到EXE文件或WIM文件不能直接从UD区运行或挂载,但是我们可以把文件先从UD区提取(复制)到一个可见的分区,然后就能够正常运行和挂载了.


而ISO版的文件是存放在Windows可识别的分区(包括可见分区和隐藏分区),例如光盘介质、U盘介质(量产USB-CDROM区、U+、B+)、标识为12的fat32隐藏分区(OEM隐藏分区,也叫EISA隐藏分区)、标识为17的ntfs隐藏分区等等.


是否还记得5.4中提到的”3个必要解决的问题”吗,ISO版中的第一个必要问题该如何解决呢?我们先要回想一下UD区是怎么寻找basic.wim文件的,它是使用Fbinst提取UD区的文件的,很明确文件位置在UD区!而ISO版的文件是放在Windows可识别的分区,所以我们必须考虑到存在多个Windows可识别的分区的情况,目标文件的位置并不是确定的,而最好的寻找方法就是查找各个分区是否存在目标文件,如果存在便记录目标文件所在的文件夹路径.而专业点的解释是要先遍历各个分区寻找目标文件,如果找到目标文件,则存储目标文件所在文件夹的路径到变量中.


在解决第一个必要问题后,轮到解决第2个必要问题,与UD版的加载和挂载方法大致相同,但在第1个必要问题解决的铺垫下,ISO版中加载和挂载显得尤为简单,解决方法一: 你可以不必提取(复制)目标文件到临时位置,而是直接加载或挂载存储设备中的目标文件; 解决方法二: 你也可以先把目标文件提取(复制)到临时的位置,再进行加载和挂载.(不懂的话先继续往下看)当然这两种做法各有优缺点,而其优缺点由第3个必要问题决定.


在前面2个必要问题都解决之后,继续解决最后一个必要问题.如果你选择了方法一来解决第2个必要问题,那么就不必删除临时文件;如果你使用的是方法二来解决第2个必要问题,那么就必须清理一下提取(复制)的临时文件了.


如果你理解了以上说明的解决3个必要问题的方法,那么修改代码的思路就非常清晰了.


理论部分分析完毕,下面开始说明代码实现的方法,还是继续使用UD版和ISO版做对比的方法进行说明.



5.5.1 准备工作


>. 获得天意2K3 PE的PECMD.INI配置文件: 先用压缩软件(WinRAR, 7-zip等)把TYPE.IS_解压到TY03目录中,得到一个TYPE.ISO,然后在TY03文件夹中创建TYPEISO文件夹,再把TYPE.ISO里面的所有文件释放到TYPEISO中,删除TYPE.ISO和TYPE.IS_,如下图:



>. 获得天意2k3 Native PE的PECMD.INI配置文件: 先用7-zip解压03pe.wim所有文件到03pewim文件夹中,删除03pe.wim文件,如下图:



>. 获得天意Win 7 PE的PECMD.INI配置文件: 先用7-zip解压TYW7.WIM所有文件到TYW7WIM文件夹中,删除TYW7.WIM文件,如下图:




5.5.2 获取扩展内核和外置程序所在文件夹


UD版无需寻找,直接可使用Fbinst提取UD区任何目标文件.


修改后ISO版:



这里我们用到了3个新的命令FORX、FDRV和ENVI,先打开PECMD.EXE解释器来查看其作用和使用方法:


>. FORX命令解释:



>. FDRV命令解释:



>. ENVI命令解释:



红色框中代码的含义是: 遍历每个分区查找basic.wim文件,如果在分区的PETOOLS文件夹中存在basic.wim文件,则把该文件所在的绝对路径保存在变量T中,并获取其盘符存储于变量PTDRV中,最后定义变量PTDIR存储外置程序和扩展内核所在文件夹的绝对路径.



5.5.3 加载扩展内核的编写方法


UD原版:

  1. TEXT 加载扩展内核……
  2. TEAM EXEC =!%WinDir%\system32\FBINST (ud) output "PETOOLS/ALL.EXE" x:/%~nx |EXEC =!x:\ALL.EXE
  3. TEAM EXEC =!%WinDir%\system32\FBINST (ud) output "PETOOLS/SYSTEM.EXE" x:/%~nx |EXEC =!x:\SYSTEM.EXE
  4. EXEC =!%WinDir%\SYSTEM32\regcore.CMD
  5. FILE x:\ALL.EXE
  6. FILE x:\SYSTEM.EXE
复制代码

修改后ISO版:

  1. TEXT 加载扩展内核……
  2. EXEC =!%PTDIR%\ALL.EXE
  3. EXEC =!%PTDIR%\SYSTEM.EXE
  4. EXEC =!%WinDir%\SYSTEM32\regcore.CMD
复制代码

这里使用解决方法一来解决第2个必要问题,直接加载存储设备中的ALL.EXE和SYSTEM.EXE,由于是加载存储设备中的源文件,而不是复制到临时位置来加载,所以不用删除ALL.EXE和SYSTEM.EXE,这样编写的优点在于忽略了复制文件和清理文件所需要的时间.



5.5.4 挂载外置程序的编写方法


UD原版:

  1. TEXT 加载基本维护软件及自动搜索PEtools程序……
  2. CALL $%WS%\WimShExt.DLL
  3. REGI HKCU\SOFTWARE\WimTool\AutoMountPath=W:\
  4. load %WS%\wim.ini
  5. TEAM EXEC =!%WS%\FBINST (ud) output "PETOOLS/basic.wim" w:/wim/%~nx
  6. TEAM MOUN w:\wim\basic.wim,W:\PESOFT\,1,%TEMP%|LOAD w:\PESOFT\type.ini
复制代码

修改后ISO版:

  1. TEXT 加载基本维护软件及自动搜索PEtools程序……
  2. CALL $%WS%\WimShExt.DLL
  3. REGI HKCU\SOFTWARE\WimTool\AutoMountPath=W:\
  4. load %WS%\wim.ini
  5. FILE %PTDIR%\basic.wim=>w:\wim\
  6. TEAM MOUN w:\wim\basic.wim,W:\PESOFT\,1,%TEMP%|LOAD w:\PESOFT\type.ini
复制代码

这里使用解决方法二来解决第2个必要问题,先把外置程序basic.wim复制到W盘的wim文件夹里,再挂载W盘的wim文件夹里的basic.wim到W盘的PETOOLS文件夹中,这样编写的优点在于当移除U盘、移动硬盘或弹出光盘后,桌面和开始菜单的各个程序还能正常运行.


试想一下,假如使用解决方法一来解决第2个必要问题挂载WIM文件,即直接挂载存储设备中的WIM文件后,再强制拔出U盘、移动硬盘或弹出光盘,这时你会发现桌面和开始菜单的快捷方式均无法运行,运行后提示无效快捷方式,其原因是挂载的WIM文件已经不存在,造成所有程序也跟着消失.而这就是使用解决方法一来解决第2个必要问题的缺点.


以上是修改天意2k3 PE的PECMD.INI配置文件的示例,同样可以使用该方法修改天意2k3 Native PE和Win 7 PE的PECMD.INI配置文件,完全可以照搬,这里就不多说.


修改完后接下来当然是重新打包PE核心!



5.5.5 打包各PE核心


5.5.5.1 重新创建天意2k3 PE的内核TYPE.IS_


>. 删除原来的TYPE.IS_和TYPE.ISO


>. 打开命令提示符,输入以下命令:

  1. REM 进入到TY03文件夹(我这里是D:\del\ty56_tmp\TY03)
  2. pushd D:\del\ty56_tmp\TY03
  3. REM 创建天意2k3 PE的内核映像TYPE.ISO
  4. oscdimg -h -m -n -o -oc -l"SERVER 2003" .\TYPEISO\ .\TYPE.ISO
  5. REM CAB最大压缩TYPE.ISO为TYPE.IS_
  6. MAKECAB /v3 /d CompressionType=LZX /d CompressionMemory=21 .\TYPE.ISO
复制代码


>. 删除TY03文件夹里的TYPEISO文件夹和TYPE.ISO镜像即可.



5.5.5.2 重新捕获天意2k3 Native PE的二级内核映像03PE.WIM


>. 删除原来的03pe.wim映像文件


>. 打开命令提示符(如果你使用的是nt6.x内核的系统,请以管理员方式运行),输入以下命令:

  1. REM 进入到TYN3文件夹(我这里是D:\del\ty56_tmp\TYN3)
  2. pushd D:\del\ty56_tmp\TYN3
  3. REM 使用最大压缩率捕获天意2k3 Native PE的二级内核映像03PE.WIM
  4. imagex /compress maximum /verify /capture .\03PEWIM .\03pe.wim "TYN3"
复制代码

>. 删除03pewim文件夹,完成内核打包.



5.5.5.3 重新捕获天意Win 7 PE的内核映像TYW7.WIM


>. 删除原来的TYW7.WIM映像文件


>. 打开命令提示符(如果你使用的是nt6.x内核的系统,请以管理员方式运行),输入以下命令:

  1. REM 进入到TYW7文件夹(我这里是D:\del\ty56_tmp\TYW7)
  2. pushd D:\del\ty56_tmp\TYW7
  3. REM 使用最大压缩率并增加启动标记来捕获天意Win 7 PE的内核映像TYW7.WIM
  4. imagex /compress maximum /verify /boot /capture .\TYW7WIM .\TYW7.WIM "WIN7PE"
复制代码

>. 删除TYW7WIM文件夹,完成内核打包.


提醒: 如果在捕获win7pe的内核映像时不使用启动标记(即/boot参数),则启动Win7PE时会蓝屏!


如果你使用的是Win8系统,除了可以使用imagex来捕获WIM映像,还可以使用DISM来捕获(不知道Win7是否可以,没去测试,我已经2年没用过Win7了),两个命令所使用的参数会有点差别,但是捕获的WIM映像是一样的,详细请看扩展阅读部分,这里不再说明.



---- 扩展阅读:


部署映像服务和管理 (DISM) 技术参考


如何使用 DISM 捕捉硬盘分区的映像


映像管理命令行选项


DISM 命令行语法全局选项


Windows PE 服务命令行选项


ImageX 技术参考


ImageX 命令行选项


Oscdimg 命令行选项


Makecab


Microsoft MakeCAB User's Guide》(英文)


 楼主| 发表于 2012-11-19 20:08:08 | 显示全部楼层
本帖最后由 ray111 于 2012-11-19 20:37 编辑


5.6 天意PE中其他配置文件的修改

完成上面的修改后,各PE都已经能正常进入桌面和加载外置程序了,但是修改工作还没有完成.你是否发现双击运行桌面的”启动网络支持”后没有(反应)运行,除此之外也不能加载开始菜单 -> 程序 -> 设置中的”安装搜狗输入法”和”安装万能显卡驱动”(如下图),接下来就将解决这两个问题:




需要修改的文件,这些文件都打包在外置程序文件夹里的basic.wim映像里:


>. net.ini : 2k3 PE加载启动网络支持的配置文件,位置在basic.wim映像根目录下.


>. win7net.ini : Win 7 PE加载启动网络支持的配置文件,位置在basic.wim映像根目录下.


>. sogou.ini : 安装搜狗输入法的配置文件,位置在basic.wim映像的ime文件夹里.


>. 万能显卡.ini : 安装万能显卡驱动的配置文件,位置在basic.wim映像的OUTERPART文件夹里.


由于这些修改的方法与5.5节的PECMD.INI的修改相似,所以这里就不详细说明了.



5.6.1 准备工作


解压basic.wim里的所有文件到PETOOLS目录下的basicwim文件夹中.



5.6.2 修改net.ini配置文件


从UD版的代码中可以看出,它先把driver文件夹里的所有文件和drv7文件夹中opera.exe(Opera浏览器)提取到W盘drv文件夹中,然后把net.wim提取到W盘wim文件夹里,并挂载到W盘Net文件夹中.



我们还需要学习3个命令解释,先打开PECMD.EXE命令解释器来看看说明和使用方法:


>. _SUB 和 _END命令解释



>. CALL命令解释



先来理解一下这一句命令” FIND MEM<256,CALL NO!CALL NET”,解释: 当内存少于256M时,调用NO子过程;当内存等于或大于256时,调用NET子过程.


与UD版的思路一样,先把相应的文件复制到W盘指定位置,再进行挂载或加载.修改后如下:




5.6.3 修改win7net.ini配置文件


与修改net.ini一样,所以这里不再做过多说明,修改前如下:



修改后:




5.6.4 修改sogou.ini配置文件


先看看UD版的代码,由于不能直接运行UD区里面的文件,它先把PETOOLS目录下sogou文件夹里的所有文件提取到W盘SOGOU文件夹中,然后运行W盘SOGOU文件夹中SOGOU.CMD,运行完后,由于W盘SOGOU文件夹里的所有的文件都已经不会再次用到,所以为了节省内存,我们把W盘SOGOU文件夹删除.


对于ISO版而言,我们可以直接运行可见分区里的文件,这样就可以直接运行PETOOLS目录下sogou文件夹里的SOGOU.CMD,而且由于省略了复制到W盘的步骤,除了节省了复制的时间外,也不用在运行完后删除.


UD原版:



修改后:




5.6.5 修改万能显卡.ini配置文件


与修改sogou.ini的方法一样,这里就不再啰嗦了.


UD原版:



修改后:




5.6.6 重新捕获basic.wim映像


这里就不做太多说明,操作方法与5.5.5.2节中捕获2K3 Native PE的2级内核一样,以下是捕获basic.wim的命令:


提醒: 先删除原basic.wim,再捕获basic.wim,生成basic.wim后记得删除basicwim文件夹!还有要以管理员方式进入命令提示符操作!

  1. REM 进入到PETOOLS文件夹(我这里是)
  2. pushd D:\del\ty56_tmp\PETOOLS
  3. REM 重新捕获basic.wim映像
  4. imagex /compress maximum /verify /capture .\basicwim .\basic.wim "BasicTools"
复制代码

到这里各PE的修改也就完成了,最后还剩下GRUB4DOS引导菜单还没修改,接下来就完成最后的工作.


点评

内容好丰富  详情 回复 发表于 2013-11-6 19:20
内容好丰富  详情 回复 发表于 2013-11-6 19:20
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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