Linux 磁盘健康检查指南:初学者入门

一、为何要检查磁盘健康?

就像汽车需要定期保养一样,硬盘(HDD)或固态硬盘(SSD)也会随着时间推移而损耗。可能出现的问题包括:

机械故障:移动部件损坏坏扇区:磁盘部分区域无法读取磨损老化:SSD有有限的写入寿命温度问题:高温损坏组件

磁盘故障的常见迹象:

性能变慢(文件加载时间变长)异常噪音(HDD发出咔哒声或摩擦声)频繁崩溃或报错文件丢失或损坏

定期监控磁盘健康的好处:

在故障前备份数据,避免数据丢失及时发现问题,延长磁盘寿命避免突然崩溃影响工作

二、什么是SMART数据?

SMART 是“自我监测、分析和报告技术”(Self-Monitoring, Analysis and Reporting Technology)的缩写,内置于大多数现代硬盘和SSD中,相当于磁盘的“健康体检报告”。

SMART 监控的关键指标包括:

磁盘通电次数当前温度已发现的坏扇区数量写入数据量(针对SSD)

三、必备的Linux磁盘扫描工具

smartctl:来自smartmontools软件包的命令行工具,用于读取磁盘SMART数据badblocks:扫描磁盘物理坏扇区fsck:检查并修复文件系统错误GNOME Disks:图形化工具,用于查看磁盘信息和运行测试

四、在Linux中安装必要的磁盘扫描工具

大多数Linux系统已预装smartctl,若未安装:

Arch Linux:sudo pacman -S smartmontoolsDebian/Ubuntu/Linux Mint:
复制
sudo apt update sudo apt install smartmontools1.2.
Fedora/RHEL/AlmaLinux/Rocky Linux:sudo dnf install smartmontools

图形界面工具安装(GNOME Disks):sudo apt install gnome-disk-utility

五、查找磁盘名称

使用lsblk命令查看磁盘信息:

复制
lsblk1.

典型输出:

复制
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 931.5G 0 part /media/ostechnix/WD_SSD └─sda2 8:2 0 32M 0 part nvme0n1 259:0 0 465.8G 0 disk ├─nvme0n1p1 259:1 0 512M 0 part /boot/efi ├─nvme0n1p2 259:2 0 464.3G 0 part / └─nvme0n1p3 259:3 0 976M 0 part [SWAP]1.2.3.4.5.6.7.8.

主要磁盘通常为sda、sdb等,NVMe SSD显示为nvme0n1。

六、执行基础磁盘健康检查

使用smartctl进行快速健康检查:

复制
sudo smartctl -H /dev/sdb smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.15.0-136-generic] (local build) Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED1.2.3.4.5.6.

将sdb替换为实际磁盘名称。若输出显示“PASSED”,表示磁盘状态良好;若显示“FAILED”,则存在问题。

七、获取详细的磁盘健康信息

使用-a参数获取完整信息:

复制
sudo smartctl -a /dev/sdb1.

示例输出片段:

复制
=== START OF INFORMATION SECTION === Model Family: WD Blue / Red / Green SSDs Device Model: WDC WDS100T2G0A-00JH30 User Capacity: 1,000,204,886,016 bytes [1.00 TB] Sector Size: 512 bytes logical/physical Rotation Rate: Solid State Device SMART support is: Available - device has SMART capability. SMART support is: Enabled === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED1.2.3.4.5.6.7.8.9.10.11.

八、解读SMART数据

1. 整体健康状态PASSED:磁盘未检测到关键问题,运行正常FAILED:需立即关注,可能存在故障风险2. 关键SMART属性解析

ID

属性名称

含义

示例值分析

5

Reallocated_Sector_Ct

重新分配的扇区数

0

表示无坏扇区需要重映射

9

Power_On_Hours

通电时间

6425小时

(约267天),属中等使用时长

12

Power_Cycle_Count

通电次数

1220次

,消费级硬盘正常范围

170

Grown_Bad_Blocks

新增坏块数

0

表示NAND闪存稳定

194

Temperature_Celsius

温度

45°C

(正常范围,SSD最高耐受约70°C)

241

Host_Writes_GiB

主机写入量

3794 GiB

(1TB SSD的低写入量)

3. 自我测试日志

执行短测试:sudo smartctl -t short /dev/sda查看结果:sudo smartctl -l selftest /dev/sda

九、需警惕的警告信号

1. 红色警报(立即处理)整体健康状态显示“FAILED”重新分配扇区数>0待处理扇区数>0不可纠正扇区数>02. 黄色预警(建议关注)磁盘使用年限过长(HDD超5年,廉价SSD超3年)通电时间过长(HDD超40,000小时)SSD磨损均衡计数过高

十、扫描坏扇区与文件系统检查

1. 使用badblocks扫描坏扇区

非破坏性只读测试(安全,不修改数据):

复制
sudo badblocks -v /dev/sdX1.

破坏性写入测试(会擦除数据,谨慎使用):

复制
sudo badblocks -wsv /dev/sdX1.
2. 使用fsck检查文件系统完整性
复制
sudo umount /dev/sdX1 # 先卸载分区 sudo fsck /dev/sdX11.2.

十一、图形化工具:GNOME Disks

打开“磁盘”应用从列表中选择目标磁盘点击菜单(☰)→“SMART数据与自我测试”查看健康状态并启动测试

十二、设置自动监控

使用smartd守护进程定期监控:

编辑配置文件:sudo nano /etc/smartd.conf添加监控规则(示例配置):
复制
DEVICESCAN -a -o on -S on -s (S/../.././02|L/../../6/03)1.

(每日2:00执行短测试,每周六3:00执行长测试)

启动服务:
复制
sudo systemctl enable smartd sudo systemctl start smartd1.2.

十三、何时需要警惕及应对措施

1. 紧急情况(立即行动)健康检查显示“FAILED”发现重新分配或待处理扇区磁盘发出异常噪音系统运行极度缓慢2. 应对步骤立即备份重要数据(推荐工具:BorgBackup、Rsync等)执行SMART长测试:sudo smartctl -t long /dev/sda考虑更换磁盘切勿忽视警告信号

十四、SSD特别注意事项

无机械部件,损耗源于写入而非使用年限温度影响相对较小关注磨损均衡(Wear Leveling)和擦写次数(P/E Cycles)多数SSD提供“磨损指示器”(从100到0递减)

十五、常见问题排查

SMART功能不可用:

磁盘可能过旧尝试更换接口(USB转SATA适配器通常不支持SMART)

权限拒绝:

命令前添加sudo确认用户属于disk组:sudo usermod -aG disk yourusername

设备不存在:

使用lsblk重新确认磁盘名称磁盘可能已完全损坏

十六、总结

定期监控磁盘健康是预防数据丢失的关键。通过smartctl、badblocks和fsck等工具,可主动发现并解决潜在问题。GNOME Disks为图形界面用户提供了便捷选择。请记住:SMART监控并非万无一失,但能在多数故障发生前发出预警,结合定期备份,是保护数据的最佳策略。

阅读剩余
THE END