应先用smartctl快速筛查SMART关键指标:安装smartmontools后,用lsblk识别ROTA=1硬盘,执行smartctl -H检测健康状态,再用smartctl -a检查Reallocated_Sector_Ct、Current_Pending_Sector和Offline_Uncorrect三项是否非零;若可疑,再用GNOME Disks运行长时自检定位LBA地址,最后用badblocks进行底层只读扫描验证并导出坏扇区列表。

若在统信UOS中怀疑机械硬盘出现读写卡顿、文件复制失败或系统频繁I/O错误,需立即检测是否存在物理坏道,避免数据进一步损坏或突然宕机。
用smartctl快速筛查SMART关键指标
这一步不扫描扇区,但能在30秒内判断硬盘是否已发生物理损伤,是所有检测流程不可跳过的前置动作。
1. 打开终端,执行sudo apt install smartmontools安装工具;若提示“already the newest version”,说明已就绪,直接下一步。
2. 输入sudo lsblk -d -o NAME,MODEL,ROTA,TRAN,在输出中找到ROTA=1且MODEL非空的设备(如/dev/sda),【务必核对MODEL列与硬盘实物标签一致,选错设备名会导致后续全部误判】。
3. 对该设备执行sudo smartctl -H /dev/sda,观察返回结果是否为“PASSED”;若显示“FAILED”,立即停止写入操作并备份数据。
4. 执行sudo smartctl -a /dev/sda,滚动至“SMART Attributes Data Structure”表格,重点检查三行:
• Reallocated_Sector_Ct:值>0即已存在物理坏道,不可修复;
• Current_Pending_Sector:值>0表示有扇区读取不稳定,随时可能发展为硬故障;
• Offline_Uncorrect:脱机校验失败次数,持续增长是硬盘濒临失效的明确信号。
用GNOME Disks执行长时自检定位坏道位置
当smartctl提示可疑字段非零时,必须通过全盘扇区扫描确认坏道真实存在并获取具体LBA地址,这是后续是否更换硬盘的决策依据。
方法一:启动图形界面
点击任务栏左下角启动器→搜索“磁盘”→单击打开“磁盘”应用→输入当前用户密码授权。
方法二:运行长时测试
左侧设备列表中选择物理硬盘(不是分区,例如“ST1000DM010-2EP102”)→右侧面板展开“SMART数据”→点击“运行自我测试”→选择“长时测试”→点击“开始”。
【长时测试耗时数小时,期间禁止休眠或关机;测试中可点击查看日志,错误扇区的LBA编号会实时列出】
用badblocks进行底层扇区验证性扫描
GNOME Disks的自检基于SMART协议,部分老旧硬盘或固件异常设备可能无法触发底层响应;badblocks可绕过固件直接读写扇区,提供最原始的坏道证据。
第一步:确认目标分区未挂载
执行sudo umount /dev/sda1(将sda1替换为你实际的数据分区),若提示“not mounted”,可跳过。
第二步:执行只读扫描
输入sudo badblocks -v /dev/sda1 > /tmp/badsectors.txt 2>&1,该命令逐扇区读取并记录错误位置到文本文件。
第三步:查看结果
执行cat /tmp/badsectors.txt;若输出为空,说明无新发现坏道;若出现数字行(如“123456789”),每个数字即为一个故障扇区的逻辑块地址。
第四步:标记坏道避免使用(可选)
若确认存在坏道且仍需临时使用该盘,可将上述数字导入e2fsck:sudo e2fsck -l /tmp/badsectors.txt /dev/sda1,强制文件系统跳过这些扇区。

















