|
根据反馈的失败信息,我给出我的意见以及分析。
USB 启动,它的最大困难在于启动的成功率。以往我们的研究已经证明,USB 的启动失败,是 BIOS 制造商专门设下陷阱造成的。这些陷阱一旦被你的启动软件撞上,你的软件也就死翘翘了。
BIOS 设下了多少陷阱?抱歉,这个问题我可不想回答。具体数字没有统计过,也没这闲情雅致去统计,有好多情况都已经忘掉了,记忆模糊了。我能够回答的是,grub4dos 的开发历程,就是与 BIOS 陷阱战斗的历程,其数量之多,令人不寒而栗,而且每个陷阱都难以发现和躲避。注意,我说的不是 BIOS bug,而是 BIOS 陷阱。bug 和陷阱是有本质区别的。陷阱是开发商故意制造的,bug 是开发商不希望有但却存在的。不管是 bug 还是陷阱,其结果都是一样的:让系统运转失常。
为了对付各种陷阱,grub4dos 做了很多工作。比如,为了对付 CHS 陷阱,我们使用了自动探测几何参数的技术。为了适应 BIOS 对 USB 的第一扇区的不同对待,我们也使用了三重MBR 的技术。这些技术都在一定程度上得到大家的认可,受到大家的欢迎。在开发这些技术的过程中,也得到大量的、充分的测试。时空论坛有详细的记录,可以考察。
根据测试,这些技术提高了启动成功率,使原来一些不能启动的机器启动了。但是,测试也表明,仍然有不少情况没有得到改善。
为此,bean 开始尝试 fbinst 技术。同样,这个 fbinst 得到了广泛的支持,测试者众多,时空论坛有详细的记录,可供考察。测试的结果,发现 fbinst 比 grub4dos 的三重 MBR 技术有着更高的成功率。所以,三重MBR 技术刚刚诞生不久,就开始沉寂下去了,原因就是因为遇到了 fbinst 这个强劲的对手。
三重MBR技术不能在理论上保证100%的成功率。但是,fbinst 就不同了,它是逻辑上严谨的,能够在理论上自圆其说,保证不会有考虑不到的技术死角,所以,理论上是 100% 的成功,不会有失败。
然而实际的测试结果表明,fbinst 也有失败的情况,尽管已经属于很少的少数了。这在 fbinst 开发之初都发现了。那是因为测试者众多,所以,开发之初就发现了这个问题。但是,当时不知道是怎么回事。
现在终于弄明白了。依旧是那些 BIOS 制造商的陷阱造成的。BIOS 制造商可能本来是想让 grldr.mbr 死机的,所以,检查 USB 第一扇区的第一个字节,如果是 EB 就死机。这叫自杀。grldr.mbr 的第一扇区的第一字节确实是 EB,而 fbinst 的第一字节也正好是 EB,所以,fbinst 也死了。已经暴光的有 Acer 和 Dell,都是这么干的,其他的应该还有许多,只是未能被暴光而已。一个厂家要这么做,也并非其所有的型号都是这么干的。甚至这些厂家有可能也是不知情的,他们很可能也是受害者。那真正的攻击者可能躲在背后,他们偷偷地把恶意代码放置在 BIOS 中。也就是说,这是 BIOS 程序员干的,但可能是为了背后的某个利益集团而被迫干的。这与 BIOS 制造商制造其他五花八门的陷阱的情况完全一样。
根据机器生产的年代,那不是 fbinst 诞生的年代,而是 grub4dos 处于发展的年代。所以能够知道,其目标不是针对 fbinst,而是针对 grub4dos。
好了,现在知道 fbinst 为何死机了,找到了它的技术原因以及非技术原因。“非技术”原因早都耳熟能详了,但技术原因很难掌握,只是最近才暴光的。如果 fbinst 修改开头的 EB 字节,有可能在现有的机器上 100% 成功。但由于我们早已熟悉的“非技术”原因,今后fbinst 能否保证100%的成功,那可不敢肯定了。按照“陷阱制造说”的逻辑,应该是绝无可能保证100%成功,而是成功率越来越低。任何一个开源软件,其成功率都会越来越低,因为这已经完全不是一个技术问题了。
不管怎么样,fbinst 是理论上能够保证 100% 成功的软件。据我所知,其他没有一个软件能够在理论上自圆其说,保证这样的成功率。理论的成功率和实际的成功率是有差异的,这个差异是非技术的因素造成的。
如果上述推测是正确的,那么不可能有任何一个(开源)软件在实际上能够有100%的成功率。你想成功?有人专门破坏你的成功。是你建造高楼容易呢?还是破坏者炸掉高楼容易?这是很浅显的道理了。
好了,您看了上面的文字之后,可能已经明白,尽管 fbinst 没有做到 100% 的成功,但是,它也是没有对手的。fbinst 所采用的技术没有漏洞,而其他软件则在技术上已经站不住脚了,更不可能保证什么成功率了。据我所知,目前没有一个别的软件采用与 fbinst 类似的技术。所以,没有一个软件能够有 fbinst 的巨高成功率。
一句话,建议楼主用 fbinst 作为第一启动,grldr 作为第二启动,方可保证满意的成功率。别无它途。而 grldr 由于多年排解各类 BIOS 的陷阱,它作为第二启动,也是当然之选。用户数量的庞大,也间接地表明了一个软件的成功率。
希望这些文字,能够对楼主有所帮助。 |
|