我有一个 NTFS 磁盘作为数据驱动器安装到 Ubuntu 系统(19.10)。
在过去的几天里,驱动器变得非常缓慢且不可靠。
期刊 (journalctl -r) 显示:
Nov 20 15:23:39 acer smartd[1253]: Device: /dev/sdb [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 54 to 53
Nov 20 15:23:39 acer smartd[1253]: Device: /dev/sdb [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 46 to 47
Nov 20 15:23:39 acer smartd[1253]: Device: /dev/sdb [SAT], SMART Usage Attribute: 188 Command_Timeout changed from 100 to 99
Nov 20 15:23:39 acer smartd[1253]: Device: /dev/sdb [SAT], SMART Usage Attribute: 183 Runtime_Bad_Block changed from 97 to 96
Nov 20 15:23:39 acer smartd[1253]: Device: /dev/sdb [SAT], 41344 Offline uncorrectable sectors (changed +8)
...
Nov 20 15:23:39 acer smartd[1253]: Device: /dev/sdb [SAT], 41344 Currently unreadable (pending) sectors (changed +8)
但是ntfsfix
报告磁盘还可以(我认为)
sudo ntfsfix -bd /dev/sdb1
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
Going to un-mark the bad clusters ($BadClus)... No bad clusters...OK
NTFS partition /dev/sdb1 was processed successfully.
- 还有其他方法可以检查此磁盘吗?
根据评论的建议,一些smartctl
输出。
smartctl -data -A /dev/sdb
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-5.3.0-23-generic] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org
[=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 079 078 006 Pre-fail Always - 168133076
3 Spin_Up_Time 0x0003 094 092 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 099 099 020 Old_age Always - 1209
5 Reallocated_Sector_Ct 0x0033 093 093 036 Pre-fail Always - 9840
7 Seek_Error_Rate 0x000f 074 060 030 Pre-fail Always - 8648101443
9 Power_On_Hours 0x0032 073 073 000 Old_age Always - 24172
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 099 099 020 Old_age Always - 1237
183 Runtime_Bad_Block 0x0032 096 096 000 Old_age Always - 4
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 001 001 000 Old_age Always - 12019
188 Command_Timeout 0x0032 099 098 000 Old_age Always - 11 26 26
189 High_Fly_Writes 0x003a 097 097 000 Old_age Always - 3
190 Airflow_Temperature_Cel 0x0022 047 042 045 Old_age Always In_the_past 53 (Min/Max 47/58 #91)
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 1217
193 Load_Cycle_Count 0x0032 099 099 000 Old_age Always - 3392
194 Temperature_Celsius 0x0022 053 058 000 Old_age Always - 53 (0 18 0 0 0)
197 Current_Pending_Sector 0x0012 001 001 000 Old_age Always - 41344
198 Offline_Uncorrectable 0x0010 001 001 000 Old_age Offline - 41344
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 23784h+22m+27.579s
241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 16322055947757
242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 108452827544617
我不知道如何准确解释它,但它看起来像一些加热问题?
建议更换驱动器。
Smart 05 表示用多少备用扇区来替换坏扇区。RAW 值 9840 表示 9840 个扇区,即 4920KB。93 是标准化值,意味着您仍有 93% 的备用分离器。
但是,同时,197 表示有 41344 个待处理扇区。待处理扇区并不一定意味着这些扇区是坏的,但硬盘驱动器未能完全处理它。(有时是因为在断电前没有刷新) 在下一次写入时,它要么回到良好的扇区状态,要么转到 05 并被备用扇区替换。
无论哪种方式,41344 已经是 20MB 左右。这已经太多了,意味着您的驱动器不稳定。
由于您已将数据备份到云中,我们可以将驱动器准备为坏块,这样......
用于
gparted
放置一个新的 GPT 分区表(这将擦除驱动器)用于
gparted
创建使用所有未分配空间的单个 ext4 分区(您始终可以在磁盘阻塞后重新创建 NTFS 分区)启动到 Ubuntu Live DVD/USB。
在
terminal
...sudo fdisk -l
# 识别所有“Linux 文件系统”分区注意:确保正确识别坏块的驱动器... sdb1/etc。
sudo e2fsck -fcky /dev/sdXX
# 只读测试或者
sudo e2fsck -fccky /dev/sdXX
# 无损读/写测试(推荐)-k 很重要,因为它保存了以前的坏块表,并将任何新的坏块添加到该表中。如果没有 -k,您将丢失所有先前的坏块信息。
-fccky 参数...
注意:如果不良阻塞不会导致可用驱动器,请更换它。