我尝试使用 gparted 调整我 3 年前的 HDD 的分区大小,但失败了,并显示一条消息,说有坏块,这是驱动器物理损坏的迹象。
我使用badblocks检查了坏块,一共有4个。
smartctl 向我显示了以下内容:
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 - 568
3 Spin_Up_Time 0x0027 135 133 021 Pre-fail Always - 4241
4 Start_Stop_Count 0x0032 099 099 000 Old_age Always - 1290
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 086 074 000 Old_age Always - 10357
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 099 099 000 Old_age Always - 1278
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 363
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 926
194 Temperature_Celsius 0x0022 111 099 000 Old_age Always - 32
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 1
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
我的驱动器已经出现故障了吗?
答案1
没有驱动器制造商/型号的 SMART 数据通常接近无用信息,因为每个制造商收集、处理和呈现数据的方式都不同。所以请给我们完整的 SMART 信息。
话虽如此:
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 1
有一个扇区处于“待处理”状态,这意味着驱动器在访问/读取它时遇到了问题。这很可能就是您的调整大小工具所抱怨的问题扇区。
一般情况下,仅一个有问题的扇区不足以得出硬盘故障的结论。但这是硬盘的一个扇区知道但是,它并没有告诉我们是否可能还有更多。
使用类似的工具适用于 Windows 的 Victoria可能有助于确定是否存在更多此类扇区,并且还可以使用表面扫描功能帮助重新分配它们。
由于我们始终认为硬盘正在发生故障,因此表面扫描可能是最后一根救命稻草,因此请务必先备份重要数据。正如@ramhound 所评论的那样,硬盘确实正在发生故障,因为所有硬盘从您开始使用它们的那一刻起都是如此(我假设他的意思就是这样)。
编辑:抱歉,我没有注意到 linux 标签。对于检测坏扇区并写入检测到的坏扇区以强制重新分配的表面扫描,可以使用任何工具:
- 读取第 x 扇区
- 读取 OK -> 继续读取扇区 x + 1
- 读取错误 -> 写入扇区 x(扇区值为零) -> 读取扇区 x -> 读取正确:成功重新映射
- ETC。