博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 Smartmontools 检测硬盘坏道
阅读量:4116 次
发布时间:2019-05-25

本文共 1485 字,大约阅读时间需要 4 分钟。

导读 坏道是一块磁盘或闪存上不再能够被读写的部分,一般是由于磁盘表面特定的物理损坏或闪存晶体管失效导致的。随着坏道的继续积累,它们会对你的磁盘或闪存容量产生令人不快或破坏性的影响,甚至可能会导致硬件失效。坏块的存在警示你应该开始考虑买块新磁盘。

fdisk0

在这篇文章中,我们通过几个必要的步骤,使用特定的磁盘扫描工具让你能够判断 Linux 磁盘或闪存是否存在坏道。

在Linux上使用坏块工具检查坏道

坏块工具可以让用户扫描设备检查坏道或坏块,设备可以是一个磁盘或外置磁盘,由一个如 /dev/sdc 这样的文件代表。首先,通过超级用户权限执行 fdisk 命令来显示你的所有磁盘或闪存的信息以及它们的分区信息:

sudo fdisk -l

fdisk1

然后用如下命令检查你的 Linux 硬盘上的坏道/坏块:

fdisk2

上面的命令中,badblocks 扫描设备 /dev/sda10(记得指定你的实际设备),-v 选项让它显示操作的详情。另外,这里使用了输出重定向将操作结果重定向到了文件 badsectors.txt。

如果你在你的磁盘上发现任何坏道,卸载磁盘并像下面这样让系统不要将数据写入回报的扇区中。

你需要执行 e2fsck(针对 ext2/ext3/ext4 文件系统)或 fsck 命令,命令中还需要用到 badsectors.txt文件和设备文件。

-l 选项告诉命令将在指定的文件 badsectors.txt 中列出的扇区号码加入坏块列表。

------------ 针对 for ext2/ext3/ext4 文件系统 ------------$ sudo e2fsck -l badsectors.txt /dev/sda10或------------ 针对其它文件系统 ------------$ sudo fsck -l badsectors.txt /dev/sda10
在 Linux 上使用 Smartmontools 工具扫描坏道

这个方法对带有 S.M.A.R.T系统的现代磁盘(ATA/SATA 和 SCSI/SAS 硬盘以及固态硬盘)更加的可靠和高效。S.M.A.R.T 系统能够帮助检测,报告,以及可能记录它们的健康状况,这样你就可以找出任何可能出现的硬件失效。

你可以使用以下命令安装 smartmontools:

------------ 在基于 Debian/Ubuntu 的系统上 ------------$ sudo apt-get install smartmontools------------ 在基于 RHEL/CentOS 的系统上 ------------$ sudo yum install smartmontools

安装完成之后,使用 smartctl 控制磁盘集成的 S.M.A.R.T 系统。你可以这样查看它的手册或帮助:

$ man smartctl$ smartctl -h

然后执行 smartctrl 命令并在命令中指定你的设备作为参数,以下命令包含了参数 -H 或 –health 以显示 SMART 整体健康自我评估测试结果。

$ sudo smartctl -H /dev/sda10

fdisk4

上面的结果指出你的硬盘很健康,近期内不大可能发生硬件失效。要获取磁盘信息总览,使用 -a 或 –all 选项来显示关于磁盘所有的 SMART 信息,-x 或 –xall 来显示所有关于磁盘的 SMART 信息以及非 SMART 信息。

本文转载自:

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:

你可能感兴趣的文章
Linux并发服务器编程之多线程并发服务器
查看>>
C语言内存检测
查看>>
Linux epoll模型
查看>>
Linux系统编程——线程池
查看>>
Linux C++线程池实例
查看>>
shared_ptr的一些尴尬
查看>>
C++总结8——shared_ptr和weak_ptr智能指针
查看>>
c++写时拷贝1
查看>>
Linux网络编程---I/O复用模型之poll
查看>>
Java NIO详解
查看>>
在JS中 onclick="save();return false;"return false是
查看>>
idea 有时提示找不到类或者符号
查看>>
matplotlib.pyplot.plot()参数详解
查看>>
MFC矩阵运算
查看>>
ubuntu 安装mysql
查看>>
c# 计算器
查看>>
C# 简单的矩阵运算
查看>>
gcc 常用选项详解
查看>>
c++输出文件流ofstream用法详解
查看>>
firewalld的基本使用
查看>>