读盘失败的原因有:
1、如果没有采用 grldr.mbr 而是直接采用分区引导代码,那么,由于分区引导代码没有自动适应 CHS 的能力,因此,出现 BPB 中的 CHS 不能够匹配主板 BIOS 的 CHS 的情况,这样可能导致 int13 读盘失败或死机。如果一个 PBR 的引导代码不采用 “几何参数探测和自适应” 的方法,那么它必须在 BPB 中放置完全正确的 H 和 S 值,保证与这个主板 BIOS 所认定的 H、S 值完全相同,这才行,否则就出现 disk error (或干脆死机)。
2、如果使用了 grldr.mbr,仍然有可能出现 CHS 不匹配的情况,这是因为,grub4dos 的 “自动探测 CHS” 的功能并不保证 100% 成功。真正可以保证 100% 成功的是 fbinst。既然 CHS 有可能不准确,那么这就会出现因执行 INT13 指令而导致的 disk error (或干脆死机)。
3、在 CHS 保证能够完全正确匹配主板 BIOS 的情况下,如果把 GRLDR 放置在靠后的位置,超出主板 BIOS int13 的访问能力,此时也会出现 disk error(或干脆死机)。
4、在主板 BIOS 支持 LBA 模式的情况下,这与上述第 3 条是类似的。即,如果把 GRLDR 放置在靠后的位置,超出主板 BIOS int13 的访问能力,此时也会出现 disk error(或干脆死机)。
如果我没搞错的话,以上这 4 条,好像就是与启动失败有关的全部的可能性。
因此,如果你想让你的 U 盘通用,(目前)你唯一可以使用的软件是 fbinst。如果你不考虑通用的问题,那么你可以自己设定 BPB 中的 H 和 S(匹配你的主板 BIOS) 来让你的这台机器成功启动。
欢迎光临 无忧启动论坛 (http://wuyou.net/) | Powered by Discuz! X3.3 |