菜鸟科技网

扫描硬盘命令

检查硬盘健康状态(最常见)

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

扫描硬盘命令-图1
(图片来源网络,侵删)

Windows 系统

在 Windows 中,最佳工具是 CrystalDiskInfo,它是一个免费、轻量级的软件,而不是一个命令行命令,但它能提供最直观、最详细的硬盘健康信息。

操作步骤:

  1. 下载并安装 CrystalDiskInfo
  2. 打开软件,它会自动检测并显示您所有硬盘的信息。
  3. 您可以看到硬盘型号、固件版本、健康状态(通常是“良好”、“警告”、“损坏”)、温度,以及最重要的 SMART(自我监控、分析和报告技术)详细信息。

命令行工具(可选): Windows 也内置了 wmic 命令可以查看部分 SMART 信息,但信息不如 CrystalDiskInfo 详细。

wmic diskdrive get status, model, serialnumber
  • Status: 如果显示 "OK" 通常表示状态良好,但这不是完整的 SMART 报告。

macOS 系统

macOS 有一个强大的内置命令行工具 diskutil

扫描硬盘命令-图2
(图片来源网络,侵删)

操作步骤:

  1. 打开“终端”(Terminal)。
  2. 首先识别您的硬盘,使用 diskutil list 命令,找到您想检查的硬盘,/dev/disk1
  3. 使用以下命令获取 SMART 报告:
    diskutil info /dev/disk1

    这会显示硬盘的详细信息,包括 SMART 状态,如果支持,您还可以运行诊断:

    diskutil verifyVolume /dev/disk1s1  # 检查文件系统
    diskutil repairVolume /dev/disk1s1  # 尝试修复文件系统

Linux 系统

Linux 系统通常使用 smartctl 命令,这是 smartmontools 包的一部分。

操作步骤:

扫描硬盘命令-图3
(图片来源网络,侵删)
  1. 首先确保已安装 smartmontools,如果没有,可以使用包管理器安装:

    # 对于 Debian/Ubuntu
    sudo apt-get install smartmontools
    # 对于 CentOS/RHEL/Fedora
    sudo yum install smartmontools
  2. 识别您的硬盘设备名,通常是 /dev/sda, /dev/sdb 等,使用 lsblkfdisk -l 查看。

  3. 运行 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 命令。

操作步骤:

  1. 以管理员身份打开“命令提示符”或“PowerShell”。
  2. 运行以下命令(将 C: 替换为您想扫描的盘符):
    chkdsk C: /f /r
    • /f: 修复磁盘上的错误。
    • /r: 查找坏扇区并尝试恢复可读信息,这个选项包含了 /f 的功能。
  3. 注意:如果系统盘(C盘)正在使用,chkdsk 会提示您在下次重启时执行,请输入 Y 并重启电脑。

macOS 系统

使用 diskutil 命令。

操作步骤:

  1. 打开“终端”(Terminal)。
  2. 使用 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)。

  1. 打开“设置” > “隐私和安全性” > “Windows 安全中心”。
  2. 点击“病毒和威胁防护”。
  3. 选择“快速扫描”或“扫描选项”进行“全面扫描”。

也可以使用命令行启动扫描:

# 启动快速扫描
Start-MpScan -ScanType QuickScan
# 启动全面扫描
Start-MpScan -ScanType FullScan

macOS 系统

使用 XProtect (系统内置) 和 Malwarebytes 等第三方工具。

  1. XProtect: 通常由系统自动在后台运行,无需手动干预。
  2. Malwarebytes: 下载并安装 Malwarebytes for Mac,然后运行全面扫描。

Linux 系统

Linux 系统病毒较少,但仍建议使用安全工具。

  1. ClamAV: 开源杀毒软件。

    # 更新病毒库
    sudo freshclam
    # 扫描整个 /home 目录
    clamscan -r /home

低级格式化或擦除硬盘(彻底清空数据)

这是一个非常危险的命令,会永久删除硬盘上的所有数据,且无法恢复,请务必谨慎操作!

Windows 系统

使用 diskpart 命令。

操作步骤:

  1. 以管理员身份打开“命令提示符”。
  2. 输入 diskpart 并回车进入 Diskpart 环境。
  3. 输入 list disk 查看所有磁盘,找到您要擦除的磁盘号(Disk 1)。
  4. 输入 select disk 1 选中目标磁盘。
  5. (极其重要!) 输入 clean 命令,这将清除磁盘上的所有分区和格式信息。
    • 如果您想进行更彻底的擦除(写入零以覆盖数据),可以使用 clean all,这个过程会非常耗时。
  6. 完成后,输入 exit 退出 Diskpart。

macOS 系统

使用 diskutil 命令。

操作步骤:

  1. 打开“终端”(Terminal)。

  2. 使用 list 命令找到要擦除的磁盘(/dev/disk2)。

  3. 使用 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 下的瑞士军刀”,误用会彻底摧毁数据。

操作步骤:

  1. 打开终端。

  2. 使用 lsblkfdisk -l 确认目标设备名(/dev/sdb)。绝对不要写成 /dev/sdb1(分区)或 /dev/sda(另一个磁盘)!

  3. 运行 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)之前,请务必再三确认您选择的设备是正确的!

分享:
扫描分享到社交APP
上一篇
下一篇