Я хочу намеренно испортить файл в файловой системе ext4 для тестирования. Есть ли способ повредить его, скажем, оставить файл открытым и перезагрузить компьютер?

1 ответ1

4

Вы хотите быть в состоянии восстановиться? Или как мы развращаемся?

Я бы использовал dd , утилиту передачи блоков.

dd if=/dev/urandom of=/dev/sdWV count=X bs=Y seek=Z

где

sdWV - это устройство, которое вы хотите испортить

  • sdW будет блочным устройством
  • V будет номером раздела

X - количество боксов, которые вы хотите написать

Y - размер каждого блока

Z - это место в разделе, где вы хотите начать повреждение данных

Убедитесь, что вы делаете резервную копию, прежде чем делать какие-либо повреждения.

Здесь источником изображения будет /dev/urandom , поток, который будет просто генерировать случайные данные, перезаписывая все и вся на вашем устройстве.

Если вы опустите директиву count , она продолжит запись до полного заполнения устройства.

редактировать

Хех, извините за порчу вашей текущей работающей системы - заголовок и текст вашего сообщения сильно различаются. Повреждение файловой системы и повреждение файла довольно разные ...

Если вы хотите испортить файл, вы все равно можете использовать dd, но перезаписать существующий файл, а не фактическое блочное устройство.

~ > echo "this is a test file that is about to be corrupted" > test_file
~ > cat test_file
this is a test file that is about to be corrupted
~ > dd if=/dev/urandom of=test_file bs=8 count=1 seek=1
1+0 records in
1+0 records out
8 bytes (8 B) copied, 0.007185 s, 1.1 kB/s
~ > cat test_file
this is \o♣▒▒▒_C~ >

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .