![如何检查整个硬盘是否有错误和坏扇区](https://linux22.com/image/166101/%E5%A6%82%E4%BD%95%E6%A3%80%E6%9F%A5%E6%95%B4%E4%B8%AA%E7%A1%AC%E7%9B%98%E6%98%AF%E5%90%A6%E6%9C%89%E9%94%99%E8%AF%AF%E5%92%8C%E5%9D%8F%E6%89%87%E5%8C%BA.png)
我可能在这里误解了一些概念,但据我所知,每个磁盘都有一个分区表和实际分区。
我正在测试硬盘驱动器是否有坏扇区和错误,但我发现执行此操作的工具适用于分区,而不是磁盘。不badblocks
占用一个分区。同样的故事与./dev/sda1
/dev/sda
e2fsck
据我了解,这些工具仅测试分配给分区的空间,而不是整个磁盘。有没有办法测试整个磁盘?
答案1
有没有办法测试整个磁盘?
是的,使用badblocks
:
badblocks /dev/sda
联机帮助页引用分区,因为badblocks
可以告诉mkfs.ext2
它找到的坏块,并且仅在检查分区时才有效。但badblocks
它本身在完整磁盘上运行良好。
然而,这badblocks
确实是过去时代的遗迹,当时硬盘驱动器无法自行管理坏块。如今,驱动器本身会跟踪错误,并且能够在情况允许的情况下重新映射坏扇区(通常是在重写坏扇区时)。您最好运行 SMART 测试并检查结果:
smartctl -t long /dev/sda
smartctl -t offline /dev/sda
smartctl -x /dev/sda
(确保在运行下一个测试之前完成每个测试)。