当前位置:首页 > Ubuntu > 正文

Ubuntu坏道检测全攻略(使用badblocks命令全面排查硬盘坏道)

在使用Ubuntu系统过程中,硬盘健康状况直接关系到数据安全与系统稳定性。一旦硬盘出现坏道(Bad Sectors),轻则导致文件读写错误,重则造成系统崩溃或数据丢失。本文将手把手教你如何使用Ubuntu内置的 badblocks 命令进行坏道检测,即使是Linux小白也能轻松上手!

Ubuntu坏道检测全攻略(使用badblocks命令全面排查硬盘坏道) Ubuntu badblocks命令 坏道检测 Linux硬盘检测 Ubuntu磁盘修复 第1张

什么是 badblocks 命令?

badblocks 是 Linux 系统中用于扫描磁盘设备是否存在坏块(即坏道)的实用工具。它能以只读或读写方式测试硬盘扇区,并输出所有发现的坏块位置。

该命令常配合 e2fsckmkfs 使用,在格式化前或修复文件系统时排除坏道区域,从而提升系统稳定性。

使用 badblocks 进行坏道检测的步骤

第1步:确认硬盘设备名称

首先,你需要知道要检测的硬盘设备路径。通常位于 /dev/ 目录下,如 /dev/sda/dev/sdb 等。

打开终端(Ctrl+Alt+T),输入以下命令查看当前连接的磁盘:

$ lsblk

输出示例:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTsda      8:0    0 465.8G  0 disk ├─sda1   8:1    0   512M  0 part /boot/efi└─sda2   8:2    0 465.3G  0 part /sdb      8:16   0 931.5G  0 disk 

假设你要检测的是 /dev/sdb(注意:不要检测正在使用的系统盘,以免造成数据损坏!)。

第2步:执行只读坏道扫描(推荐新手)

只读模式不会对硬盘写入任何数据,安全且快速,适合初步检测。

$ sudo badblocks -v /dev/sdb

参数说明:

  • -v:显示详细过程(verbose)

如果没有任何输出,说明未发现坏道;如果有坏块,会显示其逻辑块编号(LBA)。

第3步:执行读写测试(更彻底,但会破坏数据!)

⚠️ 警告:此操作会清空目标磁盘上的所有数据!仅用于全新硬盘或已备份的重要数据盘。

$ sudo badblocks -v -w /dev/sdb

参数说明:

  • -w:执行写入测试(四次写入不同模式:0xaa, 0x55, 0xff, 0x00)
  • -v:显示详细信息

此过程耗时较长(取决于硬盘大小),请耐心等待。

第4步:将坏道信息保存到文件(可选)

你可以将检测结果保存为文件,便于后续处理:

$ sudo badblocks -v /dev/sdb > bad_sectors.txt

之后可用 cat bad_sectors.txt 查看坏道列表。

常见问题解答

Q:badblocks 能修复坏道吗?

A:不能。badblocks 只负责检测坏道。真正的“修复”是通过文件系统(如 ext4)将坏块标记为不可用,避免写入。可配合 e2fsck -l bad_sectors.txt /dev/sdb1 实现。

Q:检测需要多长时间?

A:只读模式通常较快(几小时),而 -w 模式可能需要数小时甚至一整天,具体取决于硬盘容量和速度。

总结

通过本文,你已经掌握了在 Ubuntu 中使用 badblocks 命令进行坏道检测的基本方法。定期检查硬盘健康状态,是预防数据丢失的重要措施。记住:对于重要数据,务必提前备份!

如果你经常使用 Linux 系统,建议将 Ubuntu badblocks命令Linux硬盘检测Ubuntu磁盘修复 纳入你的日常维护工具箱。

—— 保护数据,从检测坏道开始 ——