Я случайно использовал dd на своем жестком диске (/dev/sdc), когда хотел установить ISO-образ на USB-накопитель. Я попытался осмотреться и прочитать, что если данные были перезаписаны, то я облажался ....

Есть ли способ восстановить данные? Что я могу сделать?

2 ответа2

1

Data Destroyer перезаписывает сектора на жестком диске. Нет способа восстановить перезаписанные сектора. Из-за способа, которым Linux распределяет файлы по секторам (именно поэтому ext-разделы не требуют дефрагментации), маловероятно, чтобы все содержимое большинства ваших файлов сохранилось. Восстановление из резервных копий, вы создали их правильно? И если ты не сделал, ты просто узнал, почему ты должен. Сожалею.

0

Данные могут быть сохранены, только если некоторые или большая их часть все еще там.

Вот простой живой тест методом грубой силы (с использованием pv и lzop), чтобы увидеть, как далеко (и сколько) дд получил:

hd=/dev/sdc   # change to whatever device or partition needs testing.
pv -EcN raw ${hd} | lzop |  pv -cN compressed | wc -c

На жестком диске 160 ГБ, который не был удален dd, через минуту тест выглядит следующим образом:

raw: 5.12GiB 0:01:11 [46.1MiB/s] [==>              ]  3% ETA 0:33:15
compressed: 4.81GiB 0:01:11 [45.9MiB/s] [    <=>         ]

Обратите внимание, что сжатое число довольно близко к необработанному числу. Пока это тот случай, когда работа выполнена, большая часть данных все еще существует. Процент будет зависеть от степени заполнения жесткого диска до возникновения проблемы, т. Е. Если бы жесткий диск или раздел был заполнен только на 10%, то 8% от lzop было бы нормальным. Это также зависит от того, какие данные заполняли HD - к счастью, lzop - слабый компрессор, который здесь очень помогает.

Давайте попробуем это со всеми нулями:

hd=/dev/zero   # change to whatever device or partition needs testing.
pv -cN raw ${hd} | lzop |  pv -cN compressed | wc -c

... который через 8 секунд показывает:

raw: 6.81GiB 0:00:08 [ 891MiB/s] [   <=>                  ]
compressed: 31.8MiB 0:00:08 [4.06MiB/s] [     <=>         ]

Сжатый размер теперь составляет менее 1% от исходного. Если весь жесткий диск подобен этому, данные капутируются.

(Примечание: чтение больших жестких дисков занимает больше времени, поэтому этот метод будет улучшен путем выборки. Вместо того, чтобы читать каждый блок, мы могли бы использовать dd для чтения n блоков, пропустить 10n блоков и передать их на необработанный ввод выше.)

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