无忧启动论坛

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

利用"时空淘气包"在硬盘上打造全图形、全方位、多功能的多栖启动!

[复制链接]
跳转到指定楼层
1#
发表于 2006-10-13 08:26:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、前言
      看过老毛桃的大作《使用“时空淘气包”将老九WinPE老毛桃修改版安装到硬盘全程图解傻瓜教程》后深有体会,也是本人曾经想做的事。但对"淘气包"的使用本人想到了更深入的方法,就是如题。
      老毛桃的方法,BOIS自检后进入的是文本启动界面(如图1),能不能在BOIS自检后直接进入"淘气包"的图形界面(如图2)呢?这就是本文要探究的问题。
      本人也在自己的机子上做过试验:《时空淘气包》---- 图形化全方位多栖启动实例下载,但由于这种硬盘分区方式不普遍,所以介绍一种在常见的硬盘分区中的方法----利用"时空淘气包"在硬盘上打造全图形、全方位、多功能的多栖启动!
      本文比较长,预计6个部分(因为图多,准备发6帖):
1、前言----即这帖
2、点子----原理说明
3、关于NTLDR----对Win2K3 SP1的NTLDR修改
4、淘气包----"淘气包"的使用
5、后期工作----对"淘气包"BUG的修补和"淘气包"文件的说明
6、注意问题----结束语及对教程使用的注意事项

[ 本帖最后由 lxl1638 于 2006-10-23 11:12 AM 编辑 ]

文本启动界面.PNG (13.64 KB, 下载次数: 496)

文本启动界面

文本启动界面

图形启动界面.PNG (244.05 KB, 下载次数: 490)

图形启动界面

图形启动界面

AIRBOOT.part1.rar

488.28 KB, 下载次数: 3023, 下载积分: 无忧币 -2

AIRBOOT.part2.rar

241.63 KB, 下载次数: 2586, 下载积分: 无忧币 -2

2#
 楼主| 发表于 2006-10-13 08:26:28 | 只看该作者
二、点子即原理
      Windows 2000以后,引导扇区加载NTLDR来读取BOOT.INI文件,再根据BOOT.INI中的启动项进入相应的系统,双(多)启动菜单的文本启动界面其实就是BOOT.INI的体现,"淘气包"作为其中一个启动项,要进入"淘气包"之后才能在屏幕上显示图形启动界面,即前一半是文本启动界面,后一半是图形启动界面,有点不伦不类。那么又如何一开始(BOIS自检后)进入图形启动界面呢?基本思路是让引导扇区加载第一时间或尽早加载"淘气包"AERO.SYS,因此方法也有二,其中第二种方法是《时空论坛》的获利非尔得提示,在此要谢谢获利非尔得了 。这两种方法是:
      方法一:通过Windows的NTLDR读取BOOT.INI(只有一个启动项)去载入AERO.SYS,再通过淘气包去载入NTLDR的另一个修改副本MSLDR,而MSLDR则读取BOOT.INF(原BOOT.INI的改名)去启动Windows。

  1. NTLDR ==> BOOT.INI(只有一个启动项,直接启动"淘气包") ==="淘气包"的Windows启动菜单加载MSLDR(NTLDR修改而成)==>读取BOOT.INF文件(原BOOT.INI文件的改名,只有一个启动项)==>启动Windows
复制代码

      "淘气包"的其它启动菜单则做别的事,如启动WinPE、基于DOS int13的ISO或各种DOS类的IMG等。
      这样BOOT.INI文件的内容则是:

  1. [boot loader]
  2. timeout=10
  3. default=C:\Avldr.bin
  4. [operating systems]
  5. C:\Avldr.bin="启动淘气包"
复制代码


      而BOOT.INF文件的内容则为:

  1. [boot loader]
  2. timeout=20
  3. default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
  4. [operating systems]
  5. multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Standard" /noexecute=optout /fastdetect
复制代码

      MSLDR(原NTLDR改名修改得到的一份),会读取BOOT.INF而启动Windows,修改MSLDR的原理是将其中所有BOOT.INI字符改为BOOT.INF,并去除校验。下一帖就说明其修改方法。

      方法二:将NTLDR改名为MSLDR,将AERO.SYS改名为NTLDR,这样就可以让引导扇区第一时间载AERO.SYS(因为它已改名为NTLDR),而真正启动Windows的NTLDR(已改名为MSLDR)则通过"淘气包"的一个菜单项去载入。方法二的思路更简单明朗,不用对BOOT.INI文件修改,也不用修改NTLDR的内部数据(只需改名为MSLDR)。

[ 本帖最后由 lxl1638 于 2006-10-21 12:47 PM 编辑 ]
回复

使用道具 举报

3#
 楼主| 发表于 2006-10-13 08:26:35 | 只看该作者
三、关于NTLDR
      如果用"点子"中的方法二的话,不用修高NTLDR文件,只需改名为MSLDR即可,以下是对"点子"中的方法一来说的。
      本人实机、虚拟机都安装了Windows Server 2003 R2版,也是目前2K3中较(最)新的版本,本人是在这个版本试验成功通过才写教程的。硬盘上的NTLDR与光盘上的SETUPLDR.BIN(PELDR)一样存在文件校验,经试验其文件校验的位置与PELDR一样,就是2060h和2061h这两个位置,修改方法也与PELDR一样,改为EB 1A。
      修改这一文件步骤为:

  1. 1、将NTLDR复制一份,再改名为MSLDR
  2. 2、用Hex编辑器打开,找到十六进制地址 2060h 处,将 2060h~2061h 处的 74 03修改成 EB 1A,如图1。
  3. 3、再将所有的BOOT.INI字符改为BOOT.INF字符,共12处,如图2。
复制代码

      之所以这样改,其一是工作量少,其二是能使MSLDR从BOOT.INF中读取Windows启动路径和参数,修改前后这两个文件的MD5见图3。

[ 本帖最后由 lxl1638 于 2006-10-19 07:42 PM 编辑 ]

修改MSLDR之1.PNG (41.29 KB, 下载次数: 407)

图1

图1

修改MSLDR之2.PNG (38.17 KB, 下载次数: 405)

图2

图2

修改MSLDR之3.PNG (27.63 KB, 下载次数: 406)

图3

图3
回复

使用道具 举报

4#
 楼主| 发表于 2006-10-13 08:26:41 | 只看该作者
四、淘气包
    淘气包的使用方法大体是抄老毛桃的,本人将其细化为4个部分:
1、建立和设置淘气包的工程文件
    打开淘气包的主程式Aeromgr.exe,它会自动载入一份"无标题"的工程模板,按图1、图2进行全局设置。
2、菜单按钮的绘制和菜单条目的设置
    对工程进行全局设置后,可按图3至图11来绘制、设置菜单按钮。
3、文本区域的利用
    图12说明如何使用文本区域,在背景写上文字作为说明或广告,它的设置方法与按钮相似。
    文本区域也可作菜单使用,当文本区域仅仅是用来显示文字时,用不着Grub的命令。
4、部署工程到硬盘
    见图13

[ 本帖最后由 lxl1638 于 2006-10-19 07:43 PM 编辑 ]

01-准备对工程设置.PNG (34.07 KB, 下载次数: 433)

图1

图1

02-全局设置.PNG (172.97 KB, 下载次数: 408)

图2

图2

03-准备绘制菜单按钮.PNG (249.54 KB, 下载次数: 391)

图3

图3

04-绘制菜单按钮.PNG (249.07 KB, 下载次数: 418)

图4

图4

05-克隆铵钮.PNG (241.11 KB, 下载次数: 389)

图5

图5

06-调整按钮布局.PNG (253.62 KB, 下载次数: 401)

图6

图6

07-菜单条目属性设置.PNG (182.47 KB, 下载次数: 435)

图7

图7

08-启动 老九WinPE 的菜单设置.PNG (198.15 KB, 下载次数: 421)

图8

图8

09-从虚拟光驱启动的菜单设置.PNG (183.45 KB, 下载次数: 444)

图9

图9

10-关机菜单设置.PNG (193.36 KB, 下载次数: 424)

图10

图10

11-菜单按钮组合.PNG (444.01 KB, 下载次数: 405)

图11

图11

12-文本区域的利用.PNG (304.22 KB, 下载次数: 393)

图12

图12

13-工程部署.PNG (283.47 KB, 下载次数: 421)

图13

图13
回复

使用道具 举报

5#
 楼主| 发表于 2006-10-13 08:26:47 | 只看该作者
五、后期工作
      "淘气包"有个小BUG,在进行菜单条目属性设置快捷键时,按小写的或是大写的,在控件属性中均为大写,这点问题不大,但部署工程时产生的AIRMENU.INI文件中,所有表示快捷键的都是大写,随之的问题是启动后击键盘得到的一般是小写字符,所以快捷键不起作用(除非打开Caps Lock或按住上档键再按快捷键),修补的方法是将AIRMENU.INI文件中所有表示快捷键的大写字母换成小写字母,如:

shortkey=H
换成
shortkey=h

"淘气包"部署后产生一个AIRBOOT目录,其下的文件(.GZ均为压缩文件)意义为:
WALLPAPER.GZ ---- 背景图
MIHOV_?.GZ ---- 菜单的高亮图(?表示数字)
MINOR_?.GZ ---- 菜单的正常图(?表示数字)
CURSOR.GZ ----  鼠标指针
HAND.GZ ---- 鼠标在菜单或热区上的指针
MUIFONT.GZ ---- 字体文件?
WALLPAPER.PNG ---- 背景图备份?可以删除
AIRMENU.INI ---- 配置文件,内有各菜单的位置、图形,菜单的快捷键和执行菜单的命令(组)的说明

修改这些文件也可以修改淘气包,比如自定义自已的鼠标指针等。

[ 本帖最后由 lxl1638 于 2006-10-19 07:43 PM 编辑 ]
回复

使用道具 举报

6#
 楼主| 发表于 2006-10-13 08:26:54 | 只看该作者
六、注意问题
     教程已草草发完,要按教程实践的朋友注意以下几点:
1、先在虚拟机上试验;
2、备份好硬盘上的BOOT.INI、NTLDR两个文件;
3、当设计上有错或其它原因使淘气包不能工作时,必须存在能启动机子的其它设备(如光驱、第二硬盘等),且能恢复原来的BOOT.INI和NTLDR文件。一旦出错,恢复原来的BOOT.INI或NTLDR文件即会回到原来的文本启动界面了。

     这两种方法的优点是:
1、第一时间启动到图形界面,哄MM或哄小孩一流。
2、安装方便,因为不用写MBR。
方法一的安装过程为:
      将原来的BOOT.INI文件改名为BOOT.INF;
      复制下一帖列表的文件。
      再新建一个以下内容的BOOT.INI文件;
  1. [boot loader]
  2. timeout=1
  3. default=C:\Avldr.bin
  4. [operating systems]
  5. C:\Avldr.bin="启动淘气包"
复制代码

      
      方法二的安装过程为:
      将NTLDR改名为MSLDR;
      将AERO.SYS改名为NTLDR;
      再复制下一帖列表的文件。
3、卸载方法很简单。
      方法一的卸载为:
      将BOOT.INF改名为BOOT.INI或将原来备份的BOOT.INI恢复回C:就可以了。
      方法二的卸载为:
      删除NTLDR,将原来备份的NTLDR恢复回C:就可以了。

4、这种方法不写硬盘引导,也是比较多人容易接受的方法。用Grub写MBR时,卸载也要写MBR,而GRUB的有关文件出问题,不了解Grub的人将要面对一些从没见过的命令。
      下面将本人机子上的相关文件作个列表:

  1. C:的根目录
  2. Aero.sys --- 淘气包的主要文件(含Grub、isoemu等功能)
  3. avldr.bin ---- Aero.sys 的载入器,部署淘气包会自动生成
  4. boot.inf  ---- 原来的BOOT.INI改名而成
  5. boot.ini  ---- NTLDR读取它,只有一个启动项,内容见2楼
  6. msldr     ---- NTLDR修改而成,它会读取BOOT.INF启动Windows
  7. bootfont.bin ---- 这个不用说了
  8. mydoscd.iso ---- 基于DOS int13的ISO,能被isoemu启动
  9. NTDETECT.COM ---- 不用说
  10. NTLDR ---- 不用说
  11. PELDR ---- 启动RamPE的文件(下同)
  12. WINNT.SIF
  13. WINPE.IMG
复制代码


  1. C:\AirBoot目录
  2. Avldr.PE --- PELDR的载入器,通过Avlgomgr.exe对PELDR生成
  3. Avldr.ms --- MSLDR的载入器,通过Avlgomgr.exe对MSLDR生成
  4. 其它文件已在5楼说明
复制代码


      启动界面见1楼的第2幅图,晚些本人再将所有文件打包传上来(3M多,不到4M,含一个4M的ISO)。

[ 本帖最后由 lxl1638 于 2006-10-19 10:29 PM 编辑 ]
回复

使用道具 举报

7#
发表于 2006-10-13 08:28:07 | 只看该作者
占位,等待
回复

使用道具 举报

8#
发表于 2006-10-13 08:37:14 | 只看该作者
淘气包 启动时会有一些乱七八糟的东东闪过屏幕,还好是闪过
回复

使用道具 举报

9#
发表于 2006-10-13 09:16:30 | 只看该作者
这么麻烦,办什么不直接用GRUB写入MBR,启动后进入图形界面来得多干爽
回复

使用道具 举报

10#
 楼主| 发表于 2006-10-13 09:45:44 | 只看该作者
____写MBR的方式是另一种,但维护困难,这种方式只需恢复原来的BOOT.INI文件就是原来的文本启动界面了,安装方便,反安装更方便。写MBR的方式反安装时又要写MBR,对一些不了解GRUB的人来说,GRUB的menu.lst或其它文件出了问题,将面对一种从没见过的命令行模式!
回复

使用道具 举报

11#
发表于 2006-10-13 09:50:43 | 只看该作者
不错,支持。
回复

使用道具 举报

12#
发表于 2006-10-13 09:59:36 | 只看该作者
关于启动MS2003部分的代码没有看明白
回复

使用道具 举报

13#
发表于 2006-10-13 10:14:53 | 只看该作者
原帖由 lxl1638 于 2006-10-13 08:26 发表
五、后期工作
____"淘气包"有个小BUG,在进行菜单条目属性设置快捷键时,按小写的或是大写的,在控件属性中均为大写,这点问题不大,但部署工程时产生的AIRMENU.INI文件中,所有表示快捷键的都是大写, ...

呵呵,这个早注意到了,希望淘气包的下一个 Beta 版本能够解决。

支持老九!
回复

使用道具 举报

14#
发表于 2006-10-13 10:48:26 | 只看该作者
支持,谢谢!
回复

使用道具 举报

15#
发表于 2006-10-13 11:09:39 | 只看该作者
界面看起来不错,操作复杂了些呀!
回复

使用道具 举报

16#
发表于 2006-10-13 11:10:57 | 只看该作者
真的是好东西,收藏!!!
回复

使用道具 举报

17#
 楼主| 发表于 2006-10-13 11:28:04 | 只看该作者
原帖由 老毛桃 于 2006-10-13 10:14 AM 发表

呵呵,这个早注意到了,希望淘气包的下一个 Beta 版本能够解决。

支持老九!

除了这点外,还有一些小问题,当设计时用800*600或以上的分辨率就会发现,本人已将这些小Bug发到了时空论坛。

http://www.znpc.net/bbs/viewthre ... &extra=page%3D1

[ 本帖最后由 lxl1638 于 2006-10-13 11:29 AM 编辑 ]
回复

使用道具 举报

18#
发表于 2006-10-13 16:31:15 | 只看该作者
 路过,看了老九的文章,写得不错。

 一个建议:要空格,请使用引号中的内容即可“ ”,我用的是紫光输入的。

 一个问题: Win2003 SP1 的NTLDR 的校验和的一些细节,请赐教。^_^

 支持一下!
回复

使用道具 举报

19#
发表于 2006-10-13 16:32:02 | 只看该作者
 淘气包的 bug, 我会抽时间修改的。
回复

使用道具 举报

20#
 楼主| 发表于 2006-10-13 17:43:00 | 只看该作者
原帖由 Gandalf 于 2006-10-13 04:32 PM 发表
 淘气包的 bug, 我会抽时间修改的。


谢谢!难得老大你----淘气包的作者抽空给我们指导!
回复

使用道具 举报

21#
发表于 2006-10-15 14:41:26 | 只看该作者
  
  惭愧,我也就用淘气包作了一张万能 Ghost,数次硬盘部署而已。^_^
回复

使用道具 举报

22#
发表于 2006-10-16 19:30:42 | 只看该作者
学习学习!
回复

使用道具 举报

23#
发表于 2006-10-18 22:42:49 | 只看该作者
好帖子,收藏了,慢慢玩。
回复

使用道具 举报

24#
发表于 2006-10-18 23:43:25 | 只看该作者
这个只能先学习了,有时间再做,谢谢各位
回复

使用道具 举报

25#
发表于 2006-10-19 00:21:02 | 只看该作者
想不到“淘气包”的功能这么强大,要好好学习。
回复

使用道具 举报

26#
 楼主| 发表于 2006-10-19 22:33:16 | 只看该作者
补充了一些内容,将获利非尔得的提示作为方法二补充到教程
回复

使用道具 举报

27#
发表于 2006-10-20 02:34:36 | 只看该作者
进来冒个泡, 留个脚印
回复

使用道具 举报

28#
发表于 2006-10-20 13:32:01 | 只看该作者
我对淘气包很感兴趣
如果我想用淘气包将几张可启动光盘集合成一个iso文件,然后刻盘
比如老九的winPE和深山红叶,不知道该怎么做??
回复

使用道具 举报

29#
发表于 2006-10-20 18:44:30 | 只看该作者
多谢,写得好详细,你真是好人。
回复

使用道具 举报

30#
发表于 2006-10-21 09:19:37 | 只看该作者
还是有时间慢慢看吧
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-27 05:42

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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