Вопрос или проблема
У меня есть внешний жесткий диск WD Passport на 1 ТБ, с которого ddrescue удалось сохранить 95% данных, перед тем как диск полностью перестал считываться.
Восстановленные данные сохранены как 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, что мешает монтированию.
Способы решения:
-
Используйте другой инструмент восстановления:
- Если стандартные инструменты для монтирования не справляются, можно продолжить использовать
TestDisk
, который уже смог прочитать структуру и содержимое вашего образа. С его помощью вы можете извлечь файлы даже в случае повреждения файловой системы.
- Если стандартные инструменты для монтирования не справляются, можно продолжить использовать
-
Попробуйте использовать специализированные утилиты:
- Утилиты вроде
Photorec
иGetDataBack
могут работать с поврежденными файловыми системами напрямую и могут быть полезны в вашем случае.
- Утилиты вроде
-
Проверьте целостность файловой системы:
- Утилита
ntfsfix
исправляет некоторые ошибки файловой системы NTFS, однако её функциональность ограничена по сравнению с Windowschkdsk
. Попробуйте запустить её снова, чтобы проверить и исправить потенциально исправимые ошибки.
- Утилита
-
Использование
kpartx
:- Хотя ваш предыдущий опыт использования
kpartx
привел к ошибке, не исключено, что можно экспериментировать с разными параметрами или версией утилиты.
- Хотя ваш предыдущий опыт использования
-
Создайте новую виртуальную машину:
- На временной виртуальной машине можно попытаться смонтировать образ стандартными средствами Windows, установив диск как виртуальный (VHD). Это может дать доступ к данным средствами Windows, включая
chkdsk
.
- На временной виртуальной машине можно попытаться смонтировать образ стандартными средствами Windows, установив диск как виртуальный (VHD). Это может дать доступ к данным средствами Windows, включая
Заключение
Восстановление файловой системы из образа может быть длительным и сложным процессом, особенно если диск имеет физические повреждения. Однако, используя комбинацию специализированных инструментов, упорство и некоторое количество экспериментов, возможно восстановить и сохранить важные данные. В случае возникновения непреодолимых проблем всегда можно обратиться к специалистам по восстановлению данных, которые могут обладать более мощными инструментами и методами для извлечения данных с неисправных дисков.
Ваш опыт и информация о 95% сохраненных данных говорит о хорошем положении дел, и вероятно, удастся вернуть все утраченные документы. Надеюсь, приведенные методы и замечания помогут успешно завершить процесс.