Удалил первые 512 байт диска; как я могу восстановить свои данные?


12

Я случайно записал 512-байтовый двоичный файл на неправильный USB-диск, ddи устройство больше не отображает разделы fdisk.

Я думал, что все данные пропали, но dd if=/dev/sdx | stringsпоказывает, что данные, кажется, все еще там, так как, ddк счастью, ограничился первыми 512 байтами. Есть ли способ его восстановить ?

Диск имел два раздела: ext4 (~ 4 ГБ), а остальные 16 ГБ были отформатированы как NTFS.

Ответы:


13

Это зависит от того, что именно было раньше, но может быть легко (-ish) оправиться от этого.

  1. Используйте ddдля создания полного образа вашего USB-накопителя в безопасном месте.

  2. Используйте ddдля создания полного образа вашего USB-накопителя в безопасном месте.

  3. Да, пожалуйста, сохраняйте полное изображение. Операции восстановления данных часто могут нанести больше ущерба, чем можно было бы ожидать.

  4. Попытайтесь вспомнить, на что была похожа структура разделов на этом USB-накопителе. Запишите это . Это может помочь, если у вас есть системные журналы, когда ядро ​​Linux обнаруживает этот диск (до того, как его испортят) - довольно часто он выводит некоторые данные об обнаруженных разделах.

  5. Используйте fdisk для воссоздания MBR с той же таблицей разделов. Не форматируйте и / или fsck никаких разделов .

  6. Попробуйте смонтировать ваши разделы с опцией только для чтения ( -o ro) mount.

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

  8. Если копирование не удалось, восстановите изображение и вернитесь к шагу 4.

  9. Я упоминал, что у меня есть полный образ USB-накопителя, прежде чем делать что-то еще?

PS: Вы также можете взглянуть на такие инструменты, как TestDisk , которые пытаются автоматизировать процесс восстановления. Но вы все равно должны сначала получить полное изображение.

PS2: Если вы чувствуете себя достаточно комфортно, вы также можете немного поэкспериментировать. Если вы можете сделать разумное предположение о начальной точке первого раздела, то вы можете использовать, tune2fs -lчтобы получить точный размер первого раздела, который позволил бы вам охотиться за началом второго.


# 1: dd if=/dev/sdx of=backup.imgверно?
edmz

@ черный: Да. Возможно, вы захотите добавить bs=...опцию, чтобы увеличить размер блока и немного ускорить его.
thkala

Хороший размер блока для использования есть bs=64K. TestDisk определенно стоит попробовать, и он может работать как с файлами образов дисков, так и с реальными дисками. Удачи!
PM 2Ring

Бег cat /dev/sdx >backup.imgбудет быстрее, чем ddво многих обстоятельствах и, конечно, не медленнее в этом.
Ройма

6

Чтобы восстановить ext4раздел и его данные, я подумал о создании одного, дискового раздела ext4. Это позволило мне получить доступ к данным и получить информацию о разделе с tune2fs -lпомощью @thkala. Эта информация выглядит очень выполнимой и, следовательно, неизменной.

Очень интересно, что gparted в некоторой степени может определить фактический размер раздела, как это видно из этого предупреждения:

10,96 ГБ нераспределенного пространства внутри раздела. Чтобы расширить файловую систему для заполнения раздела, выберите раздел и выберите пункт меню:

потому что 11GiB был примерно размер NTFS раздела.

введите описание изображения здесь

Обратите внимание на неиспользуемое пространство, которое, IIRC, было пространством, в котором ext4 еще оставалось свободным. Незанятое пространство GParted признает , кажется, раздел NTFS; Теперь, как я могу восстановить это тоже , может быть, узнав, где заканчивается первый раздел, то есть его общее количество байтов?


Наконец TestDisk справился с этим без особых усилий.


Отлично. Пожалуйста , вы бы принять свой собственный ответ , так что ясно , вы имели приемлемое решение вашего вопроса.
Ройма

@roaina Да, когда закончится минимальная продолжительность открытия двух дней.
Edmz
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.