必须用smartctl读取Reallocated_Sector_Ct等原始SMART值来确认物理坏道:ROTA=1为机械硬盘,需执行sudo smartctl -a /dev/sda;NVMe盘须加-d nvme参数,否则返回乱码;Reallocated_Sector_Ct>0即存在物理损坏,Current_Pending_Sector>0预示硬故障风险。

统信系统中检测硬盘是否存在坏道,必须区分物理坏道(磁盘表面损伤)和逻辑坏道(文件系统错误),不能仅靠图形界面“健康通过”判断——GNOME Disks不显示重映射扇区数,而smartctl读取的Reallocated_Sector_Ct非零即代表已有物理损坏,此时继续写入可能引发数据丢失。
用smartctl命令精准读取坏道原始计数
这一步直接调用硬盘固件上报的S.M.A.R.T.数据,结果不可绕过、不可伪造,是唯一能确认物理坏道是否真实存在的方法。
第一步:打开终端,执行sudo apt install smartmontools安装工具。若提示“already the newest version”,说明已就绪,直接进入下一步。
第二步:输入sudo lsblk -d -o NAME,MODEL,TRAN,ROTA,在输出中定位目标硬盘。注意区分:ROTA=1是机械硬盘(如/dev/sda),ROTA=0是固态硬盘;TRAN=nvme对应NVMe盘(设备名形如/dev/nvme0n1)——选错设备名会导致后续命令无效。
第三步:对SATA/SAS硬盘执行sudo smartctl -a /dev/sda(将sda替换为你的真实设备名);对NVMe硬盘必须显式指定协议,执行sudo smartctl -a -d nvme /dev/nvme0n1。不加-d nvme参数时,NVMe盘会返回空或乱码,这是误判健康状态的最高发原因。
第四步:在输出中滚动查找“SMART Attributes Data Structure”表格,重点核对以下字段:
• Reallocated_Sector_Ct(重映射扇区数):机械硬盘此项>0即存在物理坏道;SSD此项非零同样代表NAND块已失效并被替换;
• Current_Pending_Sector(待重新分配扇区):>0表示有读取不稳定的扇区,随时可能发展为硬故障;
• 05 Percentage Used(仅SSD):数值为整数,代表NAND磨损百分比,>90即高风险;
• C3 Available Spare(仅NVMe SSD):备用块余量,低于10%需预警。
用GNOME Disks图形界面快速触发自检
适合不熟悉命令行的用户快速获取基础结论,但无法显示原始数值,也不能替代smartctl做深度分析。
方法一:点击任务栏左下角启动器图标 → 在搜索框中输入“磁盘” → 单击“磁盘”应用图标启动。
方法二:系统弹出权限认证窗口 → 输入当前用户登录密码完成授权 → 左侧设备列表中选择目标物理硬盘(不是分区,如/dev/sda,而非/dev/sda1)。
方法三:右侧面板找到“SMART数据”区域 → 点击下方“运行自我测试”按钮 → 选择“短时测试”并点击开始。
测试完成后刷新界面,查看“整体评估”是否显示为“通过”。若显示“失败”或“警告”,必须立即回到smartctl命令中核查Reallocated_Sector_Ct等原始字段——因为图形界面可能隐藏关键异常项。
用fsck强制扫描并标记逻辑坏道
当系统报“Read-only file system”或文件频繁损坏时,可能是文件系统层面出现逻辑错误,需用fsck进行结构校验与修复。
第一步:按Ctrl+Alt+T打开终端,执行mount | grep "ro,",找出被设为只读的分区(如/dev/sda2)。
第二步:若该分区可卸载,先执行sudo umount /dev/sda2;若为根分区且已挂载,需进入Emergency Mode再操作。
第三步:执行sudo fsck -y /dev/sda2。【-y 参数会自动确认所有修复操作,省略它会导致命令卡住等待人工输入】。
fsck运行期间屏幕会滚动大量检查日志,最终出现*** FILE SYSTEM WAS MODIFIED ***即表示修复成功。该过程不会发现物理坏道,但能标记并隔离因文件系统紊乱导致的逻辑不可读区域。

















