其一,bootlace 在基于 BIOS 的环境不可靠。建议不要采用这种方式。
其二,bootlace 在 WIndows NT 系列下只能间接进行安装,不能直接进行安装,需要拐个弯,通过 dd for windows 来实现。不过,这种方法倒是可靠的,因为这不再使用主板本身的 BIOS 了,而是使用 Windows NT 所提供的虚拟 DOS 服务。注意,这里的 “可靠” 不等于 “安全”。“可靠” 是指 bootlace 不会犯错,不会出现莫名其妙的错误了。“安全” 是指当你使用 dd for windows 写盘时,你需要保证不写入到错误的盘上。如果你写入到错误的盘上,那就直接毁了这个被写的盘。因此,安全性与 bootlace 无关,而与操作者有关。这就解释了 “可靠” 不等于 “安全”。
好了,该说说第三种方法了。那就是,使用 Linux,它也是可靠的方法。使用 Linux 之所以可靠,是因为 Linux 也不使用主板 BIOS。与 Windows NT 相比,使用 Linux 的好处是不用拐弯了,因为 Linux 下的 bootlace 支持直接写入物理硬盘。当然了,由于不再拐弯,所以,安全性也算是比较好了。
最后再总结一下,推荐的可靠方法只有两种:
1、使用 Windows NT,但需要 “拐弯” 经由 dd for windows 实现安装。
2、使用 Linux,直接安装。
具体使用方法,可以参考 grub4dos 软件包里面的 README 文件。
最后再补充强调一点。Windows NT 的 “命令提示符” 之下所运行的 DOS 程序,可以调用 DOS 服务,即 int21,这是由 NT 系统所提供的虚拟 DOS 服务。当然,其他相关的 DOS 服务也会由 NT 系统来提供。但是,NT 系统不提供 int13 这个 BIOS 服务。所以,INT13 方式的读写磁盘,都会返回失败信息。这就是为什么不能在 NT 的 “命令提示符” 下使用 bootlace 0x80 的原因,只能使用 bootlace MyFile 的方式,这种方式使用的是虚拟 DOS 的 int21 磁盘服务,而不是使用 BIOS 的 int13 磁盘服务。
严格来说,bootlace 支持三种运行环境:
1、带有 BIOS 的 DOS 环境。例如,实模式下的 DOS 环境,使用主板提供的 BIOS。再比如,Win98 的 DOS 窗口,既含有虚拟的 DOS 服务,也含有虚拟的 BIOS 服务。bootlace 既可以使用 int13 BIOS 服务,也可以使用 int21 DOS 服务。
2、不带 BIOS 的 DOS 环境。Windows NT 的命令提示符就是这样的环境,它阉割掉了 BIOS 的 int13 磁盘服务,只能使用虚拟的 DOS 磁盘服务 int21。
3、Linux 32 位(或 64 位)环境,bootlace(或 bootlace64)使用 Linux 的系统调用进行磁盘的读写。