Linux: 检测磁盘坏块 你得会吧!

简介: Linux: 检测磁盘坏块 你得会吧!

引言

什么是坏扇区/坏块?它指的是磁盘驱动器或闪存上某个区域无法进行读写操作,通常是由于磁盘表面有永久性物理损伤或者闪存晶体管出现故障

坏扇区越来越多的话,会对存储设备的性能产生严重影响,还会减少存储容量,甚至可能导致硬件彻底损坏。

另外,一旦发现坏块,就应该考虑更换新的磁盘驱动器,或者把坏块标记为不可用。

所以,本文章会介绍一些方法,帮助你通过一些磁盘扫描工具来检查 Linux 磁盘驱动器或闪存上是否存在坏扇区。具体方法如下:

badblocks

  • 使用 badblocks 工具来检查坏扇区

badblocks 工具可以扫描硬盘或外部驱动器等存储设备,查找其中的坏扇区。设备通常以文件形式显示,比如 /dev/sdc 或 /dev/sda。

  1. 第一步:列出所有磁盘和分区 首先,使用带有超级用户权限的 fdisk 命令,查看所有磁盘驱动器或闪存以及它们的分区信息:
sudo fdisk -l
AI 代码解读

这将帮助您确定正确的设备名称进行扫描。

  1. 第二步:然后扫描您的Linux磁盘驱动器以检查不良扇区/块:
sudo badblocks -v /dev/sda10 > badsectors.txt
AI 代码解读

在刚才提到的命令里,badblocks 正在检查 /dev/sda10 这个设备(注意要换成你实际使用的设备名称),-v 参数可以让它显示操作过程中的详细信息。同时,操作结果会通过输出重定向保存到 badsectors.txt 文件里。

如果在磁盘驱动器中发现了坏扇区,需要先卸载磁盘,然后按照以下方法告诉操作系统不要对这些报告的扇区进行写入操作。

  1. 第三步:把坏扇区标记为不可用 你需要使用 e2fsck(针对 ext2/ext3/ext4 文件系统)或者 fsck 命令,结合 badsectors.txt 文件和设备文件,具体命令如下。
  • 针对 ext2/ext3/ext4 文件系统:
sudo e2fsck -l badsectors.txt /dev/sda10
AI 代码解读
  • 对于其他文件系统:
sudo fsck -l badsectors.txt /dev/sda10
AI 代码解读

Smartmontools

  • Smartmontools检查磁盘健康状况(推荐)

这种方法更适合现代磁盘(包括 ATA/SATA 和 SCSI/SAS 硬盘以及固态硬盘),因为这些磁盘都内置了 S.M.A.R.T(自监测、分析和报告技术)系统。该系统可以检测、报告并记录磁盘的健康状况,帮助你提前发现可能出现的硬件故障。

  1. 第一步:在 Linux 上安装 smartmontools可以通过运行以下命令来安装
sudo apt install smartmontools  #For Debian-based
sudo dnf install smartmontools  #For RHEL-based
AI 代码解读
  1. 第二步:用 smartctl 进行健康检查

安装完成后,就可以使用 smartctl 了,它用于控制磁盘内置的 S.M.A.R.T 系统。你可以查看它的手册页或帮助页,具体方法如下:

man smartctl
smartctl -h
AI 代码解读
  1. 第三步:运行基本健康测试

接下来,运行 smartctl 命令,并指定你要检查的特定设备。在命令中,使用 -H 或 --health 标志,可以显示 S.M.A.R.T 系统的总体健康自检测试结果。

sudo smartctl -H /dev/sda10
AI 代码解读

上面的结果显示,你的硬盘目前状态良好,暂时不会出现硬件故障。

总结

在本文中,我们介绍了如何通过 badblockssmartmontools 在 Linux 磁盘上检测和处理坏扇区。监控存储设备的健康状况非常重要,而这些工具让这一过程变得简单明了。

目录
打赏
0
20
19
0
335
分享
相关文章
如何判断Linux磁盘是SSD还是HDD?
总的来说,判断磁盘是SSD还是HDD并不复杂,只需要使用正确的命令和方法,就可以轻松得到结果。希望这些信息对你有所帮助,如果你还有其他问题,欢迎随时提问。
54 15
|
2月前
|
Linux系统ext4磁盘扩容实践指南
这个过程就像是给你的房子建一个新的储物间。你需要先找到空地(创建新的分区),然后建造储物间(格式化为ext4文件系统),最后将储物间添加到你的房子中(将新的分区添加到文件系统中)。完成这些步骤后,你就有了一个更大的储物空间。
169 10
Linux系统中如何查看磁盘情况
【9月更文挑战第3天】在Linux系统中,有多种方式查看磁盘情况。可通过命令行工具`df`查看文件系统磁盘使用情况,选项`-h`以人类可读格式显示,`-T`显示文件系统类型;`du`命令显示目录或文件磁盘使用情况,`-h`以人类可读格式显示,`-s`仅显示总计;`fdisk -l`列出磁盘和分区信息。此外,图形界面的磁盘管理工具和文件管理器也可用于查看磁盘使用情况。这些方法有助于更好地管理磁盘空间。
925 4
Linux磁盘挂接教程
Linux磁盘挂接教程
103 14
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
Linux 磁盘管理
Linux 磁盘管理
76 1
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
130 0
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
100 0
|
2月前
|
linux命令详细说明以及案例
本文介绍了常用的 Linux 命令及其详细说明和示例,包括:`ls`(列出目录内容)、`cd`(更改目录)、`rm` 和 `mv`(删除与移动文件)、`grep`(搜索文本)、`cat`(显示文件内容)以及 `chmod`(更改文件权限)。每个命令均配有功能描述、选项说明及实际案例,帮助用户更好地掌握 Linux 命令的使用方法。
161 56
Linux系统中的cd命令:目录切换技巧
踏过千山,越过万水,人生就是一场不断前行的旅程,总充满了未知与挑战。然而,“cd”命令如同你的旅伴,会带你穿梭在如棋盘一般的文件系统中,探索每一处未知。希望你能从“cd”命令中找到乐趣,像是掌控了一种络新妙的魔法,去向未知进发,开始你的探索之旅。
99 24