- 6 утилит для восстановления данных с поврежденных жестких дисков в Linux
- 1. Testdisk
- 2. ddrescue
- 3. Foremost
- 4. scalpel
- 5. PhotoRec
- 6. grep
- Заключение
- Восстановление файлов на NTFS разделе под Linux
- Как в Linux восстановить удаленные файлы [гид для новичков]
- Как восстанавливать удаленные файлы с помощью TestDisk в Linux
- Шаг 1
- Шаг 2
- Шаг 3
- Шаг 4
- Шаг 5
- Шаг 6
- Шаг 7
- Шаг 8
- Шаг 9
- Шаг 10
- Пара советов по восстановлению файлов с помощью TestDisk
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, которые вам нужны. Не бойтесь попробовать более одного инструмента, особенно если ваш первый выбор не нашел данных, которые вы хотели найти. Будьте терпеливыми. Если вам повезет, вы вернете свои драгоценные файлы еще до того, как узнаете об этом.
Источник
Восстановление файлов на NTFS разделе под Linux
Уроки на будущее для владельцев компьютеров:
- Делайте резервные копии системы
- Делайте резервные копии системы регулярно
Бывает так, что установленная в дуалбут режиме система подводит. К примеру, вы использовали Windows, затем установили ubuntu, она вам понравилась, и с тех пор больше года в старую систему не загружались. Внезапно вам понадобились какие-то старые файлы с той системы, но… Загрузчик не определяет ваш ntfs диск, загрузки системы не происходит, установщик винды в rescue режиме — так же не видит раздел, и (о боже!) драйвер ntfs-3g под Linux так же не монтирует этот раздел! Согласитесь, проблемка?
Восстановление данных с жесткого диска не такое уж сложное занятие, в особенности если винчестер всё еще работает 😉
Первое что вы должны сделать при восстановлении любых данных с поврежденного раздела — это создать образ этого раздела. Лучше всего отключить сбойнувший жесткий диск и подключить его к другой машине с нормально работающей системой. Это поможет вам избежать дальнейших проблем, если с винчестером и в самом деле что-то не в порядке, и он накроется медным тазом на половине процесса восстановления данных.
Хорошо подходит для этой работы утилита GNU ddrescure (так же может называться ddrescue или gddrescue в зависимости от того какой у вас дистрибутив Linux). Убедитесь что у вас GNU версия программы, так как могут попасться с похожими названиями, но не такие юзерфрендли. Снятие образа с жесткого диска может занимать довольно много времени и очень удобно, если есть возможность вывести состояние о ходе копирования, остановке или перезапуске на любом этапе. Для создания образа просто запустите под root:
ddrescue -r3 /dev/sda2 imagefile logfile
/dev/sda2 — это раздел с которого снимается образ.
imagefile — путь/название файла образа который мы делаем
logfile — путь/название файла лога, куда будет вносится служебная информация о состоянии диска.
Файл лога может показывать, к примеру, что у вас на жестком диске много битых частей расположенных очень билзко друг к другу, глядя на это, невольно начинаешь думать о том, чтобы хоть что-то спасти.
# Rescue Logfile. Created by GNU ddrescue version 1.13
# Command line: ddrescue -r3 /dev/sda2 imagefile logfile
# current_pos current_status
0x30D31E00 +
# pos size status
0x00000000 0x309EB000 +
0x309EB000 0x00001000 —
0x309EC000 0x00073000 +
0x30A5F000 0x00002000 —
0x30A61000 0x00073000 +
0x30AD4000 0x00002000 —
0x30AD6000 0x00073000 +
0x30B49000 0x00002000 —
0x30B4B000 0x000FC000 +
0x30C47000 0x00001000 —
0x30C48000 0x00074000 +
0x30CBC000 0x00001000 —
0x30CBD000 0x00074000 +
0x30D31000 0x00001000 —
0x30D32000 0x7F5409E00 +
После того как вы снимите образ с вашего жесткого диска, самое время получить из него файлы. Полученный образ можно посмотреть к примеру из Sleuth Kit. Это фронтенд вызывающий Autopsy. Для использования — запустите Autopsy указав место куда сохранять файлы и относительный путь в брузере:
mkdir autopsydir
autopsy -d autopsydir
firefox http://localhost:9999/autopsy
При просмотре вы сможете убедиться что нужные вам файлы всё еще живы. Возможно вам захочется извлечь каждый файл который только возможно из образа диска. Slueth Kit это консольная программа и она умеет это делать; fls для листинга файлов, icat для получения файлов. Используя эти команды вы можете извлекать один файл за раз… но что делать если их много и вам хочется это дело автоматизировать? Тут на помощь приходят скрипты:
#!/bin/sh
IMAGE=../imagefile
fls -urp $IMAGE |
while read type inode name; do
echo $name
case $type in
d/d) mkdir -p «$name» ;;
r/r) [ ! -f «$name» ] && icat $IMAGE $(echo $inode | sed ‘s/://g’) > «$name» ;;
esac
done
Это занимает довольно продолжительное время, особенно если это образ с раздела где установлена Windows — в ней много мелких файлов. Так что скрипт сделан таким образом что его можно остановить, и при следующем запуске он продолжит с того места где остановился. Только не останавливайте его во время извлечения важных или больших файлов. Так же, возможно, вам будет лучше изначально создать пустые файлы hiberfil.sys и pagefile.sys в директории куда вы извлекаете файлы, потому что извлекать и хранить несколько гигабайт ненужных данных — вам вряд ли нужно.
Ну вот, так вот можно вывернуться при несчастье и без резервной копии, но все же лучше бы она была. Неправдали? 😉
Источник
Как в Linux восстановить удаленные файлы [гид для новичков]
Статья расскажет о том, как в Linux с помощью инструмента командной строки Test Tool восстановить удаленные файлы. Это легкий в использовании инструмент, который практически любой сможет использовать в целях восстановления утерянных файлов в Ubuntu или иных дистрибутивах Linux.
Вы когда-нибудь были в ужасе? В ужасе от понимания того, что файлы стерты и даже из корзины. Зачастую за ужасом приходит следующая фаза — отрицание. Ее запускает мысль: “Я знаю, что где-то лежит копия”.
Но вместо того, чтобы проходить все эти фазы, лучше не беспокоиться. Главное помните, вы не одни. Рано или поздно все через это проходят.
“Не беспокоится? — возразите вы, — Я только что стер единственную копию резюме!”
Нет, правда, не беспокойтесь. На самом деле все, что вы удалили просто было вынесено из списка. Пока вы больше ничего на него не запишете все останется на месте. На самом деле, даже если после удаления записать что-то на диск, то есть шанс, что удаленная информация все равно на нем останется (это зависит от размера удаленной информации и оставшегося свободного места, но все же).
“Да, хорошо, — скажете вы, — мне легче от мысли, что резюме ‘существует’ в неком абстрактном месте. Но теперь меня беспокоит, что его нельзя открыть, отредактировать или распечатать. То есть все равно его будто нет. Очень помогло бы найти способ ‘разудалить’ файл. Ну и чтобы этот способ не требовал наличие исследовательской IT лаборатории”.
Правда, не беспокойтесь — лаборатории не понадобится. Боле того, если вы не боитесь примитивных графических интерфейсов, то это еще и весьма несложно провернуть. Я продемонстрирую вам, как использовать Test Disk для восстановления файлов.
Как восстанавливать удаленные файлы с помощью TestDisk в Linux
Давайте приведу простой пример: я подключил флешку, загрузил на нее файлы и что-то удалил. Теперь, в моей системе есть возможность удаления файлов прямо с флешки, в обход корзины. Для этого надо на файле нажать правой кнопкой мыши и выбрать “delete”. Будет выведено предупреждение. После нажатия на кнопку “yes” все файлы будут удалены безвозвратно. По крайней мере так кажется.
Но теперь у меня нет этого ужасного чувства. И нет, это не потому что все по сценарию. Я знаю, что мне нужно всего лишь открыть терминал и написать “testdisk” и нажать “enter. И тут наступает один из этих “Linux моментов”. Если у вас нет данного инструмента, то он напишет, как его установить! Просто введите “sudo apt install testdisk”, нажмите “enter” и через 10 секунд он у вас.
Если вы предпочитаете видео, то можете посмотреть ролик с тем же руководством на YouTube канале FOSS:
Шаг 1
Для начала установите инструмент TestDisk. Он есть в официальных репозиториях большинства Linux дистрибутивов. На Ubuntu и Linux дистрибутивах на базе Ubuntu вроде Linux Mint, elementary OS и т.п. для установки TestDisk вы можете использовать следующую команду:
sudo apt install testdisk
Пользователи Arch Linux могут установить его из AUR. В иных дистрибутивах Linux вы можете воспользоваться вот этой ссылкой.
Несмотря на то, что в данном руководстве мы будем говорить о командах в Ubuntu, инструмент не ограничен данным дистрибутивом. Команды, указанные в данной статье, подойдут и в других дистрибутивах.
Шаг 2
Запустите в терминале TestDisk с помощью данной команды:
Шаг 3
Как только он откроется, вы увидите это. Не торопитесь! Интерфейс на самом деле прямолинейный, но текст надо читать внимательно. Используйте стрелки для навигации и ‘Enter’ для подтверждения выбора.
Выберите ‘Create a new log file’
Экран с дополнительными командами их подскажет. Также стоит отметить, что TestDisk 7.0 выделяет следующий логический шаг, но практически всегда правильно читать, что написано на экране, так как инструмент не умеет читать мысли. В любом случае, если TestDisk просто позволения создать log file, соглашайтесь — это полезно.
Шаг 4
Теперь, в данный момент, если вам повезет, вы должны увидеть свой диск. Можете переходить к последним шагам. Но давайте представим, что диска нет, скажем, у вас мультизагрузка. В таком случае права доступа могут съехать, и TestDisk потребует разрешение на открытие. Вы увидите нечто подобное:
Иногда нужны права sudo
Выберите “sudo” и введите пароль. Нажмите “enter” и “enter” снова на следующем экране для того, чтобы создать log file.
Шаг 5
В этот раз TestDisk отобразит все диски. С помощью стрелочек выберите нужный диск и нажмите “enter”:
Необходимо выбрать носитель, на котором мы ищем файлы
Шаг 6
TestDisk снова выбрал верный вариант. Логично, так как простое устройство для хранения данных редко бывает разбитым. Снова жмем “enter”:
Шаг 7
А вот теперь пора подумать. Если вы прочли первый экран (а я в этом не уверен), то наверняка поняли, что это не просто программа для восстановления удаленных файлов. Это мощная дисковая утилита. Но, если мы помним, чего делаем, то выбор не составит труда: мы не пытаемся починить диск, мы пытаемся его восстановить. Выбираем “Advanced” и жмем “enetr”:
Выбираем ‘Advanced’
Шаг 8
Снизу страницы находим “Undelete” и готовимся увидеть привидение!
Выбираем ‘Undelete’
Шаг 9
TestDisk начнет искать файлы и сгенерирует список удаленных файлов, выделенных красным. Стрелкой спускаемся к нему и внимательно изучаем варианты внизу страницы.
Шаг 10
И снова, не забываем, что TestDisk многофункциональное средство. Большинство вариантов отвечает за работу с группами файлов. Нам же просто надо их вернуть! Жмем “c”.
Для копирования нажмите ‘c’ и так вы восстановите файлы
Счет 1-0 в нашу пользу. После нажатия на “c” появились варианты мест для сохранения. По дефолту файлы сохранятся в домашнюю директорию. По сути, это опять отличный вариант, так как навигация в TestDisk местами замороченная.
Пара советов по восстановлению файлов с помощью TestDisk
Во-первых, если вы не понимаете где оказались, для возврата жмите на “q”. Так вы не закроете программу и не потеряете прогресс. “q” ведет себя как кнопка “назад” в классических приложениях с графическим интерфейсом — будете постоянно жать “q”, в какой-то момент окажетесь на стартовом экране.
Во-вторых, чем меньше отвлекающих моментов, тем проще найти то, что ищешь. Иными словами, отключите все не нужные в процессе восстановления хранилища. В минималистичных окружениях простота — друг.
Наконец, TestDisk может помочь восстановить файлы, которые стали недоступны по другим причинам. На самом деле я стал пользоваться ей именно из-за этого. Я пытался сохранить файлы с испорченного диска, отказывающегося запускаться.
Что если диск отформатирован в LVM? Это мой случай. Подключенный LVM диск совсем не похож на обычную Linux ОП. Обычные файлы не появляются, а что-то вычленить не выходит. Это, на ряду с иными причинами, происходит из-за того что большинство файловых менеджеров Linux больше не умеют работать с файловыми системами ext.2
Так или иначе, после печального начала, у меня получилось найти и восстановить утраченные файлы. Отмечу, что в вышеописанном случае шаги будут немного другими. Вам возможно понадобиться использовать функцию “Analyze”. Она приведет диск к нужному состоянию и вам останется только потыкаться в поисках домашней директории. А еще файлы не будут отмеченными красным, ведь их не удаляли. Как только вы их найдете процедура копирования будет такой же.
С TestDisk и небольшой долей удачи вы никогда не потеряете свое резюме, так как всегда сможете восстановить удаленные файлы в Linux.
Источник