Прерывание бадблоков опасно?


22

Я запускаю badblocks, чтобы проверить наличие плохих сегментов на внешнем диске, и это было около часа, и это еще не закончено. Теперь мне нужно пойти и рассмотреть возможность отмены. Это как-то рискованно? Должен ли я избежать этого?

Понятно, что мне нужно начинать заново с нуля; Я просто хочу знать, насколько рискованно прерывать на полпути.

Ответы:


27

Изучив исходный код, я обнаружил, что:

Если вы не указали -n или -w, badblocks вообще не записывает данные на диск, поэтому вы можете прервать его.

Если вы указали -w, badblocks уже перезаписал файловую систему, так что уже слишком поздно беспокоиться о прерывании процесса.

Если вы указали -n, badblocks использует обработчик сигнала, чтобы предотвратить выход программы с диска в несовместимом состоянии, поэтому можно безопасно нажать ctrl-c.


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

1
@phunehehe: на устройстве могут быть не перезаписанные блоки; но учитывая, что badblocks начнутся в начале диска, это спорный вопрос, так как не будет никакой таблицы разделов, что технически делает диск «неформатированным». (Неформатированный диск не обязательно должен быть заполнен нулями - содержимое не определено)
Piskvor

Но я предположил, что это означает, что нет риска непоследовательности? Потому что все в основном уже прошло.
phunehehe

Правильно ли это также при использовании badblocks при вызове e2fsck -cc? Со страницы руководства: «Если обнаружены какие-либо плохие блоки, они добавляются в индекс плохих блоков, чтобы предотвратить их размещение в файле или каталоге». и «Если эта опция указана дважды, то сканирование плохих блоков будет выполнено с использованием неразрушающего теста чтения-записи».
поясничный
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.