Как восстановить частично отформатированный раздел ext4 (тестдиск не помог)

У меня есть жесткий диск размером 2 ТБ с одним форматом ext4. Недавно, работая под Windows 7 на той же машине, я повредил вышеупомянутый раздел. Случилось так, что, когда я пытался восстановить внешний USB-накопитель, я открыл стандартное средство управления дисками Windows, и оно предложило мне сделать диск 1 «активным». В тот момент я не осознавал, что «disk1» - это не мой USB-диск, а внутренний диск ext4. После нажатия кнопки «ОК» Windows создала на диске «системный зарезервированный раздел» размером 100 МБ, а остальное осталось нетронутым.

Когда я снова вошел в Linux, раздел не был смонтирован. Я удалил созданный Windows 100MB NTFS «системный зарезервированный раздел» и попытался запустить Testdisk. Testdisk видит мой старый раздел ext4, но в конце говорит что-то вроде «ни один раздел не может быть восстановлен».

Можно ли вернуть мои разделы и структуру каталогов + данные? Проблема в том, что у меня были все мои программы (C / C ++) и рабочие каталоги, а также некоторые экспериментальные данные, то есть файлы, которые не имеют определенных заголовков, таких как jpg или pdf. Есть ли способ восстановить эти данные? Могу ли я, например, восстановить часть раздела, скажем, что-нибудь выше 100 МБ?

P.S. Пожалуйста, давайте избегать комментариев «вы должны были сделать резервную копию» .. :) У меня была резервная копия, но она была сохранена на USB-накопителе, который я сначала пытался восстановить ... (общий сбой диска, диск не читается ).

1
задан 14 November 2018 в 10:27

3 ответа

  1. Для восстановления я использовал только «dd» -копию диска:

    sudo dd if=/dev/sdb of=/dev/sdd
    

(«sdb» - поврежденный диск и « sdd "это то, что я использовал для тестов)

  1. Сначала я использовал" gdisk ", чтобы создать новую пустую таблицу разделов GUID (опция -o).

    $ sudo gdisk /dev/sdd
    Command (? for help):   
    $ o
    This option deletes all partitions and creates a new protective MBR.
    Proceed? (Y/N): 
    $ y
    $ w
    
  2. Я пытался sudo e2fsck /dev/sdd - неудачно (первый суперблок был поврежден)

    $ sudo e2fsck /dev/sdd
    e2fsck 1.41.12 (17-May-2010)
    e2fsck: Superblock invalid, trying backup blocks...
    e2fsck: Bad magic number in super-block while trying to open /dev/sdd
    
    The superblock could not be read or does not describe a correct ext2
    filesystem.  If the device is valid and it really contains an ext2
    filesystem (and not swap or ufs or something else), then the superblock
    is corrupt, and you might try running e2fsck with an alternate superblock:
        e2fsck -b 8193 <device>
    
  3. , затем я сделал sudo mke2fs -n /dev/sdd для перечислите суперблоки

    $ sudo mke2fs -n /dev/sdd1
    mke2fs 1.41.12 (17-May-2010)
    /dev/sdd is entire device, not just one partition!
    Proceed anyway? (y,n) 
    $ y
    
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    122101760 inodes, 488378646 blocks
    24418932 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=0
    14905 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks:
    
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
            4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
            102400000, 214990848
    
  4. затем - sudo e2fsck -b 214990848 /dev/sdd после применения нескольких исправлений у меня получился частично восстановленный раздел! На самом деле все было не так просто. Я пробовал с несколькими суперблоками и разными опциями e2fsck. Во всяком случае, это был общий рецепт.

Приложение: во время восстановления я ответил «нет» на все вопросы, такие как:

One or more block group descriptor checksums are invalid. Fix(y)?
$ no
/lost+found not found.  Create(y)?
$ no
Free blocks count wrong for group # (32768, counted=0). Fix(y)?
$ no
Free inodes count wrong (122101749, counted=1606). Fix(y)?
$ no
0
ответ дан 14 November 2018 в 10:27

Попробуйте GNU ddrescue.

GNU ddrescue - это инструмент для восстановления данных. Он копирует данные из одного файла или блочного устройства (жесткий диск, компакт-диск и т. Д.) В другой, изо всех сил пытаясь спасти данные в случае ошибок чтения.

Основная операция ddrescue полностью автоматическая. То есть вам не нужно ждать ошибки, останавливать программу, читать журнал, запускать его в обратном режиме и т. Д.

Для получения дополнительной информации и загрузки ddrescue см. Их сайт .

Ubuntu Rescue Remix - это живая система GNU / Linux, которая работает с CD или USB-устройства флэш-памяти. Он предоставляет специалисту по восстановлению данных среду интерфейса командной строки, оснащенную лучшими доступными бесплатными инструментами восстановления данных с открытым исходным кодом и криминалистической экспертизы.

Есть также отличные продукты, но не бесплатно. Например, R-STUDIO для восстановления данных в Linux .

Вы также можете попробовать R-Studio .

R-Studio - это семейство мощных и экономичных программ восстановления и восстановления данных. Оснащенный новыми уникальными технологиями восстановления данных, это наиболее комплексное решение для восстановления данных из файлов NTFS, NTFS5, ReFS, FAT12 / 16/32, exFAT, HFS / HFS + (Macintosh), Little и Big Endian вариантов UFS1 / Разделы UFS2 (FreeBSD / OpenBSD / NetBSD / Solaris) и Ext2 / Ext3 / Ext4 FS (Linux). Он также использует восстановление файлов (сканирование на наличие файлов известных типов) для сильно поврежденных или неизвестных файловых систем. Он работает на локальных и сетевых дисках, даже если такие разделы отформатированы, повреждены или удалены. Гибкие настройки параметров дают вам абсолютный контроль над восстановлением данных.

Источник: GNU & amp; R-Studio

0
ответ дан 14 November 2018 в 10:27

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

С практической точки зрения лучшая ставка для восстановления заключается в следующем:

  1. (Необязательно, но рекомендуется настоятельно .) Выполните низкоуровневое резервное копирование поврежденного диска. Например, sudo dd if=/dev/sdc of=/path/to/backup.img выполняет резервное копирование /dev/sdc (если это поврежденный диск) в /path/to/backup.img (вы можете изменить этот целевой каталог или имя файла, если хотите). Очевидно, у вас должно быть достаточно свободного места в /path/to для хранения резервной копии. Это означает, что вам может понадобиться купить новый резервный диск, подготовить его и смонтировать его в /path или /path/to. Вы можете пропустить этот шаг, но тогда, если вы усугубите положение, его будет труднее восстановить - возможно, до такой степени, что его уже невозможно будет восстановить.
  2. Используйте fdisk (если диск использовал MBR) или gdisk (если диск использовал GPT), чтобы заново создать исходные разделы. Поскольку вы говорите, что у вас был один раздел на диске, есть вероятность, что он начался в секторе 2048 и продолжился до конца диска. Таким образом, удаление текущего раздела (ов) и воссоздание этого раздела может работать. Не создавать новую файловую систему на диске; просто создайте пустой раздел. (GParted любит создавать новую файловую систему, поэтому ее следует избегать. Можно создать пустую секцию, но зачем рисковать?)
  3. Перезагрузка. (Это просто гарантирует, что вы используете новую таблицу разделов. Есть менее радикальные способы сделать это, но этот легко описать.)
  4. Запустите e2fsck на разделе, который вы только что создали. Если вам очень повезло, он может найти достаточно структур данных ext4fs, чтобы вернуть диск к работе, хотя, возможно, с некоторыми отсутствующими файлами или другими проблемами. Возможно, вы захотите использовать fsck.ext4, чтобы убедиться, что он правильно распознает, что это файловая система ext4. Использование опций e2fsck (таких как -b) может улучшить ваши шансы на восстановление данных, но эти опции очень продвинуты. Подробнее см. Справочную страницу e2fsck.
  5. Если это не удается, запустите PhotoRec на диске. Это должно позволить восстановить отдельные файлы, хотя у них, вероятно, не будет имен файлов или какой-либо организации, поэтому вам нужно будет просмотреть их, чтобы выяснить, чем они все являются.
0
ответ дан 14 November 2018 в 10:27

Другие вопросы по тегам:

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