Как сделать один проход с плохими блоками в деструктивном режиме?

Как сделать один проход с плохими блоками в деструктивном режиме?

Я используюплохие блокичтобы выполнить деструктивное стирание любых данных на диске, используйте следующую команду:

badblocks -wsp 0 /dev/sdb1

Я выбрал этот вариант -p 0в надежде, что это приведет только к одному проходу, но я получаю несколько проходов:

Testing with pattern 0xaa: done
Reading and comparing: done
Testing with pattern 0x55: done
Reading and comparing: done
Testing with pattern 0xff: done
Reading and comparing: 19.01% done, 7:43:47 elapsed. (0/0/0 errors)

Из прочтения man-страницы я вижу, что -wсама опция включает четыре прохода:

-w Использовать тест режима записи. С этой опцией badblocks сканирует плохие блоки, записывая некоторые шаблоны (0xaa, 0x55, 0xff, 0x00) в каждый блок устройства, считывая каждый блок и сравнивая содержимое. Эту опцию нельзя сочетать с опцией -n, так как они являются взаимоисключающими.

Это слишком много для моих нужд. Есть ли способ добиться одного разрушительного прохода?

решение1

Прочитав страницу руководства дальше, я решил проблему. -wдействительно делает один проход, как следует из описания опции -p:

Значение по умолчанию — 0, что означает, что плохие блоки будут удалены после первого прохода.

Проход состоит из четырех тестовых шаблонов:

-w Использовать тест режима записи. С этой опцией badblocks сканирует плохие блоки, записывая некоторые шаблоны (0xaa, 0x55, 0xff, 0x00) в каждый блок устройства, считывая каждый блок и сравнивая содержимое.

Шаблон можно переопределить с помощью -tопции:

-t test_pattern Укажите тестовый шаблон для чтения (и записи) в блоки диска. Test_pattern может быть числовым значением от 0 до ULONG_MAX-1 включительно или словом "random", которое указывает, что блок должен быть заполнен случайным битовым шаблоном. Для режимов чтения/записи (-w) и неразрушающего режима (-n) можно указать один или несколько тестовых шаблонов, указав опцию -t для каждого требуемого тестового шаблона. Для режима только для чтения можно указать только один шаблон, и он может быть не "random". Тестирование только для чтения с шаблоном предполагает, что указанный шаблон ранее был записан на диск - в противном случае большое количество блоков не пройдет проверку. Если указано несколько шаблонов, то все блоки будут проверены с одним шаблоном перед переходом к следующему шаблону.


Пример команды и вывода:

# badblocks -wsvt 0 /dev/sdz
Checking for bad blocks in read-write mode
From block 0 to 488386583
Testing with pattern 0x00: done                                                 
Reading and comparing: done                                                 
Pass completed, 0 bad blocks found. (0/0/0 errors)

решение2

Если бы целью было уничтожение данных, а не поиск ошибок, то вы могли бы просто использовать

dd if=/dev/zero of=/dev/sdX status=progress

где X — буква вашего целевого устройства.

Но если вы действительно беспокоитесь о данных на вашем диске, вы можете запустить dd несколько раз, использовать другие инструменты, такие как wipe или shred, или просто позволить badblocks сделать свою работу. Все зависит от времени, которое вы готовы потратить на удаление данных.

Связанный контент