如何在Linux中检查硬盘上的坏道或坏块

让我们先定义一个坏扇区/块,它是磁盘驱动器或闪存上的一个部分,由于磁盘表面固定的物理损坏或闪存晶体管故障,因此无法再对其进行读写。

随着坏扇区的不断累积,它们会不希望地或具有破坏​​性地影响您的磁盘驱动器或闪存容量,甚至可能导致硬件故障。

同样重要的是要注意,坏块的存在会提醒您开始考虑购买新的磁盘驱动器,或者只是将坏块标记为不可用。

因此,在本文中,我们将执行必要的步骤,使您能够使用某些磁盘扫描实用程序确定Linux磁盘驱动器或闪存上是否存在坏扇区。

也就是说,以下是方法:

使用badblocks工具检查Linux磁盘中的坏扇区

一个badblocks程序,用户可以扫描设备是否有坏扇区或块。该设备可以是硬盘,也可以是外部磁盘驱动器,由/ dev / sdc之类的文件表示。

首先,使用具有超级用户特权的fdisk命令来显示有关所有磁盘驱动器或闪存及其分区的信息:

$ sudo fdisk -l

列出Linux文件系统分区

然后通过键入以下内容扫描Linux磁盘驱动器以检查是否存在坏扇区/块:

$ sudo badblocks -v / dev / sda10> badsectors.txt

扫描Linux中的硬盘坏道

在上面的命令中,badblocks正在扫描设备/ dev / sda10(请记住指定您的实际设备),并-v使其能够显示操作的详细信息。此外,操作结果通过输出重定向存储在文件badsectors.txt中。

如果发现磁盘驱动器上有任何坏扇区,请卸载磁盘并指示操作系统不要按以下方式写入报告的扇区。

您将需要对badsectors.txt文件和设备文件使用e2fsck(对于ext2 / ext3 / ext4文件系统)或fsck命令,如下面的命令所示。

-l选项告诉命令将文件名(badsectors.txt)指定的文件中列出的块号添加到坏块列表中。

------------ 专门用于ext2 / ext3 / ext4文件系统 ------------

$ sudo e2fsck -l badsectors.txt / dev / sda10

 

要么

 

------------ 对于其他文件系统 ------------

$ sudo fsck -l badsectors.txt / dev / sda10

使用Smartmontools扫描Linux磁盘上的坏扇区

对于现代磁盘(ATA / SATA和SCSI / SAS硬盘驱动器和固态驱动器),该方法与SMART(自我监控,分析和报告技术)系统一起提供,可帮助检测,报告并可能提供更高的可靠性和效率。记录其运行状况,以便您可以确定任何即将发生的硬件故障。

您可以通过运行以下命令来安装smartmontools:

------------ 在基于Debian / Ubuntu的系统上 ------------

$ sudo apt-get install smartmontools

 

------------ 在基于RHEL / CentOS的系统上 ------------

$ sudo yum安装smartmontools

安装完成后,请使用smartctl来控制集成到磁盘中的SMART系统。您可以如下浏览其手册页或帮助页:

$ man smartctl

$ smartctl -h

现在执行smartctrl命令,并将您的特定设备命名为参数,如以下命令中所示,该标志包含-H--health来显示SMART总体运行状况自我评估测试结果。

$ sudo smartctl -H / dev / sda10

检查Linux硬盘运行状况

上面的结果表明您的硬盘运行状况良好,并且可能不会很快出现硬件故障。

对于磁盘信息的概述,使用-a--all选项,打印出所有SMART有关磁盘的信息-x--xall它显示所有SMART和非智能有关磁盘的信息。

在本教程中,我们涵盖了有关磁盘驱动器运行状况诊断的非常重要的主题,您可以通过下面的反馈部分与我们联系,以分享您的想法或提出任何问题,并记住始终与Tecmint保持联系。