Как испортить раздел 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 в интерактивном режиме.