帮助中心 >
  关于独立服务器 >
  查找Linux硬盘上坏扇区或坏块的方法
查找Linux硬盘上坏扇区或坏块的方法
时间 : 2024-12-12 12:27:22
编辑 : Jtti

Linux硬盘上的坏扇区或坏块是指磁盘驱动器上无法读取或者写入部分,因为磁盘标明固定物理损坏或闪存晶体管故障。随着坏扇区不断增多可能会对磁盘驱动器或闪存容量造成不良或破坏性影响甚至硬件故障。坏块的出现提示要考虑购置新磁盘驱动器或者简单的将坏块标为不可用。那么,扫描磁盘确定磁盘驱动器或者闪存是否存在坏扇区的方法有哪些?

通过badblocks程序可以检查设备中磁盘的坏扇区,设备可以是硬盘或者外部磁盘驱动器,由/dev/sdc之类文件,需要具有超级用户权限用fdisk命令来显示有关磁盘驱动器或闪存及其分区的信息:

$ sudo fdisk -l

再输入以下命令扫描Linux磁盘驱动器检查是否有坏扇区/块:

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

上面的命令中,badblocks正在扫描设备/dev/sda10(记得指定您的实际设备),并-v启用它来显示操作的详细信息。此外,操作结果通过输出重定向存储在文件badsectors.txt中。如果发现磁盘存在任何坏扇区,需要卸载磁盘并按照指示让操作系统不要写入报告的扇区。

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

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

------------ Specifically for ext2/ext3/ext4 file-systems ------------

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

OR

------------ For other file-systems ------------

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

现代硬盘(HDD和SSD)配备SMART技术,能更可靠、高效地检测和报告健康状况,预测硬件故障。安装smartmontools的命令如下:

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

$ sudo apt-get install smartmontools

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

$ sudo yum install smartmontools

安装完成后,使用smartctl控制集成到磁盘中的SMART系统。您可以按如下方式查看其手册页或帮助页:

$ man smartctl

$ smartctl -h

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

$ sudo smartctl -H /dev/sda10

概览磁盘信息,请使用-a或--all选项打印出有关磁盘的所有SMART-x信息,或--xall显示有关磁盘的所有SMART和非 SMART信息。

JTTI-Defl
JTTI-COCO
JTTI-Selina
JTTI-Ellis
JTTI-Eom