восстановление перезаписанного раздела ntfs с помощью команды dd

У меня нет dig, поэтому я использовал эхо для этого примера:

$ echo '2019072905' | awk '
    BEGIN { d=sprintf("%15s",""); gsub(/ /,"-",d); print d d, "SOA", d d ORS }
    { printf "%*s> %s <%s\n", 2*length(d)-length($0)/2+1, d, $0, d }
'
------------------------------ SOA ------------------------------

           ---------------> 2019072905 <---------------

$ echo '201' | awk '
    BEGIN { d=sprintf("%15s",""); gsub(/ /,"-",d); print d d, "SOA", d d ORS }
    { printf "%*s> %s <%s\n", 2*length(d)-length($0)/2+1, d, $0, d }
'
------------------------------ SOA ------------------------------

              ---------------> 201 <---------------

$ echo '12345672019072905' | awk '
    BEGIN { d=sprintf("%15s",""); gsub(/ /,"-",d); print d d, "SOA", d d ORS }
    { printf "%*s> %s <%s\n", 2*length(d)-length($0)/2+1, d, $0, d }
'
------------------------------ SOA ------------------------------

       ---------------> 12345672019072905 <---------------
1
30.08.2021, 20:07
2 ответа

Однажды со мной случилось такое. Я использовал «TestDisk» для восстановления большинства файлов (dd был остановлен, когда я обнаружил ошибку )Здесь есть подробное описание о том, как восстановить потерянные файлы

.
-1
30.08.2021, 23:04

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

Что мне нравится делать в таком случае, так это определять, сколько именно данных было перезаписано -либо из вывода dd, либо путем сравнения файла образа iso с данными на диске (, например.cmp datasource /dev/target). Затем обнулите проверенный -до -потерянного сегмента -.

Пример:(используйте на свой страх и риск -запускайте все эксперименты на полных копиях диска или копируйте -на -записывайте оверлеи)

# cmp isofile.img /dev/diska
cmp: EOF on isofile.img after byte 68157440, in line 266228
# dd bs=1 count=68157440 if=/dev/zero of=/dev/diska

# cmp isofile.img /dev/diskb
isofile.img /dev/diskb differ: byte 34603009, line 135095
# head -c $((34603009-1)) /dev/zero > /dev/diskb

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

В дальнейшем делайте резервные копии.

0
31.08.2021, 09:30

Теги

Похожие вопросы