• База знаний
  • /
  • Блог
  • /
  • Wiki
  • /
  • ONLINE CHAT
+380 (44) 364 05 71

Статья также доступна на украинском (перейти к просмотру).

Dосстановить утраченные или удаленные данные на Linux

 

Оглавление

 

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

Программные средства для восстановления данных в Linux

В настоящее время существует около двух десятков достаточно известных программ для восстановления данных в ОС Linux, каждая из которых имеет свои особенности, касающиеся как ее характеристик и возможностей, так и типы лицензии, под которой она распространяется. Рассмотрим одну из наиболее используемых программ с открытым кодом под названием TestDisk. Перечислим ее основные характеристики и возможности:

  • Язык создания программы: С;
  • Код открыт, расширяем;
  • Обеспечивает интерфейс командной строки;
  • Распространяется свободно по лицензии GNU/GPLv2;
  • Кроссплатформенная – работает на платформах Windows, SunOS, macOS, Linux, ***BSD и других;
  • Совместимость с файловыми системами FAT, FAT32, exFAT, NTFS, Linux (ext2, ext3 и ext4) и другими;
  • Назначение – восстановление удаленных или утраченных разделов диска и данных, тестирование и сбор информации об устройстве с данными, работа в условиях поврежденной файловой системы, работа с таблицами разделов разных типов – GPT, MBR и др., копирование данных и прочее.

Установка TestDisk на ОС Linux

TestDisk входит в дистрибутивы всех последних версий ОС на базе Linux и поэтому ее установка не вызывает каких-либо затруднений. Единственное, что нужно учитывать, это корректное использование менеджеров пакетов и некоторых параметров команды запуска инсталлятора для каждой операционной системы. Ниже приведены эти команды для различных типов операционной системы на базе Linux. Конечно, каждая из этих команд должна быть исполнена с правами суперпользователя, то есть с командой sudo.

Таблица 1. Команды запуска установщика TestDisk для разных ОС.

Команда ОС
$ sudo yum install testdisk AlmaLinux/Rocky/RHEL/CentOS/Fedora
$ sudo apt install testdisk Debian/Ubuntu/Mint
$ sudo pacman -S testdisk Arch Linux
$ sudo emerge -a app-admin/testdisk Gentoo Linux
$ sudo zypper install testdisk OpenSUSE

Продемонстрируем процесс установки программы на сервер Ubuntu. Но сначала уточним с какими именно типами разделов работает TestDisk, а затем проверим типы разделов, которые есть на диске нашего сервера.

Введем в терминале команду вызова справочной информации по программе TestDisk:

$ testdisk -h

Вызов справки в testdisk

После этого проверим типы разделов, которые используются на дисках нашего сервера, чтобы мы не сомневались. Для этого введем в терминале команду:

$ fdisk -l

Проверка разделов на диске

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

$ sudo apt install testdisk

Инсталяция testdisk

После запуска команды будет выведена информация о типах устанавливаемых пакетов и сообщено об объеме дискового пространства, необходимого для их установки. Для продолжения процесса нужно подтвердить согласие, что мы и делаем. Ниже представлено конечное окно выхода команды, где можно просмотреть набор пакетов, установленных в системе.

Информация об устанавливаемых пактах.

Для того чтобы выяснить состояние установленной программы, а также уточнить ее версию можно воспользоваться соответствующей командой для ОС Ubuntu:

$ sudo dpkg -l testdisk

Проверка версии программы и ее состояние.

Практическое использование TestDisk в Ubuntu

Продемонстрируем возможности программы на примере восстановления раздела диска и удалённого файла.

Восстановление раздела диска

Запустим TestDisk под Ubuntu и попытаемся восстановить утраченный или поврежденный раздел диска. Для этого введем соответствующую команду в терминале. Поскольку мы будем запускать команду от имени суперпользователя, то использование sudo здесь не нужно, но в противном случае нам нужно было бы задействовать эту команду:

$ testdisk

Запуск testdisk и выбор варианта с созданием нового файла.

В открывшемся окне №1 программы нам будет предложено выбрать на выбор три варианта: создать новый файл с логами; добавить

информацию в текущий файл; или ничего не записывать. Выбираем первый вариант и нажимаем Enter.

Характеристики диска и выбора варианта с анализом диска.

В открывшемся окне №2 будут выведены характеристики имеющегося диска и предложено выбрать среди нескольких вариантов команд: провести анализ текущей структуры разделов диска и найти утраченные разделы; работа с файловой системой; изменение конфигурации диска; смена опций; возврат к выбору диска. Мы выбираем первый вариант и нажимаем Enter.

Иформация о структуре разделов диска

В открывшемся окне № 3 программы представлена ??текущая структура разделов и выведена информация по каждому из них. Разделы пронумерованы. Поскольку первый раздел является системным и загрузочным, а во втором хранятся данные, то его выбираем, нажав его номер на клавиатуре.

Отображаение протестрированных разделов диска.

В окне №4 выводятся уже протестированные разделы. Зеленым цветом обозначены разделы, в которых со структурой все хорошо, как в нашем случае. В противном случае цвет был бы красный, или какой-нибудь другой, кроме зеленого. В нижней части окна предлагается следующее: с помощью клавиш перемещения курсора выбрать раздел, с которым мы хотим работать дальше; с помощью клавиш «слева»/«справа» изменить характеристики выбранного раздела на «основной» или «удалённый»; добавить новый раздел; загрузить резервную копию; изменить тип раздела; вывести список файлов раздела, или продолжить анализ, нажав Enter. Выбираем последнее, чтобы продолжить анализ выбранного раздела.

Выбор команды с углубленном поиском утраченных данных.

В открывшемся окне № 5 выбираем команду Deeper Search (углубленный поиск утраченных данных) и подтверждаем свой выбор.

отображение процесса анализа дисковой системы

Окно №6 демонстрирует начало процесса анализа файловой системы выбранного раздела. В верхней части окна выведен динамический индикатор процесса, отображающий процент выполнения команды на данный момент (01 %). В нижней части окна выводится кнопка остановки процесса – Stop.

В окнах №7 и №8 программы отражен процесс анализа файловой системы в динамике – 10% и 18% соответственно. Здесь выводятся данные анализа кластеров, секторов и цилиндров диска vda.

Процесс анализа файловой системы в динамике.

Процессв анализа файловой системы.

По завершении анализа, в окне № 9 представлены его результаты для всех разделов диска с файловой системой Linux и выведены сообщения, что выводимые разделы не нуждаются в восстановлении. Это значит, что с диском и их данными все в порядке.

Результат анализа файловой системы и разделов на диске.

После перехода по команде Continue попадаем в окно, где также сообщается, что разделы для восстановления не найдены или не выбраны: No partition found or selected for recovery.

Не найдено разделов на восстановление.

В случае, если бы присутствовали поврежденные или потерянные разделы на диске, то они были бы выделены разными цветами. Для их восстановления необходимо было бы нажать клавишу «с» для выбранного раздела или клавишу «С» для восстановления всех разделов, подлежащих восстановлению. Для выхода из программы следует выбрать команду Quit.

Восстановление отдельных файлов

Процесс восстановления удаленных файлов также начинается с запуска программы TestDisk.

На первом шаге, как и в предыдущем случае, следует выбрать пункт Создание нового лог-файла.

Во втором – вместо опции «анализ структуры текущих разделов» выбрать работу с утилитами файловых систем, как показано ниже.

Запуск testdisk и выбор поции работы с утилитами файловых систем.

После этого появится окно со списком существующих разделов на диске, как показано ниже.

Список существующих разделов на диске.

После выбора команды List в нижней части окна мы попадаем в список имеющихся директорий и файлов в выбранном разделе, среди которых красным цветом обозначаются удаленные ранее файлы, в частности, tes1. Для его восстановления достаточно с помощью клавиши "с" скопировать его на прежнее место или в другой каталог и таким образом восстановить. Но, как мы можем убедиться благодаря изображению, размер файла нулевой, то есть данных он уже нет, хотя мы их туда заносили. Это значит, что даже если его сейчас восстановить, то все равно данных он уже не будет иметь. Это связано с тем, что на сервере используются диски типа SSD, на которых, в случае удаления файла, его размер автоматически сбрасывается до нуля, что не позволяет восстановить данные с помощью указанной программы. Это можно сделать только на дисках HDD.

Подсветка красным удаленных файлов.

Однако, как мы видим из сообщения зеленого цвета в конечном окне программы – «Copy done! 1 ok, 0 failed», пустой файл программа все же восстанавливает даже на дисках SDD.

Подсветка зеленым восстановленных файлов.

FREEhost.UA открыл новую локацию размещения виртуальных серверов в Польше. Неизменно высокое качество обслуживания с круглосуточной технической поддержкой, ежедневный бекап, удобная VNC консоль, большой выбор предустановленного ПО. Заказывайте VPS сервер в Польше для размещения на территории Евросоюза!

Подписывайтесь на наш телеграм-канал t.me/freehostua, чтобы быть в курсе новых полезных материалов. Смотрите наш канал YouTube на youtube.com/freehostua.

Мы в чем ошиблись, или что-то пропустили?

Напишите Об этом в комментариях, мы с удовольствием ответим и обсуждаем Ваши замечания и предложения.

Дата: 31.08.2022
Автор: Евгений
Голосование

Авторам статьи важно Ваше мнение. Будем рады его обсудить с Вами:

comments powered by Disqus
navigate
go
exit
Спасибо, что выбираете FREEhost.UA