标题: Grub 只能认出硬盘中的前三个分区?
[打印本页]
作者: longdanie
时间: 2007-11-27 11:36
标题: Grub 只能认出硬盘中的前三个分区?
我安装的Grub版本是2007-11-24,我的80G硬盘只有一个主分区(C盘),其余有D、E、F三个逻辑分区;将Grub安装于Mbr之中,正常启动Grub后,在使用文件名自动完成功能时发现F盘没有认出来!Grub的提示为:“ Notice:Number of heads for drive 80 tuned from 240 to 255”。
请问:上述提示表示什么意思?为什么Grub不能识别我的最后一个分区?而在Windows中能够正常识别并使用。是Grub的Bug呢,还是我的Bios太老了,或有Bug?
作者: longdanie
时间: 2007-11-27 18:17
刚才才发现F盘是NTFS格式的,难怪!难道GRUB4DOS只能识别出FAT32格式的分区吗?
作者: loveheartrain
时间: 2007-11-27 21:27
这到不是,不过象你这样多的分区我还没有试过,我也试80G的硬盘,只分了2个分区,一个主分区FAT32格式2.99GB一个扩展分区NTFS格式,MBR可以正常找到放在NTFS分区的GRLDR并启动.
作者: 不点
时间: 2007-11-27 23:03
在grub命令行执行以下序列:
debug 0x7FFFFFFF
geometry (hd0)
geometry (hd1)
把显示信息抄上来。
作者: longdanie
时间: 2007-11-28 10:13
启动GRUB后进入命令行输入如下命令:
debug 0x7fffffff
geometry (hd0)
GRUB 反馈如下信息:
int13/41 (80), version=AA210005
int13/48 (80), err=0,C/H/S=38325/16/63,Sector Count/Size=156368016/0
int13/08 (80), version=0,C/H/S=55143/255/63
int13/02 (80), err=0,
Warning: MBR cylinders(58590) is not equal to the BIOS one(55143)
Warning: MBR heads(240) is not equal to the BIOS one(255)
Warning: MBR total sectors(885880800) is greater than the BIOS one(885872295)
Some buggy BIOSes could hang when you access sectors exceeding the BIOS limit.
Notice: number of head for dive 80 tuned from 240 to 255
drive 0x80(LBA):C/H/S=58590/255/63,Sector Count/Size=885880800/512
int13/41 (80),version=AA210005
int13/48 (80),err=0,C/H/S=38325/16/63,Sector Count/Size=156368016/0
int13/08 (80),version=0,C/H/S=62252/255/63
int13/02 (80),err=0
Warning: MBR cylinders(66143) is not equal to the BIOS one(62252)
Warning: MBR heads(240) is not equal to the BIOS one(255)
Warning: MBR total sectors(1000082160) is greater than the BIOS one(1000078380)
Some buggy BIOSes could hang when you access sectors exceeding the BIOS limit.
Notice: number of head for dive 80 tuned from 240 to 255
Partition Num:0 File System Type is Fat,0xc
Partition Num:4 File System Type is Fat,0xb
Partition Num:5 File System Type is Fat,0xb
作者: longdanie
时间: 2007-11-28 10:17
另外建议,Grub应该有一个抓屏的功能或者显示重定向命令,以方便大家把错误信息贴上来。像我这样一行一行的抄实在太累了!
作者: 不点
时间: 2007-11-28 11:27
最后一个分区可能已经被 BIOS 保护,使得外部程序不可能访问它。在 google 中搜索 HPA 分区,可找到相关话题。
被 BIOS 保护/隐藏了的分区,GRUB 是无法访问的。
作者: longdanie
时间: 2007-11-28 14:50
我不明白你的话:
Quote: |
最后一个分区可能已经被 BIOS 保护,使得外部程序不可能访问它。 |
|
BIOS为什么要保护最后一个分区呢?如果最后一个分区是Fat32格式,它还会保护它吗?我刷了新版的BIOS后,能正常的看到所有的分区,不过我没有使用新版的。
我的BIOS是较老的版本(2001年09月11日的),是Award公司的BIOS,主板厂商的主页上有最新的版本,我没有用最新的版本是基于以下几点原因:
- 最新的BIOS是基于Phonix Award的,不能刷 ROMOS。
- 刷了最新的BIOS后,竟然不能引导硬盘中现存的XP,而老版的BIOS能正常引导。
作者: 不点
时间: 2007-11-28 17:46
grub4dos 只能借助于 BIOS 才能识别硬盘。如果 BIOS 有 bug,导致实模式的 DOS 无法访问硬盘的最后一个分区,那么 grub4dos 也无法访问。如果实模式下的纯 DOS 可以访问最后一个分区,那么 grub4dos也应该可以访问最后一个分区。如果DOS和grub4dos都不能访问最后一个分区,这说明问题不在于grub4dos,而属于 BIOS的毛病,你也就不用去解决了。在实模式下无法访问硬盘分区,并不影响 Windows/LINUX 对硬盘分区的访问。
这个问题也与分区是什么文件系统无关,而只与 BIOS 有关。
你可以进一步研究一下究竟是不是这样。