检查硬盘健康状态(最常见)
这是大多数用户想了解的,目的是检查硬盘是否存在物理损坏、坏道等问题,并预测其寿命。

Windows 系统
在 Windows 中,最佳工具是 CrystalDiskInfo,它是一个免费、轻量级的软件,而不是一个命令行命令,但它能提供最直观、最详细的硬盘健康信息。
操作步骤:
- 下载并安装 CrystalDiskInfo。
- 打开软件,它会自动检测并显示您所有硬盘的信息。
- 您可以看到硬盘型号、固件版本、健康状态(通常是“良好”、“警告”、“损坏”)、温度,以及最重要的 SMART(自我监控、分析和报告技术)详细信息。
命令行工具(可选):
Windows 也内置了 wmic 命令可以查看部分 SMART 信息,但信息不如 CrystalDiskInfo 详细。
wmic diskdrive get status, model, serialnumber
Status: 如果显示 "OK" 通常表示状态良好,但这不是完整的 SMART 报告。
macOS 系统
macOS 有一个强大的内置命令行工具 diskutil。

操作步骤:
- 打开“终端”(Terminal)。
- 首先识别您的硬盘,使用
diskutil list命令,找到您想检查的硬盘,/dev/disk1。 - 使用以下命令获取 SMART 报告:
diskutil info /dev/disk1
这会显示硬盘的详细信息,包括 SMART 状态,如果支持,您还可以运行诊断:
diskutil verifyVolume /dev/disk1s1 # 检查文件系统 diskutil repairVolume /dev/disk1s1 # 尝试修复文件系统
Linux 系统
Linux 系统通常使用 smartctl 命令,这是 smartmontools 包的一部分。
操作步骤:

-
首先确保已安装
smartmontools,如果没有,可以使用包管理器安装:# 对于 Debian/Ubuntu sudo apt-get install smartmontools # 对于 CentOS/RHEL/Fedora sudo yum install smartmontools
-
识别您的硬盘设备名,通常是
/dev/sda,/dev/sdb等,使用lsblk或fdisk -l查看。 -
运行
smartctl命令检查硬盘健康状态:# 显示硬盘的 SMART 整体健康摘要 sudo smartctl -H /dev/sda # 显示详细的 SMART 信息和自检日志 sudo smartctl -a /dev/sda # 运行硬盘自我测试(耗时较长) sudo smartctl -t short /dev/sda # 快速短测试 # sudo smartctl -t long /dev/sda # 全面长测试
查看测试结果:
sudo smartctl -l selftest /dev/sda
扫描并修复文件系统错误
当您感觉电脑变慢、文件读取异常或无法访问某个分区时,可能需要扫描并修复文件系统的逻辑错误。
Windows 系统
使用 chkdsk 命令。
操作步骤:
- 以管理员身份打开“命令提示符”或“PowerShell”。
- 运行以下命令(将
C:替换为您想扫描的盘符):chkdsk C: /f /r
/f: 修复磁盘上的错误。/r: 查找坏扇区并尝试恢复可读信息,这个选项包含了/f的功能。
- 注意:如果系统盘(C盘)正在使用,
chkdsk会提示您在下次重启时执行,请输入Y并重启电脑。
macOS 系统
使用 diskutil 命令。
操作步骤:
- 打开“终端”(Terminal)。
- 使用
repairVolume选项,同样,先使用diskutil list找到正确的设备名(如disk0s2)。# 检查并尝试修复 APFS/HFS+ 分区 sudo diskutil repairVolume /dev/disk0s2
这个命令会检查文件系统结构并尝试修复。
Linux 系统
根据文件系统类型使用不同工具。
对于 ext4 (最常见):
使用 fsck (文件系统检查) 命令。
# 检查 /dev/sda1 分区 sudo fsck /dev/sda1
重要提示:fsck 不能在挂载的分区上运行,如果需要修复根分区 ,您必须进入单用户模式或使用 Live USB/CD 启动系统后运行。
对于 NTFS (Windows 分区):
可以使用 ntfsfix 工具。
# 检查并修复 /dev/sdb1 上的 NTFS 分区 sudo ntfsfix /dev/sdb1
查找并清除病毒或恶意软件
有时“扫描硬盘”指的是安全扫描。
Windows 系统
使用 Windows Defender (现在称为 Microsoft Defender)。
- 打开“设置” > “隐私和安全性” > “Windows 安全中心”。
- 点击“病毒和威胁防护”。
- 选择“快速扫描”或“扫描选项”进行“全面扫描”。
也可以使用命令行启动扫描:
# 启动快速扫描 Start-MpScan -ScanType QuickScan # 启动全面扫描 Start-MpScan -ScanType FullScan
macOS 系统
使用 XProtect (系统内置) 和 Malwarebytes 等第三方工具。
- XProtect: 通常由系统自动在后台运行,无需手动干预。
- Malwarebytes: 下载并安装 Malwarebytes for Mac,然后运行全面扫描。
Linux 系统
Linux 系统病毒较少,但仍建议使用安全工具。
-
ClamAV: 开源杀毒软件。
# 更新病毒库 sudo freshclam # 扫描整个 /home 目录 clamscan -r /home
低级格式化或擦除硬盘(彻底清空数据)
这是一个非常危险的命令,会永久删除硬盘上的所有数据,且无法恢复,请务必谨慎操作!
Windows 系统
使用 diskpart 命令。
操作步骤:
- 以管理员身份打开“命令提示符”。
- 输入
diskpart并回车进入 Diskpart 环境。 - 输入
list disk查看所有磁盘,找到您要擦除的磁盘号(Disk 1)。 - 输入
select disk 1选中目标磁盘。 - (极其重要!) 输入
clean命令,这将清除磁盘上的所有分区和格式信息。- 如果您想进行更彻底的擦除(写入零以覆盖数据),可以使用
clean all,这个过程会非常耗时。
- 如果您想进行更彻底的擦除(写入零以覆盖数据),可以使用
- 完成后,输入
exit退出 Diskpart。
macOS 系统
使用 diskutil 命令。
操作步骤:
-
打开“终端”(Terminal)。
-
使用
list命令找到要擦除的磁盘(/dev/disk2)。 -
使用
eraseDisk命令进行擦除,这会创建一个新的 APFS 分区。# 安全擦除(写入零) sudo diskutil eraseDisk APFS "My New Drive" /dev/disk2 # 如果想进行更高级的擦除(如美国 DoD 5220.22-M 标准) sudo diskutil secureErase freespace 2 /dev/disk2 # 注意:secureErase freespace 只擦除可用空间,而 secureErase 1 会擦除整个磁盘。
Linux 系统
使用 dd 命令,这是一个非常强大且危险的工具,被称为“Linux 下的瑞士军刀”,误用会彻底摧毁数据。
操作步骤:
-
打开终端。
-
使用
lsblk或fdisk -l确认目标设备名(/dev/sdb)。绝对不要写成/dev/sdb1(分区)或/dev/sda(另一个磁盘)! -
运行
dd命令,以下示例将向整个磁盘写入零,这是一种常见的擦除方法。# 将零写入 /dev/sdb,速度较快 sudo dd if=/dev/zero of=/dev/sdb bs=4M status=progress # 使用随机数据写入(更安全,但更慢) # sudo dd if=/dev/urandom of=/dev/sdb bs=4M status=progress
if=/dev/zero: 输入文件是零。of=/dev/sdb: 输出文件是你的目标硬盘。bs=4M: 块大小为4MB,可以提高速度。status=progress: 显示进度。
| 场景 | 目的 | Windows | macOS | Linux |
|---|---|---|---|---|
| 健康检查 | 检查物理损坏和寿命 | CrystalDiskInfo (推荐) | diskutil info |
sudo smartctl -a |
| 文件系统修复 | 修复逻辑错误 | chkdsk C: /f /r |
sudo diskutil repairVolume |
sudo fsck /dev/sda1 |
| 病毒扫描 | 清除恶意软件 | Microsoft Defender | Malwarebytes | sudo clamscan -r |
| 彻底擦除 | 不可逆地删除所有数据 | diskpart -> clean |
sudo diskutil eraseDisk |
sudo dd if=/dev/zero of=/dev/sdb |
在执行任何可能破坏数据的命令(尤其是 clean, eraseDisk, dd)之前,请务必再三确认您选择的设备是正确的!
