我的外部驱动器无法访问。似乎自动挂载挂起了。当我单击“挂载”时,我收到“无法访问卷 - 操作已挂起”的消息。当我尝试移除驱动器时,我收到:“无法停止 WCD - 打开 /dev/sdb 进行 fsync 时出错:设备或资源繁忙。”
fdisk -l /dev/sdb 挂起。
dmesg 包含以下最新警告:
task scsi_eh_6:5019 blocked for more than 120 seconds
...
task fdisk blocked for more than 120 seconds
...
task mount:5301 blocked for more than 120 seconds
...
task pool-udisksd:5059 blocked for more than 120 seconds
等等。每次我尝试访问驱动器时,尝试访问它的进程都会挂起并且无法访问它。我尝试运行 badblocks,甚至在 20 分钟后它就冻结了 - badblocks 被阻止了超过 120 秒,等等。
我不确定是哪种硬件问题导致每个尝试与磁盘通信的进程(包括所有诊断工具)冻结。它们都无法通过 Ctrl-C 终止,我必须退出终端。我该怎么办?
更新:
=== START OF INFORMATION SECTION ===
Model Family: Western Digital Blue
Device Model: WDC WD10EZEX-08WN4A0
Serial Number: WD-WCC6Y0KC7LX4
LU WWN Device Id: 5 0014ee 20e20948d
Firmware Version: 01.01A01
User Capacity: 1,000,204,886,016 bytes [1.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-3 T13/2161-D revision 3b
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is: Thu Sep 26 17:46:58 2019 CDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART Status command failed: Connection timed out
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.
General SMART Values:
Offline data collection status: (0x82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: (12000) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 124) minutes.
Conveyance self-test routine
recommended polling time: ( 5) minutes.
SCT capabilities: (0x3035) SCT Status supported.
SCT Feature Control supported.
SCT Data Table supported.
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 199 198 051 Pre-fail Always - 67
3 Spin_Up_Time 0x0027 174 173 021 Pre-fail Always - 2283
4 Start_Stop_Count 0x0032 092 092 000 Old_age Always - 8792
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 078 078 000 Old_age Always - 16789
10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 21
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 9
193 Load_Cycle_Count 0x0032 197 197 000 Old_age Always - 9697
194 Temperature_Celsius 0x0022 115 102 000 Old_age Always - 28
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 199 199 000 Old_age Always - 166
198 Offline_Uncorrectable 0x0030 200 199 000 Old_age Offline - 76
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 83
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
Command "Execute SMART Short self-test routine immediately in off-line
mode" failed: Connection timed out
gnome-disks 实用程序表示磁盘上的 Ext4 文件系统未损坏,而 smartctl 测试仅返回“连接超时”。那么发生了什么?
答案1
需要关注的重要价值观包括:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 199 198 051 Pre-fail Always - 67
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
194 Temperature_Celsius 0x0022 115 102 000 Old_age Always - 28
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 199 199 000 Old_age Always - 166
198 Offline_Uncorrectable 0x0030 200 199 000 Old_age Offline - 76
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 83
这表明尚未重新定位坏块,但有 166 个块是可疑的,并且导致原始读取错误和无法纠正的错误。
您需要手动扫描您的硬盘以查找坏块,然后让它为您重新映射坏块。
Note: do NOT abort a bad block scan!
Note: do NOT bad block a SSD
Note: backup your important files FIRST!
Note: this will take many hours
Note: you may have a pending HDD failure
启动至 Ubuntu Live DVD/USB。
在terminal
...
sudo fdisk -l
# 识别所有“Linux 文件系统”分区
注意:如果fdisk
您遇到挂起情况,请尝试使用 识别您的 Ubuntu ext4 分区gparted
。
sudo e2fsck -fcky /dev/sdXX
# 只读测试
或者
sudo e2fsck -fccky /dev/sdXX
# 非破坏性读写测试(受到推崇的)
-k 很重要,因为它会保存之前的坏块表,并将任何新的坏块添加到该表中。如果没有 -k,您将丢失所有之前的坏块信息。
-fccky 参数...
-f Force checking even if the file system seems clean.
-c This option causes e2fsck to use badblocks(8) program to do a
read-only scan of the device in order to find any bad blocks.
If any bad blocks are found, they are added to the bad block
inode to prevent them from being allocated to a file or direc‐
tory. If this option is specified twice, then the bad block
scan will be done using a non-destructive read-write test.
-k When combined with the -c option, any existing bad blocks in the
bad blocks list are preserved, and any new bad blocks found by
running badblocks(8) will be added to the existing bad blocks
list.
-y Assume an answer of `yes' to all questions; allows e2fsck to be
used non-interactively. This option may not be specified at the
same time as the -n or -p options.