6 утилит для восстановления данных с поврежденных жестких дисков в Linux
Оригинал: 6 Linux Tools to Help Recover Data from Corrupted Drives
Автор: MTE Staff
Дата публикации: 11 сентября 2018 года
Перевод: А. Кривошей
Дата перевода: октябрь 2019 г.
Ваш экран просто стал черным или ваш ноутбук завис без предупреждения? Может быть, ваш жесткий диск начал барахлить. Хуже того, может быть, вы вдруг не можете сохранить данные в свой домашний раздел?
Все эти признаки поврежденного или неисправного диска, но нет причин немедленно выбрасывать компьютер. Прочитайте эту статью, чтобы узнать о шести утилитах Linux, которые могут помочь вам восстановить ваши данные и вернуть вашу цифровую жизнь в обычное русло.
1. Testdisk
Некоторые инструменты восстановления Linux пытаются сохранить ваши данные, копируя все, что можно извлечь из поврежденного раздела. Это может сработать, но не гарантированно, так как проблемы с самим разделом могут скрывать данные, которые вы хотите получить.
Testdisk очень удобен, поскольку он может на самом деле исправлять ошибки на уровне раздела, упрощая восстановление данных с помощью самого Testdisk или другого инструмента восстановления данных. Он может даже исправить поврежденный жесткий диск и снова заставить ваш ПК с Linux работать, чтобы вы могли получить прямой доступ к данным.
Помимо выполнения глубоких операций, таких как восстановление загрузочных секторов и таблиц файловой системы, Testdisk также способен восстанавливать данные,даже удаленные, с жестких дисков с файловыми системами NTFS, FAT, exFAT и ext.
Чтобы установить Testdisk в Linux, перейдите в терминал и введите:
Если вы хотите узнать больше об использовании Testdisk, вы можете прочитать руководство по Testdisk здесь .
2. ddrescue
Хотя ddrescue не является инструментом восстановления данных, он должен стать вашим первым шагом на пути к извлечению ваших файлов. Ddrescue создает образ вашего поврежденного диска или раздела, чтобы вы могли проанализировать копию вашего сломанного диска.
Всегда копируйте свой диск в отдельный образ, прежде чем начинать операции восстановления файлов с помощью инструментов, перечисленных ниже. Чем дольше вы используете неисправный диск, тем больший ущерб вы можете причинить.
Здесь вы видите некоторые результаты ddrescue в действии. В первой команде он копирует весь диск в образ с именем «backup.img». Вторая команда затем копирует в тот же образ только плохие блоки, проходя каждый раз по этим блокам, чтобы попытаться их прочитать.
Когда вы запускаете эти команды, всегда используйте файл журнала. Резервное копирование может занять несколько часов или дней, и без лог-файла любые прерывания заставят вас начать процесс заново с самого начала.
Когда этот процесс завершен, вы можете смонтировать скопированный образ и использовать приведенные далее утилиты для извлечения из него файлов. Дальнейшее использование других инструментов восстановления Linux из этой статьи позволит получить данные из того же «backup.img», созданного здесь.
3. Foremost
Foremost использует структуры данных общих типов файлов для извлечения данных. Вы можете просканировать весь образ диска для всех его файлов или указать определенные типы файлов, которые вам наиболее интересны.
Здесь вы можете увидеть вывод Foremost в подробном режиме (опция -v). Опция -t ищет типы файлов jpg, а опции -i и -o отмечают соответствующий входной файл и выходной каталоги.
Вы можете видеть, что Foremost анализирует образ, созданный на предыдущем шаге; этот образ содержит несколько JPEG-файлов. Foremost смог найти десять таких файлов, и когда он закончил сканирование образа, он скопировал эти десять файлов в указанную выходную папку.
4. scalpel
Scalpel , изначально основанный на Foremost, стремится быть экономным в своей работе. Он использует многопоточность и асинхронный ввод/вывод для эффективного поиска.
Пользователи также могут указать типы файлов, которые они хотят восстановить, отредактировав файл конфигурации Scalpel. Конфигурация по умолчанию производит много выходных данных, даже без подробного режима (параметр -v).
На этом снимке экрана вы можете увидеть окончательный результат анализа Scalpel для «backup.img». Базовая команда (приведенная в нижней части снимка экрана) требует только выходной каталог и образ для анализа.
5. PhotoRec
PhotoRec отстает от своих конкурентов, сосредоточившись на восстановлении фотографий, видео и текстовых документов. Он также работает как интерактивная утилита внутри консоли.
В команде PhotoRec должен быть указан желаемый образ (наш backup.img) и выходная папка. Затем PhotoRec помещает пользователя в графическое окружение. Скриншот здесь показывает размер образа. На следующих экранах запрашивается тип раздела диска и хотите ли вы искать файлы по всему образу.
6. grep
Наконец, мы подошли к grep . Он может показаться не самым простым вариантом восстановления, но grep может находить удаленные или потерянные текстовые файлы путем поиска строк, присутствующих на блочном устройстве или образе диска.
В образе backup.img существует файл с именем «myfile». Он содержит только одну строку текста: «This is the file I will try to recover.»
Grep использует эту строку в качестве отправной точки для восстановления файлов. Помимо нескольких других параметров, вы можете видеть, что в этом примере он выводит найденную строку в новый двоичный файл с именем «foundtext».
Также, вы можете изменить параметр -C, который печатает дополнительный контекст, окружающий строку в исходной команде. В этом примере команда указывает grep найти одну строку текста до и одну после указанной строки.
Начиная с -C 200, grep найдет 200 строк как до, так и после строки. Такой охват здесь не нужен, но он может быть важен для больших текстовых файлов с сотнями строк. Конечно, вам нужно знать содержимое ваших файлов, чтобы у grep была отправная точка для начала поиска.
Grep создаст в качестве вывода двоичный файл. Тем не менее, некоторые части будут удобочитаемыми, например желаемая строка текста этого примера в нижней части этого снимка экрана. Ваша задача — вручную выбрать нужные данные. Конечно, это тяжелая работа, но она лучше альтернативы отсутствия файлов.
Заключение
Итак, сначала скопируйте ваш диск или раздел с помощью ddrescue, а затем работайте с этой копией с помощью любых инструментов восстановления Linux, которые вам нужны. Не бойтесь попробовать более одного инструмента, особенно если ваш первый выбор не нашел данных, которые вы хотели найти. Будьте терпеливыми. Если вам повезет, вы вернете свои драгоценные файлы еще до того, как узнаете об этом.
Источник
Простой способ восстановить удаленные файлы
Поделюсь небольшой находкой, маленькой программой для восстанавления удаленные файлы. Какое-то время назад было очень нужно, но программы Scalpel, тогда не нашел, к сожалению. На мой взгляд, из всех известных мне способов — это один из наиболее простых. Scalpel появился из проекта Foremost.
И так любителям rm -rf посвящается:
Во первых, самое главное, никто не гарантирует, что Scalpel сможет восстановить ваши файлы, но шансы на это есть.
Установка (так как на испытуемой машине стоит Ubuntu, то рассказывать буду про нее):
Далее можно покурить маны (полезно):
…
doc y 10000000 \xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1\x00\x00 \xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1\x00\x00 NEXT
doc y 10000000 \xd0\xcf\x11\xe0\xa1\xb1
…
pdf y 5000000%PDF %EOF\x0d REVERSE
pdf y 5000000%PDF %EOF\x0a REVERSE
…
Теперь можно запускать восстановление:
$ mount
/dev/sda1 on / type ext3 (rw, relatime, errors=remount-ro)
proc on /proc type proc (rw, noexec, nosuid, nodev)
/sys on /sys type sysfs (rw, noexec, nosuid, nodev)
varrun on /var/run type tmpfs (rw, noexec, nosuid, nodev, mode=0755)
udev on /dev type tmpfs (rw, mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw, gid=5, mode=620)
lrm on /lib/modules/2.6.24–21-generic/volatile type tmpfs (rw)
/dev/sda2 on /home type ext3 (rw, relatime)
После отработки переходим в директорию output и смотрим что там есть:
/output$ ls -l
-rw-r—r— 1 root root 28189 2009–03–24 14:42 audit.txt
drwxr-xr-x 2 root root 4096 2009–03–24 14:42 doc-3–0
drwxr-xr-x 2 root root 4096 2009–03–24 14:42 doc-3–1
drwxr-xr-x 2 root root 4096 2009–03–24 14:42 doc-3–2
drwxr-xr-x 2 root root 4096 2009–03–24 14:42 doc-4–0
…
drwxr-xr-x 2 root root 4096 2009–03–24 14:42 pdf-5–0
drwxr-xr-x 2 root root 4096 2009–03–24 14:42 pdf-6–0
…
В файле audit.txt хранится инофмация о проведеном восстановлении:
/output$ cat audit.txt
Scalpel version 1.60 audit file
Started at Tue Mar 24 14:16:04 2009
Command line:
scalpel /dev/sda1 -o output
Output directory: /home/username/output
Configuration file: /etc/scalpel/scalpel.conf
Opening target «/dev/sda1»
The following files were carved:
File Start Chop Length Extracted From
00053045.doc 183664640 YES 10000000 sda1
00053046.doc 183971840 YES 10000000 sda1
…
00050372.doc 203272192 NO 208896 sda1
00050373.doc 203481088 NO 229376 sda1
…
Completed at Tue Mar 24 14:42:41 2009
Смотрим во вложенные каталоги и видим (если повезет) наши файлы:
/output/doc-3–0$ ls -l
total 25564
-rw-r—r— 1 root root 307200 2009–03–24 14:42 00050348.doc
-rw-r—r— 1 root root 40960 2009–03–24 14:42 00050349.doc
-rw-r—r— 1 root root 4354 2009–03–24 14:42 00050350.doc
-rw-r—r— 1 root root 466686 2009–03–24 14:42 00050351.doc
-rw-r—r— 1 root root 176128 2009–03–24 14:42 00050352.doc
…
Источник — HowtoForge (вольный перевод).
Добавлю от себя Scalpel восстановил далеко не все, конечно. Но очень много, про некоторые файлы я даже забыл уже. Работает он весьма не спешно, кушает почти весь процессор во время работы.
Scalpel умеет работать с фаловыми системами FAT, NTFS, ext 2/3, то есть восстанавливать данные можно и с win-разделов.
И напоследок, лучших способ восстановить очень важные файлы это:
1. Делать бекапы.
2. Очень хорошо думать перед удалением.
Источник
Прикладная некромантия в линукс или возвращаем из небытия удаленные файлы
Думаю, каждый из нас с вами сталкивался с проблемой, когда из-за глюка прошивки фотоаппарата, камеры, кпк, смартфона или просто из-за особого устройства /dev/hands карточка была отформатирована, данные были удалены. В свое время данную проблему я решал достаточно просто, используя Portable версию Ontrack Easy Recovery, но так как уже несколько лет являюсь пользователем linux систем, то использование данного нелицензионнного приложения через wine показалось не совсем кошерным, к тому же жажда исследований и приключений требовала найти бесплатный родной аналог для linux систем. Исследования закончились, даже не успев начаться, так как первая строчка в поиске Google привела к набору утилит TestDisk, о которых я расскажу далее подробнее.
И так, TestDist состоит из двух утилит:
testdisk и photorec; Официальный сайт утилит.
Краткое описание:
testdisk – мощная утилита, разработанная для восстановления удаленных разделов и для восстановления загрузочных записей mbr после программных ошибок, действий некоторых вирусов, человеческих ошибок (например, когда раздел был просто удален).
Возможности testdisk:
Исправление таблицы разделов; восстановление удаленных разделов Восстановление FAT32 загрузочного сектора из бэкапа Перестроение FAT12/FAT16/FAT32 загрузочного сектора Исправление FAT tables
Перестроение NTFS загрузочного сектора Восстановление NTFS загрузочного сектора из бэкапа Исправление MFT используя MFT зеркало Нахождение ext2/ext3 Backup SuperBlock
Восстановление удаленных файлов в FAT, NTFS and ext2 файловых системах
Копирование файлов из FAT, NTFS and ext2/ext3 удаленных разделов.
photorec – утилита восстановления данных таких, как файлы видео, документы, архивы с жестких дисков и cdrom дисков, а также фото (поэтому название программы Photo Recovery) со встроенной памяти камер. Список типов файлов для восстановления весьма внушителен и с ним можно ознакомиться тут.
Обе утилиты open source, распространяются под лицензией GNU General Public License (GPL). Имеются в наличие версии для linux, unix, а также для windows платформ.
В большинстве линукс дистрибутивов уже включены в состав стандартного репозитория. Для debian-based дистрибутивов установка командой:
В моем случае требовалось восстановить фотографии с карточки фотоаппарата после того, как фотоаппарат случайно отформатировал карточку. Вставив флешку в card reader и запустив с правами рута photorec в консоли, утилита предложила мне выбрать диск, на котором требуется восстановить данные.
В моем случае это будет /dev/sdb.
Далее выбираем тип таблицы разделов на диске, для большинства пользователей это будет Intel/PC.
И далее выбираем раздел или диск целиком для поиска удаленных файлов. Так как мне нужно было восстановить все удаленные файлы после форматирования, то я выбрал поиск по всему диску.
После этого photorec требуется указать тип файловой системы, в которой хранились удаленные файлы. В данном случае все просто, выбираем второй пункт.
А затем на другом диске выбираем директорию, куда утилита сохранит восстановленные файлы.
Далее нажимаем Y и программа начинает свою работу. Для 32Мб карточки ей потребовалось меньше минуты.
Теперь о результатах работы:
Честно говоря, по началу я весьма сомневался в способностях программы. Но открыв директорию с результатами работы утилиты, я с удивлением обнаружил, что были восстановлены не только нужные недавно сделанные 10 фотографий, но и еще 110 других, самая ранняя из которых была сделана 3 года назад и не была перезаписана при дальнейшем использовании карточки, хотя форматировалась карта неоднократно.
В итоге имеем очередную победу добра над злом, счастливую улыбку обладателя фотоаппарата, еще один факт доказательства того, что существует море полезных и качественных opensource утилит.
Источник