我的 USB 硬盘似乎无法访问

我的 USB 硬盘似乎无法访问

因此,我有一个 USB 硬盘,它会自动挂载并通过快照用于每小时、每日、每周、每月的全盘快照。

看来是失败了。如果可以恢复,我对尝试完全重新格式化持怀疑态度,因为这会丢失所有旧备份。


语境

操作系统是Linux Mint 18.1。该驱动器是 WD MyPassport。使用 USB 驱动器的唯一原因是我已经拥有它 - 我不倾向于拔掉它。

我最近更改了插入的电源板,这是最近唯一可能导致断电的事件 - 不过,当我这样做时,计算机已关闭。之后我在启动时遇到了一些问题,搜索似乎表明可以通过短路主板上的 CLR CMOS 引脚来重置 BIOS 来解决问题。显然,不知何故,可能存在电源问题。此后,我在通过紧急恢复终端启动时仍然遇到问题,直到我从我的fstab.

尝试诊断

(所有带有 的命令sudo

fdisk -l /dev/sdb产生fdisk: cannot open /dev/sdb: Input/output error

blkid /dev/sdb什么也不输出。

fsck /dev/sdb输出

fsck from util-linux 2.27.1
e2fsck 1.42.13 (17-May-2015)
fsck.ext2: Attempt to read block from filesystem resulted in short read while trying to open /dev/sdb
Could this be a zero-length partition?

ls /dev列表sdb

尝试通过 UUID 挂载它会产生mount: can't find UUID=83dbb817-b194-4c83-bb3f-9b67163e1c5c

尝试在不注释驱动器的情况下启动计算机,fstab导致绿点启动画面持续很长时间,最终变成橙色并产生各种错误消息。我转录的唯一一个以 开头blk_update_request: critical medium error

当我在它完成关闭之前关闭时,我得到以下终端屏幕:

Linux Mint 18.1 Serena dt tty 1
dt login: [ 5840.759433] blk_update_request: critical medium error, dev sdb, sector 0
[ 5840.759523] Buffer I/O error on dev sdb, logical block 0, async page read

这两条错误消息随着时间戳的增加而重复(缓慢地,每条错误消息之间有很大的延迟)多次,直到机器最终关闭。第二次显示该消息之前的间隔约为。 17秒。没有再拍到照片,但它可能又重复了六次。这些大致也是尝试启动时出现的错误。

我刚刚注意到驱动器上的小灯不断闪烁,并且当计算机关闭时驱动器不断发出轻微的呼呼声。我不记得它正常工作时是否是这种情况。

尝试过smartctl

~ $ sudo smartctl -i -A /dev/sdb
smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.8.0-56-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Elements / My Passport (USB, AF)
Device Model:     WDC WD20NMVW-11AV3S4
Serial Number:    WD-WX11E23AAA87
LU WWN Device Id: 5 0014ee 2b36180eb
Firmware Version: 01.01A01
User Capacity:    2,000,398,934,016 bytes [2.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5200 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-2 (minor revision not indicated)
SATA Version is:  SATA 3.0, 3.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Wed Jun 21 22:50:33 2017 EDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       207
  3 Spin_Up_Time            0x0027   222   216   021    Pre-fail  Always       -       3900
  4 Start_Stop_Count        0x0032   099   099   000    Old_age   Always       -       1664
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   185   185   000    Old_age   Always       -       248
  9 Power_On_Hours          0x0032   094   094   000    Old_age   Always       -       4855
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       182
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       56
193 Load_Cycle_Count        0x0032   199   199   000    Old_age   Always       -       5196
194 Temperature_Celsius     0x0022   126   105   000    Old_age   Always       -       26
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       3
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   100   253   000    Old_age   Offline      -       0

dmesg粘贴箱:这里

答案1

部分答案:以下是第一次尝试访问磁盘时的日志消息:

[   19.614242] sd 6:0:0:0: [sdb] 3906963456 512-byte logical blocks: (2.00 TB/1.82 TiB)
[   19.614484] sd 6:0:0:0: [sdb] Write Protect is off
[   19.614485] sd 6:0:0:0: [sdb] Mode Sense: 47 00 10 08
[   19.614724] sd 6:0:0:0: [sdb] No Caching mode page found
[   19.614734] sd 6:0:0:0: [sdb] Assuming drive cache: write through

这些是驱动器初始化的正常消息。但10秒后(可能是超时时间):

[   38.037295] sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[   38.037297] sd 6:0:0:0: [sdb] tag#0 Sense Key : Medium Error [current]
[   38.037298] sd 6:0:0:0: [sdb] tag#0 Add. Sense: Unrecovered read error
[   38.037299] sd 6:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[   38.037300] blk_update_request: critical medium error, dev sdb, sector 0

所以从一开始,第一次读取就失败了,而且那次读取似乎是针对分区表的。这意味着在最好的情况下,分区表所在的块有坏块。您还记得有关分区表的任何事情吗?如果整个磁盘只有一个分区,恢复应该很容易。

在最坏的情况下,它无法读取任何内容,因此第一步是运行badblocks /dev/sdb并查看有多少个读取错误。

如果只是分区表,安全的选择(如果数据确实有价值)是获取第二个硬盘,使用dd_rescueddrescue其他方式尝试读取每个块,查看读取错误在哪里(仅分区表或更多) ?),在损坏的硬盘副本上创建一个新分区,然后看看可以恢复什么。

稍微不安全的选择是仅使用(MBR)或(GPT)创建一个新分区fdisksfdisk具体sgdisk取决于您创建分区表的方式以及您是否还记得它。重新分配的扇区数为零,因此应该有备用扇区来替换损坏的扇区。在分区中创建新的文件系统,这将破坏您的旧数据。挂载分区只读,看看你能得到什么。

不过,我将来不会使用此驱动器来备份您的数据。

相关内容