Как испортить раздел ext3, чтобы он автоматически прошел fsck при загрузке?

Я ищу способ безопасного повреждения раздела ext3, чтобы он мог быть восстановлен с помощью fsck при следующей загрузке для целей тестирования. Спасибо!

2 ответа

Решение

Используйте dd для записи данных из /dev/zero поверх необработанного устройства. Начнем с нескольких байтов, e2fsck -pПовторите, увеличивая количество, пока вы не выбросите что-нибудь дорогое

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

Вы увеличиваете count= написать больше. seek= Предназначен для прохождения первых 10 КБ /dev/sda1, чтобы вы не удаляли суперблок или какие-либо жизненно важные структуры в верхней части файловой системы. Нет ничего плохого в уничтожении суперблока (учитывая, что это тестовые данные), но fsck не сможет автоматически восстановить потерю суперблока, поэтому вам придется вручную указать его на резервный суперблок. Вы спрашиваете о том, что может восстановить fsck после перезагрузки, поэтому вы должны знать, что -p флаг переводит fsck в режим загрузки "исправьте то, что вы можете безопасно исправить".

Если вы сделаете это на разделе данных, вы сможете избежать затрат на перезагрузку и просто поддерживать цикл trash-fsck.

Вы можете перезаписать первый суперблок, для ext3 это будет

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

Это забавная вещь, чтобы оправиться от. Вам также не нужно перезагружаться, просто используйте fsck в интерактивном режиме.

Другие вопросы по тегам