linux挂载fc存储有超级坏块_「Linux」- 使用badblock命令检查磁盘坏块

「Linux」- 使用badblock命令检查磁盘坏块

更新日期:2019年11月17日

内容简介

本文将介绍如何使用badblock命令检测在磁盘中的坏块。

badblock

实用程序 badblock 用于检测磁盘中的坏块。它支持以下几种扫描模式:

只读模式 - 默认模式,但是精准度是最低的;

写入模式 - 有害模式,这是最精准的模式,但是检测时间较久,并且会破坏所有数据;

读写模式 - 无害模式,精准度与写入模式差不多,但是最慢。

如果已知硬盘存在坏块,那只读模式应该是最安全的。

扫描磁盘

使用如下命令可以对磁盘进行扫描:

#!/bin/sh

################################################################################

#1 使用fdisk命令确定要检查的磁盘

################################################################################

fdisk -l # 或者lsblk命令

################################################################################

#2 然后扫描磁盘(这里是/dev/sdc分区)

################################################################################

badblocks -v /dev/sdc > badsectors.txt

#「-v」- 显示操作的细节

#「> badsectors.txt」- 将扫描结果保存到文件中。命令e2fsck、fsck等等可以使用该文件。

################################################################################

#3 扫描特定分区

################################################################################

badblocks -v /dev/sdc1 > badsectors.txt

全盘扫描

但是全盘扫描由一个缺点:每个文件系统”相对于它所在的分区“开始进行块计算。

假如你的第二个分区存在坏块,并且该分区从块1000开始。在进行全盘扫描得到坏块值,减去1000后,得到的值才是你想要的坏块值,后面的计算也要基于该值。

或者,在全盘扫描之后,再单独对坏块所在的分区进行扫描。这样就不需要进行数学计算。

块大小

另外需要注意的是块大小:命令badblock使用1024 BYTE块,因此你需要使用-b选项调整块大小,以匹配在文件系统中的块大小。否则,需要进行数学计算来转换为文件系统块值。

!!!因为在进行文件系统相关的处理时,需要知道文件系统的块大小。通过对应的块大小,得到文件系统中块位置。

分区起始与结束

可以使用fdisk(8)命令确定分区的开始与结束。(对于旧版本的输出,以cylinder为单位,你需要使用-u选项指定以sector为单位)

在使用fdisk命令确定块大小之后,以就可以对块数进行转换,以符合扫描结果。

最后总结

至此,你已经得到了坏块值,该值相对于他们所在的分区。

参考文献

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值