Как восстановить данные с плохой SD-карты?


23

У меня есть 4 ГБ SD-карта с некоторыми семейными фотографиями, которые мне нужно восстановить. Когда я вставляю карту в устройство чтения карт, она отображается как неизвестное устройство на 32 МБ (как /dev/sde) и не может быть смонтирована. При вставке обратно в камеру (Nikon D60), он говорит, что карты должны быть отформатированы (как и при вставке в компьютер с Windows). Я хочу восстановить все фотографии на карте (были другие фотографии до семейных фотографий), потому что я не знаю, сколько я взял или их точных размеров (но я полагаю, что все они были в формате JPEG). Карта должна быть отформатирована как файловая система FAT32.

Какие утилиты Linux или Unix доступны для восстановления файлов? Могу ли я сделать это сам или мне нужно обратиться за профессиональной помощью?

Редактировать: Похоже, что мой картридер каким-то образом повредил карту, сделав ее нечитаемой и неформатируемой. Когда я проверил другую карту, которая была точно такой же (за исключением файлов), она «испортила» вторую. Я хотел бы снова использовать вторую карту, поэтому есть ли инструмент для форматирования поврежденной карты, который не знает (или не может правильно сообщить), насколько она велика?

Ответы:


29

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

Если карта является частично нечитаемой и не полностью нечитаемой, сначала попытайтесь скопировать то, что вы можете с карты, в файл изображения. Не используйте ddдля этого, поскольку это прекратит читать при первой ошибке. Используйте инструменты, такие как dd_rescueили ddrescue. Оба инструмента пытаются извлечь как можно больше данных с диска. Пример использования ( /dev/sdcбудучи устройством, соответствующим карте; если вы не знаете, какое это устройство, запустите cat /proc/partitionsи выберите то, которое кажется подходящего размера):

ddrescue -dr3 /dev/sdc card.image logfile

Поскольку похоже, что структура файловой системы повреждена (ваши операционные системы предлагают отформатировать диск, потому что они не видят на нем действительной файловой системы), вам придется попытаться восстановить файлы по отдельности. К счастью, файлы изображений начинаются с узнаваемого заголовка, и существует множество существующих инструментов вырезания, которые распознают изображения: Foremost , MagicRescue , PhotoRec (от создателей TestDisk ), RecoverJPEG ,…

Большинство из этих инструментов доступны в типичных дистрибутивах Unix. Но если вы предпочитаете, вы можете запустить специальный дистрибутив или другой live CD, включая такие инструменты восстановления, как SysRescueCD , Knoppix , CAINE


Я думаю, что большинство моих проблем связано с тем, что карты распознаются как 32 МБ, тогда как они должны быть 4 ГБ. И я не могу сказать, что такое цилиндры, головки и сектора низкого уровня.

2
@ Tyler: если ваша карта не распознается аппаратными средствами нужного размера, немедленно замените считыватель. Если вы попытались скопировать изображение, и копирование остановилось из-за ошибок после 32 МБ, попробуйте еще раз с помощью такого инструмента, как ddrescue. Вам не нужно ничего знать о цилиндрах / головках / секторах.
Жиль "ТАК - перестань быть злым"

Что делает опция -dr3? Я пытаюсь восстановиться с SD-карты, но дозы не устанавливаются. Я получаю следующее: Ошибка чтения без выравнивания. Правильный ли размер сектора?
user3236841

На страницах руководства этот -dr3параметр -dозначает «использовать прямой доступ к диску», минуя кэши ядра, содержащиеся в содержимом диска, и -r3означает 3 раза повторить чтение, если получится ошибка для поврежденного сектора.
Шон

9

PhotoRec с http://www.cgsecurity.org/ - бесплатный, с открытым исходным кодом, простой в использовании. Только что восстановил множество семейных фотографий и видео с поврежденной SD-карты. Просто распакуйте в папку, запустите файл и укажите его на диске.


8

Я бы порекомендовал TestDisk . Я успешно использовал его для восстановления файлов с поврежденных жестких дисков. Я обычно использую дистрибутив, такой как TRK или SystemRescueCd .


6

Вы не подробно о том, как данные были потеряны. Если это логическое удаление, и устройство не слишком много пишет, шансы на восстановление данных хорошие: очевидный совет - выбрать TestDisk & Photorec . Конечно, традиционная рекомендация: защищать от записи оригинальное устройство, в любом случае подвергать его как можно меньшему взаимодействию. Лучше всего, ddэто на какой-то другой поддержке, отключите его и работать с файлом изображения. Если, с другой стороны, «плохой» в предмете означает физически разрушенный, все становится сложнее, но вы должны все равно попробовать, потому что обычно небольшая часть блоков становится нечитаемой. Особенно на SD, которые имеют репутацию очень высокой выносливости.


Я не уверен как , но карта не выглядит физически поврежденной. И я не очень знаком с дд, так как я могу восстановить образ карты? Что конкретно мне нужно сделать с изображением?

Попробуйте найти надежный способ подключения SD к ПК. Предположим, вы управляете, и необработанное устройство отображается на блочное устройство / dev / sda (используйте dmesg, чтобы узнать его имя). Затем выполните dd if=/dev/sda of=/mnt/hda1/image.dd bs=1Mгде / mnt / hda1 точка монтирования какой-либо другой достаточно большой поддержки. Затем отключите SD, сделайте копию image.dd и работайте с последним, чтобы вам не пришлось подключать SD. См. Пошаговое руководство по TestDisk на его домашней странице. Надеюсь, из того, что вы говорите, похоже, что вам просто нужно восстановить таблицу разделов / mbr. Удачи.
user495100

1
@Tyler: не используйте dd, так как он останавливается на первой ошибке. Используйте что-то вроде ddrescue.
Жиль "ТАК - перестань быть злым"

2

Я использовал PhotoRec, который входит в пакет testdisk. Я работал нормально, чтобы восстановить фотографии с microsd sandisk, который был поврежден моим телефоном.


1
Можете ли вы, по крайней мере, предоставить ссылки и документацию для уточнения своего ответа?
HalosGhost

PhotoRec работал на меня. Моя SD-карта потеряла файловую систему fat32 и не монтировалась. PhotoRec помог мне восстановить большую часть этого.
Четан Бхаргава
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.