> 由于没有BCDL的源代码和详细的工作原理说明文件,所以至于BCDL所期望的是“软的”还是“硬的”,确实无法说明。
它要引导真实光驱,又假定它无法使用 BIOS 本身的光驱引导程序,那么,它大概也只有这一个办法了,用硬件 IO 标准 ATAPI 来实现。不排除它也同时实现软的方法,但,那可能性太小了,它如果实现了软的方法,那么它应当顺便就实现了 ISO 文件的引导。或者说,实现软的方法,其目的就是实现 ISO 文件的引导。
> 不过,如果GRUB针对BIOS写补丁程序的话,虽然可能实现一些非常美好的功能,但是,由于BIOS的光盘读功能本来就没有标准,GRUB的此补丁能做到通用吗?还有,如果BIOS本身就不支持光盘引导功能怎么办(比如我的那台电脑就是)?
GRUB 做出补丁的话,当然是 GRUB 自己的调用方法了(放在 int 13h 中),跟谁的都不一样;也没有谁的曾经出现过,所以,想跟它一样都不可能了。既然是 GRUB 自己的,当然就统一了。只要使用 GRUB,就会有这个统一的补丁。不使用 GRUB 的话,当然没有了。
GRUB 的补丁,就是要把 BIOS 里面的光盘扇区函数找出来,这些函数,可能不是以 int 的形式出现的,GRUB 补丁的意图,就是把这些函数封装到 int 13h 之中。如果某个主板对此进行加密(不太可能这么做),那我们就可能无法找到这个函数,这样,我们当然就放弃对这类主板的支持。我的机器是华硕的主板,看来这个函数比较容易找到,现在已经有点眉目了,只是没有时间去做。
如果 BIOS 本身都不支持,那么,当然没有这样的函数了。放弃对这个主板的支持。
在 GNU GRUB 的 TODO 列表中也有这样明确的暗示,要求 BIOS 本身必须支持光盘引导。看来 GNU GRUB 的开发者也是这么考虑的,其思路可能和我们的是一样的。
当如上所说无法支持某个主板的时候,我们是指不支持从真实光驱引导。从 ISO 文件引导完全是支持的,这个与 BIOS 是否支持光驱引导无关。ISO 文件是软的,使用“可引导的 CDROM 标准”。
要想在那些主板之下支持真实光驱引导,可以选择 SBM 或者 BCDL。两个都是漂亮的软件。GRUB 不可能代替它们。
它要引导真实光驱,又假定它无法使用 BIOS 本身的光驱引导程序,那么,它大概也只有这一个办法了,用硬件 IO 标准 ATAPI 来实现。不排除它也同时实现软的方法,但,那可能性太小了,它如果实现了软的方法,那么它应当顺便就实现了 ISO 文件的引导。或者说,实现软的方法,其目的就是实现 ISO 文件的引导。
> 不过,如果GRUB针对BIOS写补丁程序的话,虽然可能实现一些非常美好的功能,但是,由于BIOS的光盘读功能本来就没有标准,GRUB的此补丁能做到通用吗?还有,如果BIOS本身就不支持光盘引导功能怎么办(比如我的那台电脑就是)?
GRUB 做出补丁的话,当然是 GRUB 自己的调用方法了(放在 int 13h 中),跟谁的都不一样;也没有谁的曾经出现过,所以,想跟它一样都不可能了。既然是 GRUB 自己的,当然就统一了。只要使用 GRUB,就会有这个统一的补丁。不使用 GRUB 的话,当然没有了。
GRUB 的补丁,就是要把 BIOS 里面的光盘扇区函数找出来,这些函数,可能不是以 int 的形式出现的,GRUB 补丁的意图,就是把这些函数封装到 int 13h 之中。如果某个主板对此进行加密(不太可能这么做),那我们就可能无法找到这个函数,这样,我们当然就放弃对这类主板的支持。我的机器是华硕的主板,看来这个函数比较容易找到,现在已经有点眉目了,只是没有时间去做。
如果 BIOS 本身都不支持,那么,当然没有这样的函数了。放弃对这个主板的支持。
在 GNU GRUB 的 TODO 列表中也有这样明确的暗示,要求 BIOS 本身必须支持光盘引导。看来 GNU GRUB 的开发者也是这么考虑的,其思路可能和我们的是一样的。
当如上所说无法支持某个主板的时候,我们是指不支持从真实光驱引导。从 ISO 文件引导完全是支持的,这个与 BIOS 是否支持光驱引导无关。ISO 文件是软的,使用“可引导的 CDROM 标准”。
要想在那些主板之下支持真实光驱引导,可以选择 SBM 或者 BCDL。两个都是漂亮的软件。GRUB 不可能代替它们。
因为我们亲手创建,这个世界更加美丽。

精华I

