Если повреждение не распространилось слишком далеко, то ваши файлы JPEG теперь помечаются как каталоги (и поэтому их невозможно восстановить обычными инструментами восстановления / восстановления, которые восстановили бы их как каталоги или, что еще хуже, считают, что они слишком повреждены и постоянно очищены их), но данные изображения все еще там.
Восстановление не гарантировано и не быстро. Вам необходимо получить доступ к переносному диску в режиме устройства, т. Е. Как если бы это был один очень большой файл. В Linux это можно сделать, dd
его содержимое в новый файл на фиксированном диске (при условии, что места достаточно). В Windows есть утилита под названием WinDD, которая может вам помочь.
На данный момент вы должны сделать большое предположение - что ваши файлы JPEG были сохранены как непрерывные (то есть дефрагментированные) блоки данных. Если это так, то большой файл, содержащий содержимое вашего портативного накопителя, будет выглядеть так:
<garbage><garbage><valid JPEG header><valid SOI chunk>....<valid EOI chunk><garbage>...
и файловый сканер сможет начать сохранение данных, как только будет обнаружен действительный заголовок JPEG, и продолжит работу до тех пор, пока не будет обнаружен фрагмент конца изображения. Извлеченные таким образом блоки составят действительный файл JPEG, для которого вы потеряете имя, но я думаю, что это небольшое препятствие.
Есть утилиты (кажется, я помню "SDrecover"?) которые предназначены для восстановления данных с нечитаемых карт SD. Конечно, они не ограничиваются SD-картами (если только им не требуется формат FAT32/exFAT на устройстве, что является глупым запросом). Они работают одинаково, последовательно читая диск, игнорируя все, что не могут прочитать, и пытаясь извлечь действительные потоки изображений. Некоторые из них способны "манипулировать" действительными фрагментами изображений JPEG, которые они находят, и, таким образом, восстанавливать даже фрагментированные файлы. Но ключ к восстановлению
- не пишите больше ничего на диске
- не запускайте утилиту "исправление диска"
- если возможно, сделайте "клон" образ диска
- по возможности работай на клоне, а не на оригинале
- используйте соответствующий инструмент
Вы можете найти другие инструменты (даже бесплатные), прибегнув к поиску «Восстановление JPEG с поврежденной SD-карты» и их синонимов. У меня даже есть некоторый исходный код на C, протестированный для Linux, на случай, если вы почувствуете себя авантюрным и можете спокойно компилировать