命令如下:
sudo badblocks -sv /dev/sda1 > bads.txt
sudo e2fsck -l bads.tst /dev/sda1
或者
sudo e2fsck -ckvt /dev/sda1
可以扫描磁盘/dev/sda1
上的坏块并将其标记为不可用。但是如何读取当前的坏块列表/dev/sda1
?
答案1
回答所问的问题:如果/dev/sda1
已经格式化ext3
/ext4
那么
dumpe2fs -b /dev/sda1
将列出文件系统创建时保留为“坏”的块。
磁盘本身不会向主机报告坏块,除非它已经耗尽了重新分配坏块的容量。
现代硬盘(即过去二十年生产的硬盘)将在内部管理坏块列表。它们出厂时会有一些备用块;当检测到坏块时,将改用备用块。重新分配的块数在 SMART 参数中报告。如果现代硬盘向主机报告坏块,则意味着可用的备用块已用尽,并且硬盘快不行了。