Восстановление файловой системы NTFS из образа

Вопрос или проблема

У меня есть внешний жесткий диск WD Passport на 1 ТБ, с которого ddrescue удалось сохранить 95% данных, перед тем как диск полностью перестал считываться.

ddrescueview

Восстановленные данные сохранены как recovery.img.

$ mmls recovery.img 
DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors

      Slot      Start        End          Length       Description
000:  Meta      0000000000   0000000000   0000000001   Primary Table (#0)
001:  -------   0000000000   0000002047   0000002048   Unallocated
002:  000:000   0000002048   1953458175   1953456128   NTFS / exFAT (0x07)

Однако я не смог смонтировать образ как NTFS:

$ sudo mount -t ntfs recovery.img /mnt
NTFS signature is missing.
Failed to mount '/dev/loop11': Invalid argument
The device '/dev/loop11' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

$ sudo ntfsfix recovery.img
Mounting volume... NTFS signature is missing.
FAILED
Attempting to correct errors... NTFS signature is missing.
FAILED
Failed to startup volume: Invalid argument
NTFS signature is missing.
Trying the alternate boot sector
Unrecoverable error
Volume is corrupt. You should run chkdsk.

chkdsk recovery.img на моем компьютере с Windows сказал, что имя файла недействительно.

Я также попробовал использовать смещение (2048 * 512), как описано в документации по восстановлению данных Ubuntu:

$ sudo mount -t ntfs -o loop,force,offset=1048576 recovery.img /mnt
Failed to read last sector (1953456126): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
   or it was not setup correctly (e.g. by not using mdadm --build ...),
   or a wrong device is tried to be mounted,
   or the partition table is corrupt (partition is smaller than NTFS),
   or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/loop11': Invalid argument
The device '/dev/loop11' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

testdisk [ List ] файлы действительно работает, так что я попробую копировать оттуда. Но я хотел бы смонтировать, если возможно.

Есть идеи, что мне попробовать сейчас?

Редактировать: результат kpartx, использование инструкций, приведенных здесь:

$ sudo kpartx -l recovery.img
loop11p1 : 0 1953456128 /dev/loop11 2048
$ sudo kpartx -a recovery.img
device-mapper: resume ioctl on loop11p1  failed: Invalid argument
create/reload failed on loop11p1

В итоге я использовал только testdisk для перечисления и копирования всего содержимого образа диска. Мне повезло, что, похоже, все мои файлы были сохранены (ни один из них не попал в область плохого чтения).

Хотя вопрос старый, кто-то может столкнуться с той же проблемой. Вы пытались смонтировать образ диска, а не раздел.

mmls проинформировал вас, что существует нераспределенное пространство с сектора 0000000000 по 0000002047. В этом образе каждый сектор имеет 512 байт.

Чтобы смонтировать раздел, вам нужно пропустить первые 2047 секторов (это 512 байт * 2048). Это можно сделать с помощью:

mount -o offset=$((512*2048)) -t ntfs recovery.img /mnt/

может вы захотите монтировать в режиме только для чтения (ro):

mount -o ro,offset=$((512*34607104)) -t ntfs recovery.img /mnt/

…возможно, это поможет кому-то еще в следующий раз

Ответ или решение

Восстановление файловой системы NTFS из образа — задача, которая может потребовать детального подхода, учитывая возможные повреждения диска и особенности файловой системы. Ниже я представлю теоретический подход, примеры практической реализации и способы применения данных методов.

Теория

Когда ваш внешний жесткий диск на 1 ТБ перестал читаться, вам удалось спасти 95% данных с помощью ddrescue, сохранив их в файле recovery.img. Основной задачей в этом случае является монтирование образа и восстановление файлов, несмотря на поврежденные области.

NTFS — это файлосистема, разработанная для хранения и извлечения данных в операционных системах семейства Windows. Для успешного монтирования образа с этой файловой системой важно определить, какой именно сегмент образа представляет собой NTFS-раздел, и использовать правильный сдвиг (offset) при монтировании.

Пример

Согласно выводу команды mmls, ваш диск имеет следующую структуру разделов:

Slot      Start        End          Length       Description
Meta      0000000000   0000000000   0000000001   Primary Table (#0)
000:000   0000002048   1953458175   1953456128   NTFS / exFAT (0x07)

Это указывает, что ваш NTFS-раздел начинается с сектора 2048, где каждый сектор равен 512 байтам. Поэтому для монтирования этого образа потребуются дополнительные параметры, чтобы пропустить первые 2048 секторов (что составляет 1048576 байт или 1 мегабайт).

Применение

Вы уже попытались использовать команду mount с параметром offset. Однако, возможно, проблема заключается в повреждении как начального, так и резервного загрузочных секторов NTFS, что мешает монтированию.

Способы решения:

  1. Используйте другой инструмент восстановления:

    • Если стандартные инструменты для монтирования не справляются, можно продолжить использовать TestDisk, который уже смог прочитать структуру и содержимое вашего образа. С его помощью вы можете извлечь файлы даже в случае повреждения файловой системы.
  2. Попробуйте использовать специализированные утилиты:

    • Утилиты вроде Photorec и GetDataBack могут работать с поврежденными файловыми системами напрямую и могут быть полезны в вашем случае.
  3. Проверьте целостность файловой системы:

    • Утилита ntfsfix исправляет некоторые ошибки файловой системы NTFS, однако её функциональность ограничена по сравнению с Windows chkdsk. Попробуйте запустить её снова, чтобы проверить и исправить потенциально исправимые ошибки.
  4. Использование kpartx:

    • Хотя ваш предыдущий опыт использования kpartx привел к ошибке, не исключено, что можно экспериментировать с разными параметрами или версией утилиты.
  5. Создайте новую виртуальную машину:

    • На временной виртуальной машине можно попытаться смонтировать образ стандартными средствами Windows, установив диск как виртуальный (VHD). Это может дать доступ к данным средствами Windows, включая chkdsk.

Заключение

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

Ваш опыт и информация о 95% сохраненных данных говорит о хорошем положении дел, и вероятно, удастся вернуть все утраченные документы. Надеюсь, приведенные методы и замечания помогут успешно завершить процесс.

Оцените материал
Добавить комментарий

Капча загружается...