我的 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
粘貼箱:這裡
部分答案:這是第一次嘗試訪問磁碟時的日誌消息:
[ 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_rescue
,ddrescue
或嘗試讀取每個塊,查看讀取錯誤在哪裡(僅分區表,或更多?),在損壞的硬碟副本上創建一個新分區,看看你能恢復什麼。更不安全的選項是只使用(MBR) 或(GPT) 創建一個新分區
fdisk
,具體取決於您創建分區表的方式以及您是否記得它。重新分配的扇區數為零,因此它應該有備用扇區來替換損壞的扇區。不要在分區中創建新的文件系統,這會破壞你的舊數據。以只讀方式掛載分區,看看你能得到什麼。sfdisk``sgdisk
不過,我以後不會使用此驅動器來備份您的數據。