|
同意以上各位的分析。
建议做以下测试,或者也算是 workaround 吧(因为 NTFS 部分的代码不容易理解,估计只有等 bean 来解决了):
1. 建立多个 bootmgr,叫做 bootmgr1、bootmgr2、等等,用 chainloader 加载它们,看看能否有一个成功。
2. 在 FAT32 分区上放一个 bootmgr(或者在虚拟软盘上放一个 bootmgr),然后用 chainloader 加载它。加载时注意使用 --edx 参数,或者 chainloader 加载之后,立即用一条 root (hdX,Y) 命令指定正确的 bootmgr 所在的分区为当前分区。然后才可以执行 boot 命令。
3. 用 blocklist 命令列出 bootmgr 的扇区序列,看它是不是连续的。如果不是连续的,可以尝试用 contig 工具整理为连续的。这样可能减少读取失败的几率。
4. grub4dos 有一个叫做 cmp 的命令,可以用来比较两个文件是否相同。你可以比较 bootmgr 与 bootmgr1 、bootmgr2 是否相同。如果发现不同,则证明 grub4dos 有 bug。
[ 本帖最后由 不点 于 2012-5-3 16:45 编辑 ] |
|