======================
借助于 Grldr 以及 VFloppy 的威力,我们可以在 nt 系统上加入对 DOS 环境
的美妙支持; 而借助于 AvldrNG 的魔力,我们可以将这个过程颠倒过来: 我们
可以让 DOS 环境跳转到 NT 系统的引导环境中去。 ;)
=============
诸位可还记得 Avldr for Grub 的 3 合一尝试? 是的,这个 AvldrNG 也是
在 Avldr for Grub 的尝试版本的基础上完善、改进二来的。由于, WinVI
的推出,我觉得这个工具应该是有用的。比如说:
◎ 我们没有安装 ntldr 的引导环境,但确需要从硬盘上载入一份 WinPE ,
比如这个 WinPE:
http://sysoft.zdwx.com/forum/viewthread.php?tid=169&fpage=1,那么
我们只需要在 C:\ 放置 setupldr.bin, bootdetect.com, winnt.sif 等文件,然后
在纯 dos 下运行
c:\>Avldrng /loader=setupldr.bin 就可以载入这个 PE 了。
◎ 安装有 ntldr 的引导环境,我们可以在 Windows 下运行 Avldrng.exe, 将
c:\setupldr.bin 拖放到 Avldrng.exe 的文件选择对话框中,然后选择“安装”,然
后打开 C:\boot.ini 粘贴一下,就能增加一行新的引导条目。重启计算机,选择
新增的条目,即可载入这个 WinPE 了。 当然,如果你知道 Windows Vista
那么,它有一种新的 PE 技术,叫做 Wim 方式。 对于这个 WimPE, 您可以参见
http://sysoft.zdwx.com/forum/viewthread.php?tid=158&fpage=1
在获取 bootmgr 后,我们就能使用 AvldrNG 去载入这个 WimPE 了。WinPE 并不遥远!
◎ 我可以用 AvldrNG 从软盘上载入 NTLDR/PELDR/Bootmgr/Grldr 嘛?
可以的。 但是,一定记住, AvldrNG 扫描指定引导器文件的顺序是
hd1 -> hd2 -> fd1 -> fd2
需要说明的是,如果第一硬盘不存在,它才会去寻找 hd2; 如果前面硬盘分区上没有
找到指定的载入器文件,它会尝试 A 盘的。如果 A 盘复位失败,才会去尝试 B 盘的。
当然,如果都没有的话,它会将你推到一个引导菜单中去。 ... ... ;-)
最新版,请从 http://sysoft.zdwx.com/forum/viewthread.php?tid=167&pid=1104&page=1 查询。

[ Last edited by Gandalf on 2005-9-9 at 23:12 ]
Gemini 解答
技术原理与可行性分析
Avldrng.exe 的核心功能是在 DOS 实模式下模拟 MBR 引导后的控制权转移流程,将系统从 DOS 环境切换到 NT 系列系统(或 WinPE)的引导加载器(如
ntldr、setupldr.bin、bootmgr)。其技术前提是:
- DOS 已完成硬件初始化(如磁盘控制器、内存分页机制的基础准备);
- 目标引导加载器文件(如
ntldr)所在介质(软盘、硬盘分区)可被 DOS 访问(例如,若目标文件在 NTFS 分区,需先加载 DOS 下的 NTFS 驱动);- 引导加载器自身支持从“非 MBR 直接引导”的环境启动(
ntldr、setupldr.bin等设计时已考虑此类场景,因此兼容性较好)。关键限制与当年的常见误解
1. 对“从 DOS 直接返回 WinXP”的澄清
Post #5 中“在 WinXP 安装前用
format c:/s生成的 DOS 环境中直接启动 WinXP”的需求无法实现,原因是:
- 该 DOS 环境是 WinXP 安装程序遗留的实模式维护环境(依赖
io.sys/command.com),而 WinXP 是保护模式操作系统,需通过ntldr完成实模式到保护模式的切换、硬件重新初始化等步骤;- DOS 实模式下无法直接加载保护模式内核,必须通过
ntldr等引导器的完整流程。Post #6 中 Gandalf 的回复正确指出了这一点,当年此类误解常见是因为用户混淆了“DOS 维护环境”与“独立 DOS 系统”的本质差异。2. 引导器文件的扫描顺序
Avldrng 对引导器文件的扫描顺序为
hd1 -> hd2 -> fd1 -> fd2(即第一硬盘、第二硬盘、A 盘、B 盘),这一设计是为了优先尝试硬盘上的引导文件,但需注意:
- DOS 下的磁盘编号与 BIOS 可能存在差异(例如,部分克隆硬盘的 DOS 驱动会改变磁盘顺序),可能导致文件查找失败;
- 若软盘(fd1)存在但复位失败(如软盘损坏),才会尝试 fd2(B 盘),这是当年软盘介质可靠性较低时的妥协设计。
3. 对 Vista/WinPE 的支持
Post #1 提到的
bootmgr(Vista 及以后的引导器)在当年属于较新的技术,Avldrng 对其支持依赖于bootmgr自身的兼容性——由于bootmgr设计时延续了ntldr的引导逻辑,因此实际测试中多数情况下可正常加载,但需确保bootmgr所需的辅助文件(如BCD配置文件)存在且路径正确。历史意义与后续发展
Avldrng 在 2005 年的价值在于打通了 DOS 与 NT 系统的引导通路,解决了当年“用 DOS 启动盘修复 NT 系统引导”“从 DOS 启动 WinPE 进行系统维护”等实际需求。后续 Grub4dos(Post #15 提及)也实现了类似功能,且支持更多引导器类型,逐渐成为更主流的解决方案,但 Avldrng 作为早期尝试,为这类工具的设计提供了参考。
总结
Avldrng 是当年 DOS 与 NT 系统引导互操作的创新工具,其核心原理是模拟 MBR 引导流程实现控制权转移,可行性依赖于 DOS 对目标介质的访问能力和引导器的兼容性。需注意其扫描顺序、分区格式限制等细节,避免因环境差异导致失败。

