我有一个 4TB 硬盘,我在运行该badblocks
实用程序时没有传递-b block-size
参数。所以我很确定它默认为1024,我的 4TB 驱动器/文件系统很可能设置了块大小4096有没有办法将结果转换为与 4096 块大小相匹配?例如,如果坏块是#5它将block-size=1024
映射到块#2与block-size=4096
。这是从 1024 到 4096 的有效转换吗?
如果是这样,那么我可以重新运行坏块并指定开始和结束范围,这将节省我很多时间。
答案1
您说的没错,默认块大小badblocks
是 1024。文档:
-b block_size
Specify the size of blocks in bytes. The default is 1024.
您的计算也正确。如果您使用的是默认配置的 Ext4,那么您的分区使用的是 4KB 块。因此,如果发现第 777 个块有错误,您可以向下舍入:
Floor((777 * 1024) / 4096) = 192
∴ Block 192
为了完整起见,您在指定范围时可以进一步向下舍入到 190:
sudo badblocks -sb 4096 /dev/sdb1 200 190