扫描计算机硬盘主要有两个原因:一个是检查文件系统的不一致性或错误,这可能是由于持续系统崩溃、关键系统软件不正确关闭,以及更重要的破坏性程序(如恶意软件、病毒等)引起的。
另一个是分析其物理状况,我们可以检查硬盘是否存在坏道,这可能是由于磁盘表面的物理损坏或失败的存储器晶体管引起的。
在本文中,我们将审查一系列基于 GUI 和终端的 Linux 磁盘扫描工具。
如果您注意到计算机硬盘或特定分区的任何异常行为,您可以随时调查的首要事项之一是文件系统的不一致性或错误,而没有比fsck更好的工具来执行此操作了。
1. fsck – 文件系统一致性检查
Fsck 是一个系统实用工具,用于检查并可选择性地修复 Linux 文件系统,作为各种文件系统检查器的前端。
警告:只在测试 Linux 服务器上尝试 fsck 命令,除非你知道自己在做什么。
在运行 fsck 前,务必先卸载分区。
$ sudo unmount /dev/sdc1 $ sudo fsck -Vt vfat /dev/sdc1
在下面的命令中,开关:
-t
– 指定文件系统类型。-V
– 启用详细模式。
你可以在 fsck 手册页中找到详细的使用说明:
$ man fsck
一旦执行了文件系统的不一致性测试,你就可以进行物理状况评估。
2. badblock
Badblocks 用于扫描硬盘上的坏块或扇区,一旦检测到,可以与 fsck 或 e2fsck 结合使用,指示内核避开这些故障区域。
要使用 badblocks,你需要指定要扫描的硬盘的设备文件。
# badblocks /dev/sda
badblocks 会向硬盘上的每个块写入一个模式,然后读取以验证数据是否正确。如果检测到任何错误,该块将被标记为坏块。
扫描完成后,您可以使用-r
选项来读取扫描结果,其中包含找到的所有坏块的列表。
# badblocks -r badblocks.txt
3. S.M.A.R.T 系统实用程序
S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology) is a system built into nearly all modern ATA/SATA and SCSI/SAS hard disks as well as solid-state disks.
它会收集有关受支持硬盘的深入信息,您可以使用以下实用程序获取这些数据。
1. Smartctl
smartctl 是 smartmontools 软件包下的两个实用程序之一,它是一个命令行实用程序,用于控制和监视 S.M.A.R.T 系统。
要安装 smartmontools 软件包,请根据您的发行版运行以下适用命令:
$ sudo apt-get install smartmontools #Debian/Ubuntu systems $ sudo yum install smartmontools #RHEL/CentOS systems
以下是一个报告硬盘分区健康状况的smartctl命令示例,其中选项-H
可帮助显示自检后的一般分区健康状况:
$ sudo smartctl -H /dev/sda6
查看smartctl的 man 手册以获取更多使用指南:
$ man smartctl
有一个名为smartctl的 GUI 前端,称为gsmartcontrol,可以按以下方式安装:
$ sudo apt-get install gsmartcontrol #Debian/Ubuntu systems $ sudo yum install gsmartcontrol #RHEL/CentOS systems

2. Gnome Disk Utility(或 Disks)
Gnome Disk 实用程序提供了一个 GUI,用于执行所有与分区管理相关的任务,如创建、删除、挂载分区等。它预装在大多数主流 Linux 系统中,如 Ubuntu、Fedora、Linux Mint 等。
要在Ubuntu上使用它,请打开Dash并搜索Disks,在Linux Mint上,请打开菜单并搜索Disks,在Fedora上,请点击Activities并输入Disks。

更重要的是,它还可以提供S.M.A.R.T数据并在以下界面中执行自检。

就是这样!在本文中,我们审查了Linux操作系统的硬盘扫描实用程序。您可以在评论中与我们分享任何未在上述列表中提到的相同目的的实用程序/工具,或提出任何相关问题。