首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的USB硬盘似乎无法访问

我的USB硬盘似乎无法访问
EN

Unix & Linux用户
提问于 2017-06-21 02:50:21
回答 1查看 6.8K关注 0票数 1

因此,我有一个USB硬盘驱动器,这是自动,并用于小时,每天,每周,每月全磁盘快照通过快照。

它似乎失败了。如果恢复是可能的,我对尝试完全重新格式化持怀疑态度,因为这将使我失去所有的旧备份。

上下文

操作系统是LinuxMint18.1。驱动器是WD MyPassport。使用USB驱动器的唯一原因是我已经有了它--我不打算拔掉它。

我最近改变了电源条的连接方式,这是最近唯一可能导致停电的事件--不过,当我这么做的时候,电脑已经关机了。在启动之后,我遇到了一些问题,搜索似乎表明通过在我的主板上短路CMOS引脚来重置BIOS可以解决问题。所以很明显可能是权力问题,不知怎么的。在那之后,我继续在启动紧急恢复终端时遇到困难,直到我从我的fstab中删除了备份驱动器。

试图诊断

(使用sudo的所有命令)

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

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

fsck /dev/sdb输出

代码语言:javascript
运行
复制
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开始的。

当我关闭之前,它关闭,我得到了以下终端屏幕:

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
~ $ 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 pastebin:这里

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2017-06-23 06:13:48

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

代码语言:javascript
运行
复制
[   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秒后(可能是超时时间):

代码语言:javascript
运行
复制
[   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或其他方法尝试读取每个块,查看读取错误在哪里(只有分区表或更多?),在损坏的硬盘副本上创建一个新分区,并查看可以恢复什么。

更不安全的选项是使用fdisksfdisk (MBR)或sgdisk (GPT)创建一个新分区,这取决于您如何创建分区表以及是否记得它。重新分配的扇区计数为零,因此应该有备用扇区来替换损坏的扇区。不要在分区中创建新的文件系统(S),这会破坏您的旧数据。安装分区只读,看看你能得到什么。

不过,我以后不会用这个驱动器备份你的数据。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/372390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档