我的分区表有什么问题?

我的分区表有什么问题?

我有点迷茫了。我拿到了我值得信赖的旧式 500Gb 外置 USB 驱动器,但它拒绝安装:

我认为我的分区表无效:

sudo fdisk -lu /dev/sdb

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4e5041f4

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1           16065   976768064   488376000    f  W95 Ext'd (LBA)
/dev/sdb5           16128   976768064   488375968+   7  HPFS/NTFS

sudo sfdisk /dev/sdb

Checking that no-one is using this disk right now ...
OK

Disk /dev/sdb: 60801 cylinders, 255 heads, 63 sectors/track
Old situation:
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdb1          1   60800   60800  488376000    f  W95 Ext'd (LBA)
/dev/sdb2          0       -       0          0    0  Empty
/dev/sdb3          0       -       0          0    0  Empty
/dev/sdb4          0       -       0          0    0  Empty
/dev/sdb5          1+  60800   60800- 488375968+   7  HPFS/NTFS
Input in the following format; absent fields get a default value.
<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>
Usually you only need to specify <start> and <size> (and perhaps <type>).

最后 dmesg

[ 1014.245138] Buffer I/O error on device sdb5, logical block 6291457
[ 1235.310900] exe (4284): /proc/4284/oom_adj is deprecated, please use     /proc/4284/oom_score_adj instead.
[ 1843.019531] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[ 1843.020509]  sdb: sdb1 < sdb5 >
[ 1846.615552] sd 5:0:0:0: [sdb] Unhandled sense code
[ 1846.615560] sd 5:0:0:0: [sdb]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 1846.615565] sd 5:0:0:0: [sdb]  Sense Key : Medium Error [current] 
[ 1846.615572] sd 5:0:0:0: [sdb]  Add. Sense: Unrecovered read error
[ 1846.615579] sd 5:0:0:0: [sdb] CDB: Read(10): 28 00 00 60 3f 00 00 00 08 00
[ 1846.615591] end_request: I/O error, dev sdb, sector 6307584
[ 1846.615598] quiet_error: 6 callbacks suppressed
[ 1846.615602] Buffer I/O error on device sdb5, logical block 6291456
[ 1846.615609] Buffer I/O error on device sdb5, logical block 6291457
[ 1846.615613] Buffer I/O error on device sdb5, logical block 6291458
[ 1846.615617] Buffer I/O error on device sdb5, logical block 6291459
[ 1846.615621] Buffer I/O error on device sdb5, logical block 6291460
[ 1846.615625] Buffer I/O error on device sdb5, logical block 6291461
[ 1846.615629] Buffer I/O error on device sdb5, logical block 6291462
[ 1846.615633] Buffer I/O error on device sdb5, logical block 6291463
[ 1849.831315] sd 5:0:0:0: [sdb] Unhandled sense code
[ 1849.831323] sd 5:0:0:0: [sdb]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 1849.831331] sd 5:0:0:0: [sdb]  Sense Key : Medium Error [current] 
[ 1849.831340] sd 5:0:0:0: [sdb]  Add. Sense: Unrecovered read error
[ 1849.831349] sd 5:0:0:0: [sdb] CDB: Read(10): 28 00 00 60 3f 00 00 00 08 00
[ 1849.831367] end_request: I/O error, dev sdb, sector 6307584
[ 1849.831375] Buffer I/O error on device sdb5, logical block 6291456
[ 1849.831384] Buffer I/O error on device sdb5, logical block 6291457

答案1

看起来驱动器现在出现了一些错误,DMESG 输出很好地显示了这一点。这些逻辑块看起来位于定义的分区内,但这似乎足以让操作系统不想安装该设备。此时,我会向smartctl -a /dev/sdb它抛出错误,看看它会产生什么结果。这应该会提供驱动器的 SMART 信息,并显示它是否真的出现了坏簇。

相关内容