Monday, May 07, 2007

Linux 对 MSDOS(PC BIOS) 分区表的支持

前些时日买了个移动硬盘,卖盘老板好心给我分了区,谁知回家发现 Linux 无法读取硬盘内容,起先怀疑硬盘盒是不是有问题,挂到 windows 上,一切正常,于是看了把 dmesg :

SCSI device sda: 234441648 512-byte hdwr sectors (120034 MB)
sda: Write Protect is off
sda: Mode Sense: 03 00 00 00
sda: assuming drive cache: write through
sda:<6>usb 2-1: USB disconnect, address 2
sd 0:0:0:0: SCSI error: return code = 0x00010000
end_request: I/O error, dev sda, sector 0
Buffer I/O error on device sda, logical block 0
sd 0:0:0:0: rejecting I/O to device being removed
Buffer I/O error on device sda, logical block 0
unable to read partition table
sd 0:0:0:0: Attached scsi disk sda

硬盘已经找到了,读取的时候发生了 IO 错误,google 一把,找到了个德语的论坛,google 翻译一下,大致说确定是低版本 kernel 对 MSDOS 分区支持有问题,系统是 kernel 2.6.17,2.6.21 已经放出,正好更新一下内核,于是下载、编译 (记得打开 MSDOS 分区表支持)、重启,问题果然解决。

No comments:

Post a Comment