Я вижу четыре подходящих ответа здесь:
hdparm
Метод отправленный garethTheRed , вероятно , лучше всего, если вы подключены непосредственно к компьютеру. Очевидно, однако, если вы попробуете подключить его через USB, вы можете кирпич вашего диска. Если вы делаете это для диска, который вы собираетесь утилизировать, то это может быть хорошо. Тем не менее, вы, вероятно, хотите обезопасить себя перед удалением.
Техника, о которой сообщил imz-Ivan Zakharyaschev, будет работать, но может быть очень медленной. Я бы посоветовал, если вы не хотите, чтобы данные можно было восстановить, используйте /dev/urandom
вместо /dev/zero
; например,
dd iflag=fullblock oflag=direct conv=noerror,notrunc if=/dev/urandom of=/dev/sdX
Я бы посоветовал против следующего. Для чего-то более быстрого, что делает то же самое, используйте технику, о которой сообщает maxschlepzig (в вопросе):
ddrescue --verbose --force --nosplit /dev/urandom /dev/sdX
Это будет быстрее, чем dd
команда, но не так быстро, как hdparm
команда. Смотрите ниже, почему я не рекомендую это ...
Команда badblocks
также будет работать, но вы не можете рандомизировать данные таким образом, и снова она будет очень медленной.
Наконец, я был бы упущен, если бы не указал причину номер один, по которой люди хотят полностью стереть диск - они собираются его утилизировать. В этом случае, если вы этого еще не сделали, вы можете сначала попытаться восстановить диск. Если вы читаете блок и он возвращает ошибку ввода-вывода, то в следующий раз, когда вы записываете в тот же блок, диск попытается перераспределить другой блок из резервного списка. Как только резервный список заполнится, вы получите ошибки ввода-вывода при записи. Именно тогда вы действительно должны отказаться от диска.
Таким образом, вы можете сделать что-то простое, как:
dd if=/dev/sdX of=/dev/null conv=noerror
И затем, чтобы переписать плохие блоки, просто что-то вроде:
dd if=/dev/zero of=/dev/sdX bs=128k
Если эта команда работает, если вы смелы, вы можете переформатировать свой диск и использовать его снова.
Кроме того, вы можете запустить badblocks
команду на диске дважды. Второй раз он должен сообщать о плохих блоках ...
badblocks -v -s -w -t random /dev/sdX
badblocks -v -s -w -t random /dev/sdX
Это займет больше времени, но более надежно.
Стоит также отметить, что ни один из методов на самом деле не делает безопасного удаления, кроме hdparm
команды. Помните все эти плохие блоки? У них все еще есть некоторые ваши исходные данные в основном нетронутыми. Эксперт по восстановлению данных может получить доступ к ним, чтобы увидеть небольшое количество того, что ранее было на вашем жестком диске.
Что касается ddrescue и почему я против этого, у меня есть следующее противоядие:
Проблема в том, что ddrescure будет СЛИШКОМ хорошо игнорировать ошибки. У меня был жесткий диск, который в соответствии с dd снизил скорость записи на отметке около 102 ГБ и начал выдавать ошибки записи на отметке 238 ГБ. Я был весьма впечатлен тем, что ddrescue продолжал перетаскивать диск с постоянной скоростью, даже не сообщая об ошибках. 17 часов спустя, когда это было на 1300 ГБ, когда я случайно заметил, что индикатор диска сам перестал мигать. Быстрая проверка показала, что весь USB-корпус отключился. Я вытащил диск из колыбели. Я заметил, что ddrescue просто радостно сообщил, что все еще копирует без ошибок, даже с диском в моих руках. Я подключил диск к другой машине и обнаружил, что теперь это кирпич.
Я не виню ddcue в том, что сделал диск кирпичом. Диск отказывал и стал кирпичом. Я просто обнаружил, что тревожный ddrescue даже не подсчитывает, сколько ошибок записи он игнорирует. При таком использовании ddrescue заставляет вас думать, что он был полностью успешным, независимо от всех ошибок записи. Дело в том, что он не должен был продолжать движение на полной скорости в секции с замедлением. Причина, по которой раздел был медленным, заключается в том, что многие блоки были перемещены диском, что вызвало большое количество запросов при доступе к этому разделу. Так что это, вероятно, тот момент, когда вывод ddrescue стал вымышленным.
dd conv=noerror
может быть расширение GNU, я не уверен. В любом случае, это должно сработать. Тем не менее, ответ SATA «скажи приводу стирать сам» стоит того, чтобы стереть целые диски.