[ПОЛЕЗНО] Восстанавливаем данные с поврежденной флешки, винчестера или SSD [УЧЕБНИК]
При помощи Linux можно очень быстро, просто, бесплатно и легально восстановить данные на ваших носителях. Истории бывают разные - кто-то по своей невнимательности случайно удалил или отформатировал раздел на винчестере, кто-то вставил флешку в устройство, которое её запороло. Случаи бывают разные.
Вот сейчас подруга мне принесла такую флешку, которая камера Yi превратила в нечитаемую. Разумеется, без спец-софта с ней ничего не сделать.
Главное, если устройство физически не повреждено - то данные с него можно восстановить (хотя бы отчасти) с достаточно большой вероятностью. Для этого есть много софта, включая бесплатный, для Linux. О нём и пойдет речь!
Порядок восстановления
Первое правило, которого стоит придерживаться в 100% случаев: никогда, никогда не работайте программами восстановления напрямую с поврежденным устройством. Это может быть чревато для устройства, и данные, которые, при прочих равных, вы могли ещё восстановить, будут окончательно испорчены и безвозвратно утеряны. Следуйте инструкции:
Установите софт для восстановления. В Ubuntu/Debian и Arch/Manjaro ddrescue, testdisk и foremost есть в репозиториях - так что устанавливайте через графику (ваш любимый менеджер пакетов), или вот так одной командой все 3 приложения:
sudo apt install ddrescue testdisk foremost
- для ubuntu/debian
sudo pacman -S ddrescue testdisk foremost
- для arch/manjaroСоздайте слепок (копию, дамп) винчестера/флешки/SSD при помощи DD (dd - disk dump) - если данные, скорее всего, не повреждены, либо DDRescue (если данные, вероятно, повреждены). При работе с поврежденными данными рекомендую именно DDRescue - он предпринимает несколько попыток чтения и умеет пропускать поврежденные области, в отличии от DD, который вылетит. Делается это вот так (в примере поврежденная флешка по адресу /dev/sdb):
ddrescue /dev/sdb /home/user/image.dd /home/user/image.map
Получается, указываем ddresue три аргумента - первый, целевое устройство, откуда снимать образ, второй - куда сохранять образ (у вас должно быть достаточно места!), третий - куда класть файл мэппинга. Файл мэппинга нужен для возобновления восстановления если оно прервётся по какой-то причине (отключат свет, например...). Ждём - у меня дамп флешки в 64 гб через usb-картридер снимался около 15 минут.
Отключите устройство, после того, как dd rescue закончит. Сделайте это обязательно! Поврежденному устройству не стоит работать, по крайней мере, сейчас оно уже не нужно. Работайте ТОЛЬКО со слепком данных, снятым с помощью DD/DDRescue.
Ну а теперь не шаги, а просто софт, который можно и нужно перепробовать весь, при восстановлении данных. Ведь вы заранее не знаете, какой софт что именно восстановит - так вы сможете убедиться, что сделали всё, что могли (если там были ценные данные, конечно).
Список использованного открытого софта
- ddrescue
- testdisk / photorec
- foremost
- scalpel
- safecopy
- recoverjpeg - только для фоток
Testdisk (photorec)
Изначально приложение называлось photorec и предполагалось, что оно будет восстанавливать фотки. Но позже разрасталось и научилось восстанавливать другие типы данных. Работает оно следующим образом:
sudo testdisk /home/user/image.dd
Далее в псевдографике программа предложит вам выполнить быстрое сканирование (enter...enter), если она обнаружит разделы в известной ей файловой системе, то предложит зайти на них и выбрать форматы файлов для восстановления (можно например ответить только PNG, JPG), папку для сохранения, и вперед.
Foremost
Утилита старая, написанная давно (насколько мне известно) АНБ США. Работает довольно хорошо.
sudo foremost /home/user/image.dd
Она создаст папку output в папке user и сложит туда файлы, которые найдет, рассортировав их по расширениям.
Scalpel
Как обычно, есть для ubuntu и arch/manjaro в aur: sudo apt install scalpel
в ubuntu, sudo yaourt -A scalpel
для arch. После установки,
scalpel flash.dd
Появится папка с восстановленными файлами рядом.
Safecopy
Есть в йогурте в арче и манджаро, а также можно скачать с офсайта, как и все остальные (для ubuntu не проверял): yaourt -A safecopy
.
Man-страницы и подсказки в сети
Если вам нужна дополнительная информация по работе вышеуказанных программ, выполните man программа
или загуглите мануалы в сети.
Список коммерческого софта
- r-sudio (rescue, а не тот что среда для языка R)
- другой софт
R-Sudio
Тут всё через графику. R-Studio также есть и в Ubuntu (deb-пакет) и в Yaourt (arch/manjaro):
sudo apt install r-sudio
для ubuntu или sudo yaourt -A r-studio
для arch.
Дальше выбираете "загрузить образ", "сканировать образ" и копаетесь в файловой системе, если R-Studio её обнаружил. Ограничения бесплатной демо версии - восстанавливает файлы размером до 256 кб. Дальше - покупать ключик. ОДНАКО! Для восстановления файлов в файловых системах Linux (EXT4, EXT3, EXT2) программа бесплатна для любых размеров файлов. Вот так вот :)
С вами на связи линуксоид, альтернативщик,
Den Ivanov aka @SXIII