如何破坏 ext3 分区,以便它在启动时自动进行 fsck 修复?

如何破坏 ext3 分区,以便它在启动时自动进行 fsck 修复?

我正在寻找一种安全破坏 ext3 分区的方法,以便下次启动时可以通过 fsck 恢复,以进行测试。谢谢!

答案1

/dev/zero使用 dd 从原始设备顶部写入数据。从几个字节开始,e2fsck -p重复,增加计数,直到丢弃一些昂贵的数据。

dd if=/dev/zero bs=1 count=10 of=/dev/sda1 seek=10000

您增加count=写入量。seek=设计为传递 /dev/sda1 的前 10k,这样您就不会破坏超级块或文件系统顶部的任何重要结构。破坏超级块没有错(假设这是测试数据),但 fsck 无法从超级块丢失中自动恢复,因此您必须手动将其指向备份超级块。您特别询问重新启动 fsck 可以从中恢复什么,因此您应该知道该-p标志将 fsck 置于启动时“修复您可以安全修复的内容”模式。

如果您在数据分区上执行此操作,则可以避免重新启动成本,并只需保持 trash-fsck 循环继续进行。

答案2

您可以覆盖第一个超级块,对于 ext3 来说,它将是

dd if=/dev/zero count=1 bs=4096 seek=0 of=/dev/<filesystem to corrupt>

恢复起来很有趣。您也不需要重新启动,只需以交互方式使用 fsck 即可。

相关内容