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

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

Відновити втрачені або видалені дані на 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.

На першому кроці, як і у попередньому випадку, слід обрати пункт «Створення нового лог-файлуraquo;.

На другому – замість опції «аналіз структури поточних розділів» обрати роботу з утилітами файлових систем, як показано нижче.

Запуск 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