linux 的badblocks命令介绍
badblocks 是一个用于检查存储设备(如硬盘或闪存驱动器)中坏块的 Linux 命令。坏块是指那些无法可靠使用的存储块,可能由于物理损坏或其他问题导致数据无法读取或写入
badblocks 命令可以在不同的模式下运行,包括非破坏性读取模式和破坏性写入模式。它能够生成坏块列表,这些信息可以用于其他程序(如 mkfs)来避免使用这些坏块
一:命令介绍
root@meng:~# badblocks
Usage: badblocks [-b block_size] [-i input_file] [-o output_file] [-svwnfBX]
[-c blocks_at_once] [-d delay_factor_between_reads] [-e max_bad_blocks]
[-p num_passes] [-t test_pattern [-t test_pattern [...]]]
device [last_block [first_block]]
root@meng:~# badblocks --help
badblocks: invalid option -- '-'
Usage: badblocks [-b block_size] [-i input_file] [-o output_file] [-svwnfBX]
[-c blocks_at_once] [-d delay_factor_between_reads] [-e max_bad_blocks]
[-p num_passes] [-t test_pattern [-t test_pattern [...]]]
device [last_block [first_block]]
二:案例介绍
root@meng:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 63.9M 1 loop /snap/core20/2264
loop1 7:1 0 63.9M 1 loop /snap/core20/2318
loop3 7:3 0 87M 1 loop /snap/lxd/28373
loop4 7:4 0 38.7M 1 loop /snap/snapd/21465
loop5 7:5 0 38.8M 1 loop /snap/snapd/21759
loop6 7:6 0 87M 1 loop /snap/lxd/29351
sda 8:0 0 35G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 33G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 33G 0 lvm /
sr0 11:0 1 1024M 0 rom
root@meng:~# badblocks -v /dev/sda
Checking blocks 0 to 36700159
Checking for bad blocks (read-only test):
done
Pass completed, 0 bad blocks found. (0/0/0 errors)
root@meng:~#
执行非破坏性读写测试,确保不会擦除数据:
root@meng:~# badblocks -nsv /dev/sda
/dev/sda is apparently in use by the system; it's not safe to run badblocks!