无忧启动论坛

标题: 今天遇到的两个grub4dos的问题 [打印本页]

作者: ryanliue    时间: 2010-8-9 00:58
标题: 今天遇到的两个grub4dos的问题
首先介绍一下我的U启情况:
我使用一个640G的USB移动硬盘,硬盘的开头是fbinst,给了173MB,硬盘有4个主分区,第一个分区是500G的NTFS,第二个分区是32G的HFS+,第三、四个分区是32G的FAT32。我的启动盘用到的文件和PE、Linux的ISO都放在第一个分区。

由于Fedora Linux启动盘不支持NTFS,所以我把它放到了第三个分区。菜单如下:

title Fedora Linux
find --set-root /fedora.iso
map /fedora.iso (0xff)
map --hook
rootnoverify (0xff)
chainloader (0xff)


启动时第一个问题出现了,提示find --set-root /fedora.iso这句找不到/fedora.iso,而我把它放在第一个NTFS分区上是找得到的。
我想这可能是因为第二个分区是HFS+格式吧,于是我把第二个分区也格式化成FAT32,再启动,能找到/fedora.iso了。

但此时又出现了第二个问题:
问题出在map /fedora.iso (0xff)这句。这次提示map命令要使用--heads=0参数,好,我改菜单,再试,然后又提示还要加--sectors-per-track=0,好,我再加这个参数,好了,终于映射进去了。不明白这是什么原因,可能是iso格式的问题?我映射其它iso是没有这个问题的。
作者: 不点    时间: 2010-8-9 07:11
这个问题是这么回事:

map 命令有自动侦察 CHS 的能力。那是通过分析 img 文件的第一扇区的分区表或者 BPB 表来实现的。而一个标准的 ISO 文件,其开头的很长一段(0x8000 字节)都是空白的 00 字节。有些 ISO 把这些 00 字节也利用了,并且放置了启动扇区之类的,也就是说,结尾有 55 AA 这个启动标志,但是其分区表含有错误,这就干扰了 map 的 CHS 探测。

grub4dos 换成最新的版本,看看还会出现这样的问题吗?

补充:确实有这么一个小毛病。今天改进了探测代码,重新编译上载了。请在 http://nufans.net/grub4dos/tinybit/ 下载刚刚编译的版本。

[ 本帖最后由 不点 于 2010-8-9 08:23 编辑 ]
作者: renchmin    时间: 2010-8-9 08:13
楼主还真是大手笔啊,使用640G的移动硬盘啊。




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3