无忧启动论坛

标题: 淘气包使用 - 硬盘部署概述[原创] [打印本页]

作者: Gandalf    时间: 2007-9-8 11:12
标题: 淘气包使用 - 硬盘部署概述[原创]
1. 相关文件
-------------------------------
假设你的菜单文件是, (hd0,0)\airboot\demo.gz,且 (hd0,0) = c:\

c:\Avldr.bin           - 这个文件是有 Avlgomgr 装配 Aero.sys 后得到,用以从硬盘分区上加载 Aero.sys;

c:\Aero.sys            - 这是时空淘气包的底层程序,图形化功能即有它提供,基于 Grub0.97,从 Avlgo.G1 派生而来;

c:\airboot\Aero.ini    - 这是 Aero.G2 的程序配置文件,制定了一些基本参数,以实现图形化多启动;

c:\airboot\demo.gz     - 这是 Aero.G2 的用户菜单文件,用 romfs+gz 封包的。包括 Aero.G1 的 airmenu.ini 及菜单贴图文件;

c:\airboot\demo.gz\airmenu.ini - 实际的菜单文件;


1. Avldr.bin 现在已经被广泛得使用在了 WinPE 的启动中,它能支持 FAT32/NTFS 分区加载引导代码以及 NTLDR 风格的引导器程序。它最初的目的就是用来引导 AviatoR( 时空淘气包的开发代号 ) 的。

      当时根据大家的建议,被设计成了普适而轻巧的引导器的引导器,而且二进制文件大小是 8KB

      虽然是支持 NTLDR 风格的引导器,但是,使用 AsmGrub 程序(淘气包的发行包中 bin 目录下有这个程序)后,同样支持任意版本的 Grub 加载。

      它的使用方法很简单,将它放到 boot.ini 中,然后修改偏移 0x02F0 处的文件名即可。注意一定是 8.3 格式,且用大些字母(建议使用 WinHex)。为了简化操作,我提供了 Avlgomgr.exe 来实现这个操作。

      它最早是从这里出现的:http://www.znpc.net/bbs/viewthread.php?tid=167&extra=page%3D1

      还提醒大家,在 ntldr 菜单中选中 Avldr.bin 的启动项后,按下 Alt 键不放,你会得到一个神奇的菜单...


   2. Aero.ini 主要是控制淘气包的 Aero.sys 的启动行为的,比如视频模式,是否使用启动画面,密码保护等等。最主要的还有一点,它指定了要加载默认菜单文件。


   3. demo.gz, 也就是菜单文件了,它首先是多个文件,然后被有序得放到了一个 romfs 文件中,然后再使用 gz 格式压缩。



2. 顺序
-------------------------------

图示: Avldr.bin -> Aero.sys -> Aero.ini -> demo.gz。

描述: 首先 Avldr.bin 从 ntldr 获得了系统的控制权,便开始从硬盘的各个分区上枚举 Aero.sys。找到后,便加载 Aero.sys 并移交控制权。
       然后,Aero.sys 根据自身的信息,从部署时指定的分区路径下去寻找 Aero.ini,如果失败,它便会将用户推到命令行。找到后,便根据配置,切换视屏模式,加载菜单。

       这里值得一提的是,如果用户系统不支持 Aero.ini 指定的视屏模式,Aero.sys 会尝试读取 airboot 目录下的 safemode.ini。这个文件的格式和 menu.lst 的一致。这个事情,我一直都没有提,而且在帮助文档中也没有。
       大家特别注意在光盘部署的时候,这个文件估计很有用处。它能支持 zipmenu 命令(Aero.G1 中的),以提供中文菜单显示。

       这样,demo.gz 所包含的菜单界面就呈现在了用户面前。

       如下图:





3. 实例 - 让 Aero.sys 替代 NTLDR
-------------------------------
Aero.sys 的文件格式是类 NTLDR/Bootmgr 的,所以,我们可以将它直接替换 Ntldr/Bootmgr 实现启动,这是一个技巧。

首先,我们假定你已经将目标分区格式化了,且能用 NTLDR/Bootmgr 启动的:

1). 将重命名 NTLDR/Bootmgr -> MSBf: ren ntldr msbf;                      ( msbf )
2). 用 Avlgomgr 装配这个 MSBf, 将得到的 Avldr.bin 重命名为 avldr.ms;      ( avldr.ms)
3). 在淘气包的设计中,用 run 命令引用 Avldr.ms 即可。

当然里面还有很多细节,请参阅文档。
作者: spadek    时间: 2007-9-8 12:02
Avldr.bin Aero.sys  能放到文件夹么。。。^_^
作者: lianjiang    时间: 2007-9-8 12:10
难道grub4dos还是不如gnugrub?




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3