我有一个 80G 的外置硬盘,通过 USB 连接。过去我曾用它做过很多事情,包括用它运行 Ubuntu 操作系统(我知道,这是个坏主意)。无论如何,在我运行 Ubuntu 时,它被拔掉了。当然,Ubuntu 很快就生成了错误,我关闭了电脑。我再次插入它并启动它,但我的 BIOS 在设备列表中无法识别硬盘。在运行 LiveCD(或另一个 Ubuntu 操作系统,现在在内部的硬盘驱动器),插入设备时ls /dev/ | grep sd
显示设备( ),未插入时忽略设备(因此我知道这是正确的驱动器),但 gparted 不会在设备列表中显示它。如果我运行,parted 不会启动,也没有错误消息;如果我在 parted 交互式提示符中键入,我再次不会收到任何消息,它仍然在 /dev/sda 上。Gparted LiveCD 也是如此。sdc
parted /dev/sdc
select /dev/sdc
cat /proc/partitions
输出
major minor #blocks name
8 0 244198584 sda
8 1 102400 sda1
8 2 119950336 sda2
8 3 119950336 sda3
8 4 4194304 sda4
8 16 3913728 sdb
8 17 3913664 sdb1
对于我该怎么做,有人能提出建议吗?
编辑:想明确表示,如果这意味着我可以再次使用它,我愿意格式化该驱动器。
编辑2dmesg | tail -25
:这是marto 建议的输出:
usb 2-4: new high speed USB device using ehci_hcd and address 8
usb-storage 2-4:1.0: Quirks match for vid 05e3 pid 0702: 520
scsi8 : usb-storage 2-4:1.0
scsi 8:0:0:0: Direct-Access 811 ATA/ ATAPI Device 0014 PQ: 0 ANSI: 0
Attached scsi generic sg3 type 0
sd 8:0:0:0: [sdc] Test WP failed, assume Write Enabled
sd 8:0:0:0: [sdc] Asking for cache data failed
sd 8:0:0:0: [sdc] Assuming drive cache: write through
sd 8:0:0:0: [sdc] Test WP failed, assume Write Enabled
sd 8:0:0:0: [sdc] Asking for cache data failed
sd 8:0:0:0: [sdc] Assuming drive cache: write through
sd 8:0:0:0: [sdc] Attached SCSI disk
断开连接后:usb 2-4: USB disconnect, address 8
答案1
从您尝试安装驱动器来看,您知道文件系统是什么吗?如果您让 ubuntu 选择格式化/安装的时间,它可能是 ext4。
如果是 ext4,那么考虑到其故障的情况,问题可能出在坏的超级块(即,由于写入不完整等原因导致文件系统格式错误),以下命令将确定问题的严重程度并告诉您如何解决它:
sudo fsck.ext4 -v /dev/xxx
答案2
当通过 USB 接口为磁盘供电时,驱动器看起来以正常速度旋转。大多数驱动器的规格是标称旋转速度的 +- 1% 是可以接受的。驱动器在读取和写入时断电,因此它可能已经破坏了您的分区表区域 - 驱动器的前 512 个字节。
因此检查/proc/partitions
是有用的。cat /proc/partitions
dmesg
应报告内核获取的最后一个驱动器号,例如 b 或 c 或 d。使用其中 X 为 ab 或 c 或 d。如果它报告问题,您可能可以使用或fdisk -l /dev/sdX
重新创建分区表。parted
gparted
fdisk
诀窍是检查可能的分区 - 偏移量和类型
要保存您的数据 - 您需要运行一个dd
命令并将完整的磁盘映像复制/dev/sdX
到更大的磁盘分区上的文件中 -/home
可能已安装。
dd if=/dev/sdc of=/home/sdc.dd conv=noerror,sync
这会花费一段时间 - 对于大型 Gigabyte 硬盘来说,可能要花一天甚至大半夜的时间。
然后您就可以使用驱动器本身 - 重新创建文件系统等。
将提供的最大测试dd
是读取块时的驱动器的完整性。
类似于fsck -t ext3 -c
检查驱动器上坏块的命令。
如果dd
命令失败,它应该提供一些关于驱动器上哪里出现坏扇区错误的信息。
如果驱动器早期报告错误 - 这可能解释了分区信息的丢失。
我经常会od -cx /dev/sdX | less
检查可能的偏移量,以使事情变得简单,一些od
命令为了方便而采取选项,例如。od -cx -Ad /dev/sdX | less
0000000 353 H 220 020 216 320 274 \0 260 270 \0 \0 216 330 216 300
48eb 1090 d08e 00bc b8b0 0000 d88e c08e
0000016 373 276 \0 | 277 \0 006 271 \0 002 363 244 352 ! 006 \0
befb 7c00 00bf b906 0200 a4f3 21ea 0006
0000032 \0 276 276 \a 8 004 u \v 203 306 020 201 376 376 \a u
be00 07be 0438 0b75 c683 8110 fefe 7507
0000048 363 353 026 264 002 260 001 273 \0 | 262 200 212 t 003 002
ebf3 b416 b002 bb01 7c00 80b2 748a 0203
0000064 200 \0 \0 200 E 202 \r \0 \0 \b 372 220 220 366 302 200
0080 8000 8245 000d 0800 90fa f690 80c2
0000080 u 002 262 200 352 Y | \0 \0 1 300 216 330 216 320 274
0275 80b2 59ea 007c 3100 8ec0 8ed8 bcd0
0000096 \0 373 240 @ | < 377 t 002 210 302 R 276 177 }
2000 a0fb 7c40 ff3c 0274 c288 be52 7d7f
0000112 350 4 001 366 302 200 t T 264 A 273 252 U 315 023 Z
34e8 f601 80c2 5474 41b4 aabb cd55 5a13
0000128 R r I 201 373 U 252 u C 240 A | 204 300 u 005
7252 8149 55fb 75aa a043 7c41 c084 0575
0000144 203 341 001 t 7 f 213 L 020 276 005 | 306 D 377 001
e183 7401 6637 4c8b be10 7c05 44c6 01ff
0000160 f 213 036 D | 307 004 020 \0 307 D 002 001 \0 f 211
8b66 441e c77c 1004 c700 0244 0001 8966
0000176 \ \b 307 D 006 \0 p f 1 300 211 D 004 f 211 D
085c 44c7 0006 6670 c031 4489 6604 4489
0000192 \f 264 B 315 023 r 005 273 \0 p 353 } 264 \b 315 023
b40c cd42 7213 bb05 7000 7deb 08b4 13cd
0000208 s \n 366 302 200 017 204 352 \0 351 215 \0 276 005 | 306
0a73 c2f6 0f80 ea84 e900 008d 05be c67c
0000224 D 377 \0 f 1 300 210 360 @ f 211 D 004 1 322 210
ff44 6600 c031 f088 6640 4489 3104 88d2
0000240 312 301 342 002 210 350 210 364 @ 211 D \b 1 300 210 320
c1ca 02e2 e888 f488 8940 0844 c031 d088
0000256 300 350 002 f 211 004 f 241 D | f 1 322 f 367 4
e8c0 6602 0489 a166 7c44 3166 66d2 34f7
0000272 210 T \n f 1 322 f 367 t 004 210 T \v 211 D \f
5488 660a d231 f766 0474 5488 890b 0c44
0000288 ; D \b } < 212 T \r 300 342 006 212 L \n 376 301
443b 7d08 8a3c 0d54 e2c0 8a06 0a4c c1fe
0000304 \b 321 212 l \f Z 212 t \v 273 \0 p 216 303 1 333
d108 6c8a 5a0c 748a bb0b 7000 c38e db31
0000320 270 001 002 315 023 r * 214 303 216 006 H | ` 036 271
01b8 cd02 7213 8c2a 8ec3 4806 607c b91e
0000336 \0 001 216 333 1 366 1 377 374 363 245 037 a 377 & B
0100 db8e f631 ff31 f3fc 1fa5 ff61 4226
0000352 | 276 205 } 350 @ \0 353 016 276 212 } 350 8 \0 353
be7c 7d85 40e8 eb00 be0e 7d8a 38e8 eb00
0000368 006 276 224 } 350 0 \0 276 231 } 350 * \0 353 376 G
be06 7d94 30e8 be00 7d99 2ae8 eb00 47fe
0000384 R U B \0 G e o m \0 H a r d D
5552 2042 4700 6f65 006d 6148 6472 4420
0000400 i s k \0 R e a d \0 E r r o r \0
7369 006b 6552 6461 2000 7245 6f72 0072
0000416 273 001 \0 264 016 315 020 254 < \0 u 364 303 \0 \0 \0
01bb b400 cd0e ac10 003c f475 00c3 0000
0000432 \0 \0 \0 \0 \0 \0 \0 \0 S 005 \v \0 \0 \0 200 001
0000 0000 0000 0000 0553 000b 0000 0180
0000448 001 \0 203 376 ? > ? \0 \0 \0 @ q 017 \0 \0 \0
0001 fe83 3e3f 003f 0000 7140 000f 0000
0000464 001 ? 203 376 377 377 177 q 017 \0 276 275 q 022 \0 376
3f01 fe83 ffff 717f 000f bdbe 1271 fe00
0000480 377 377 202 376 377 377 = / 201 022 002 336 037 \0 \0 \0
ffff fe82 ffff 2f3d 1281 de02 001f 0000
0000496 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 U 252
0000 0000 0000 0000 0000 0000 0000 aa55
0000512 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000 0000 0000 0000 0000 0000 0000 0000
*
0001024 352 317 202 \0 \0 \0 004 \0 204 > \0 \0 X t \0 \0
cfea 0082 0000 0004 3e84 0000 7458 0000
0001040 \b X \0 \0 001 \0 \0 \0 377 377 377 377 / b o o
5808 0000 0001 0000 ffff ffff 622f 6f6f
0001056 t / g r u b \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
2f74 7267 6275 0000 0000 0000 0000 0000
0001072 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000 0000 0000 0000 0000 0000 0000 0000
*
0001104 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 260 255 033
0000 0000 0000 0000 0000 0000 b002 1bad
0001120 \0 \0 001 \0 376 O Q 344 \ 002 020 \0 \0 \0 020 \0
0000 0001 4ffe e451 025c 0010 0000 0010
0001136 \0 \0 \0 \0 \0 \0 \0 \0 | 002 020 \0 213 S \f 275
0000 0000 0000 0000 027c 0010 538b bd0c
0001152 360 377 \a \0 211 354 271 L \b \0 \0 003 \r 020 002 020
fff0 0007 ec89 4cb9 0008 0300 100d 1002
0001168 \0 276 \0 \0 020 \0 277 \0 200 \0 \0 374 363 244 270 245
be00 0000 0010 00bf 0080 fc00 a4f3 a5b8
0001184 202 \0 \0 377 340 211 320 301 350 \b 1 333 200 374 377 t
0082 ff00 89e0 c1d0 08e8 db31 fc80 74ff
0001200 \b 210 343 211 035 024 202 \0 \0 < 377 t \b 210 303 211
8808 89e3 141d 0082 3c00 74ff 8808 89c3
注意*
左侧它们表示更多的空值或零字节值,所以我的分区偏移量似乎是驱动器中的 1024 字节。即 2 x 512 字节扇区或 1 x 1024 字节扇区
鉴于大多数驱动器可能看起来像这样
root@rhbeta:/home/chrthomp # fdisk -l /dev/sdX
Disk /dev/sdX: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 63 506016 83 Linux
/dev/sda2 64 19325 154722015 83 Linux
/dev/sda3 19326 19455 1044225 82 Linux swap / Solaris
root@rhbeta:/home/chrthomp #
我的驱动器似乎有一个从 1 开始到 63 结束的分区,这通常是一个小型/boot
ext2 分区。64 到 19325 区域显然是一个 LVM 文件系统。然后是交换区域。因此,既然您有备份 - 请尝试通过对驱动器进行分区来解决问题。
fdisk /dev/sdX
创建一个从“1”开始到“63”结束的“n”分区“1”,然后“w”写入分区表。
这似乎是一个相当安全的选择。运行以下命令
file -s /dev/sdX1
fsck -t ext2 /dev/sdX1
mount -t ext2 /dev/sdX1 /mnt
/mnt
在一张可以启动的 CDROM 上很可能有可用的 - 你可能必须mkdir /mnt/sdX1
尝试mount -t ext2 /dev/sdX1 /mnt/sdX1
事情可能出错的另一个原因是驱动器变得不稳定 - 电子设备可能永远无法恢复 - 特别是如果它是一个旧驱动器。
我曾见过它们突然出现、出现问题、死亡并消失——然后又循环出现。
/sbin/fsck.ntfs
当未安装时,有些人会看到这个。dmesg
和/var/log/messages
文件会抱怨fsck.ntfs
不存在。