Восстановить файлы с поврежденного SD

351
Alessandro Jeanteur

Я запутался, пытаясь измерить скорость записи на SD-карте с важными файлами на ней.

sync; sudo dd if=/dev/zero of=/dev/sdb1 bs=1M count=1024; sync 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 23.5386 s, 45.6 MB/s ^C 

Я понял, что пишу напрямую в / dev / sdb1, а не в файл внутри смонтированной карты, поэтому, опасаясь перезаписи данных, я отменил сразу после того, как эталонный тест закончился (это не так). Теперь он будет монтироваться автоматически, но ничего не показывает (не может щелкнуть по нему в проводнике файлов, а gparted показывает только как неизвестную карту exfat).

Что я могу сделать?

0
Вы можете попробовать компанию, занимающуюся восстановлением данных, посмотреть, смогут ли они выбрать биты выживших данных из области, которую вы не перезаписали. Я предполагаю, что причина, по которой вы спрашиваете нас в первую очередь, в том, что вы не считали свои данные настолько важными, чтобы иметь резервную копию: / Tetsujin 5 лет назад 0
Вы можете попытаться открыть свою SD-карту, используя гекседитор, способный читать разделы, и посмотреть, осталось ли что-нибудь, кроме нулей. Насколько велика ваша карта? Если вы были достаточно быстры, вы убили только начало раздела, но большая часть данных все еще там. В этом случае вы можете попробовать testdisk для восстановления. Daniel Hofer 5 лет назад 0
Карта была 64 Гб, и заполнена примерно на 90%. я надеюсь, что только ~ 1 ГБ фактических данных было перезаписано (к сожалению, в начале раздела, а не в свободном пространстве), но в конечном итоге большинство моих данных (большинство из них можно заменить, но некоторые изображения, которые я также хочу восстановить) , Я сделал несколько резервных копий, но около двух недель только там. Попытка бесплатной версии EaseUS Data Recovery показывает, что многое еще есть, но я не уверен, что смогу восстановить без оплаты. Все еще сканирует Alessandro Jeanteur 5 лет назад 0
@AlessandroJeanteur Как я уже рекомендовал: Testdisk (https://www.cgsecurity.org/wiki/TestDisk), это бесплатный инструмент и должен быть правильным выбором для вашего случая. Daniel Hofer 5 лет назад 0

1 ответ на вопрос

1
confetti

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

а) фоторепортаж

Просто запустите $ photorec /dev/sdbсейчас, чтобы открыть интерактивный интерфейс PhotoRec.

Нажмите return ( [Proceed]), чтобы выбрать диск. На следующем экране вас попросят выбрать раздел. Если PhotoRec находит правильные разделы, вы можете выбрать тот, который вы хотите восстановить файлы отсюда. Если он не распознает разделы должным образом, просто выберите No partition [Whole disk]и снова нажмите Return, чтобы выполнить [Search]. После выбора типа файловой системы на следующем экране вам необходимо выбрать каталог, в который должны быть сохранены восстановленные файлы. Подтвердите с помощью C.

б) прежде всего

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

Чтобы запустить в первую очередь, используя параметры по умолчанию на образе, выполните следующую команду:

$ foremost -i /dev/sdb -v 

Вы можете использовать /dev/sdb1здесь, если вы хотите восстановить файлы только из этого раздела.

Это сохранит все восстановленные файлы в output(новый каталог, который будет создан в первую очередь). Вы можете указать другой выходной каталог, используя -oфлаг, и -aигнорировать ошибки / сохранять поврежденные файлы.

Необязательно: отфильтруйте восстановленные файлы

Это необязательно, но иногда вас интересуют только определенные типы файлов или, что еще хуже: инструменты восстановления дают вам миллион файлов, из которых тысячи выглядят, например, как файл JPEG, но на самом деле это просто поврежденный файл. файл а не картинка вообще. Чтобы отфильтровать их, вы можете использовать этот ответ, который я дал на другой вопрос о SuperUser.


Как вы можете предотвратить это в будущем

Я вижу, как люди ddслишком часто путают свои данные . Это слишком просто. Моя рекомендация:

#!/bin/bash read -r -p "Have you checked at least TWICE if the parameters are correct? [y/N] " response response=$ if [[ "$response" =~ ^(yes|y)$ ]]; then dd "$@" else echo "Better be safe than sorry." fi 

Сохраните это как /usr/bin/sddили любое другое имя. chmod +xэто потом. Отныне всегда используйте sddвместо dd.

Я рекомендую использовать оба инструмента на всем диске, а не на одном разделе. Это не вернет файлы, которые были перезаписаны `dd`, они исчезли. Это должно без проблем вернуть все остальное, хотя. confetti 5 лет назад 0

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