Контакти

Linux відновлення даних із диска. Відновлюємо віддалені файли. Ремонт файлових систем

Неприємності трапляються частіше, ніж хотілося б. Однією є видалення файлу з важливими даними. Причому в Unix вважається, що він вирушає в небуття. На жаль, дійсно, відновлення віддалених файлів у Unix не таке просте завдання, як у Windows з її звичним кошиком для віддалених файлів та численними утилітами від сторонніх постачальників (наприклад, Norton Utilities). Це з особливостями архітектури файлових систем
Unix. ОС Linux ширше трактує поняття файла. Під файлом розуміється будь-який об'єкт, що має ім'я у файловій системі. Одним із таких об'єктів є каталог. У каталозі зберігається як ім'я файлу, і додаткова інформаціяпро файл - його розмір, інформація про власника файлу, розташування на диску, дата створення, дата останньої модифікації, права доступу та багато іншого. Причому для ефективності додаткову інформацію виносять у спеціальну структуру, а в каталозі залишають лише посилання на цю структуру. При видаленні файлу ця додаткова інформація фізично не видаляється з диска, лише відзначаються як вільні відповідні блоки. Тому існує потенційна можливість відновлення віддаленого файлу, поки на місце його розташування нічого не записувалося. Я спробую запропонувати алгоритм дій у разі виникнення такої неприємності.

Припинення подальшої роботи.

Відразу після того, як ви усвідомили, що сталося щось жахливе, припиніть подальшу роботу на розділі диска з віддаленим файлом. Природно припинити роботу повинні не тільки ви, але й інші користувачі, що увійшли в систему. Вживіть заходів, щоб більше ніхто не міг зайти в систему, поки ви будете займатися відновленням файлу (наприклад, за допомогою /etc/nologin). Головне - не допустити перезапис дискових блоків, що раніше використовуються віддаленим файлом, іншими процесами. Імовірність цього значно зростає, якщо розділ майже заповнений.

Сам собі некрофіл.

Розглянемо два варіанти відновлення. Один досить універсальний, застосовний, швидше за все, у будь-якій системі Unix. Другий – заточений під роботу з файловою системою Ext2
Linux.

Відновлення файлів з відомим вмістом

* Створюємо копію кореневого розділу і поміщаємо її у файл з розділу / export. Цей розділ повинен мати достатньо вільного місця, щоб вмістити в себе розділ, на якому був видалений файл

# df -k//export
File system Kbytes used avail capacity Mounted on
/dev/dsk/c0t3d0s0 122070 19512 102558 16% /
/dev/dsk/c1t0d0s0 17592638 14425963 3166675 82% /export
# dd if=/dev/dsk/c0t3d0s0 of=/export/recover.dsk
263077+0 records in
263077+0 records out
# ls -l
-rw-r-r-- 1 root other 134701056 Jul 1 16:54 recover.dsk

* запускаємо команду cat з ключем -n (виведення номерів рядків), виведення якої перенаправляємо утиліті fgrep, яка, здійснивши пошук за заданим шаблоном, відсіче все зайве

#cat-n recover.dsk | fgrep "root:x:0:1"
200601 root:x:0:1:Super-User:/:/sbin/sh
202108 root:x:0:1:Super-User:/:/sbin/sh

рядки можуть бути і не знайдені як у разі помилки при заданні шаблону, так і при втрати вмісту віддаленого файлу, який міг бути переписаний. У нашому випадку, як бачимо, збереглося дві версії файлу.

* виведемо кілька рядків після знайденої
# fgrep -A10 "root:x:0:1" recover.dsk > passwd
# cat passwd
root:x:0:1:Super-User:/:/sbin/sh
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
...

ключі -A<число строк>та -B<число строк>утиліти fgrep дозволяють виводити кілька рядків, розташованих після (after) і до (before) знайденого шаблону рядка. Якщо ви зможете отримати весь свій файл за один крок - то вам пощастило. Але, на жаль, файли зазвичай фрагментовані, і що більше розмір файлу, то вище ймовірність фрагментації і більше самих фрагментів. Тому, швидше за все, доведеться повторювати описану процедуру, використовуючи різні шаблони та поєднуючи отримані частини. Важко буває зрозуміти, яка з версій файлу, що збереглися на диску, остання. Це визначається лише переглядом вмісту відновленого файлу. Отже, вам доведеться відновлювати всі версії файлу. Досить нудно, але ефективно.

Відновлення файлів у Linux Ext2

Цей метод застосовується у разі видалення командою rm або функцією unlink і не потребує відновлення знання вмісту віддаленого файлу. Для роботи нам знадобиться відладчик файлової системи debugfs досить потужна утиліта, що застосовується зазвичай для перевірки та зміни файлової системи та надає безпосередній доступ до файлової системи. Нам знадобиться три її команди:

  • lsdel - виведення всіх віддалених індексних дескрипторів у цій файловій системі
  • cat - перегляд вмісту, відповідного дескриптору
  • dump - відновлення файлу

Запускаємо debugfs у необхідному розділі:

На запрошення вводимо команду lsdel (кухоль кави не завадить, оскільки системі знадобиться час на перегляд усього розділу):

debugfs: lsdel
Inode Owner Mode Size Blocks Time deleted
723300 1000 100664 27018 2/ 7 Mon May 20 19:08:17 2002
723301 1000 100444 1671 1/ 7 Tue May 20 19:08:17 2002
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
944887 1037 100600 597 1/ 1 Sun Jan 26 20:05:00 2003
717281 1000 100400 1 1/ 1 Sun Jan 26 20:05:13 2003
327101 1000 100644 15 1/ 1 Sun Jan 26 20:07:06 2003

Краще відразу перенаправити вивід у файл, ввівши команду:

#echo lsdel | debugfs /dev/hda6 > /tmp/lsdel-output

Якщо з моменту видалення не було операцій з розділом, то дані, що нас цікавлять, будуть в кінці списку. Подивимося вміст, що відповідає останньому дескриптору, набравши команду:

debugfs: cat<327101>
my_very_important_data

Видалений файл знайдено, він містив єдиний рядок. Команда dump відновлює файл, записуючи його на диск під назвою
my_recovered_file:

debugfs: dump -p<327101>/tmp/my_recovered_file

ключ -p вказує на те, що файл має залишитися колишнім власником, групою та правами доступу.

Відновлення групи файлів у Linux Ext2

Для відновлення групи файлів, доцільно скористатися утилітою Тома Пайка
. Установка стандартна:

# tar zxf recover-1.3.tar.gz
# cd recover-1.3
# make
# make install

За умовчанням утиліта встановлюється у систему каталогів із коренем /usr. Якщо потрібно встановити інше місце - читайте ReadMe. Під час роботи recover поставивши кілька простих питань, типу: хто є власником файлів, коли ці файли були видалені, який приблизно розмір цих файлів, запускає debugfs, і відновлює відповідні заданому критеріюіндексні дескриптори, поміщаючи їх у каталог, вказаний користувачем. На жаль, імена файлів не відновлюються. Відновлені файли отримують імена, що складаються з префіксу dump та наступного індексного номера дескриптора.

А що ми відновили?

Для ідентифікації відновлених файлів використовуємо дві утиліти strings та file. Перша відображає послідовність символів ASCII, витягуючи її з вказаного файлу, друга - з'ясовує тип файлу (наприклад, чи він є архівом або, скажімо, файлом
PostScript).

Запускаємо утиліту file:

# file *
dump39788: directory
dump98008: PGP armored text signed message
dump80154: gzip compressed data, deflated, last modified: Sun Jan 28 03:31:21 2001, os: Unix
dump73290: ASCII text
dump67095: ?diff? output text
dump72945: JPEG файл
dump9773: MPEG 1.0 layer 3 audio stream data, 128 kBit/s
dump8176: ASCII C program text
dump58764: Bourne shell script text executable
dump3223: troff or preprocessor input text

Можна дещо автоматизувати процес, використовуючи найпростіші сценарії на кшталт наступного, що додає розширення до текстовим файлампрограм мовою С:

# for i in? file * | grep? ASCII C program text? | \awk -F: ?(print $1)??;
do mv $i $i.c; done

Після визначення типу файлів спробуємо ідентифікувати кожний файл. Для тих, що містять текст, код С, звук або зображення можна відкрити відповідними програмами і спробувати вгадати початкове ім'я. Двійкові файлинаприклад, виконувані файли, бібліотеки або файли баз даних, ідентифікувати набагато важче. І якщо файли або бібліотеки, що виконуються, простіше не ідентифікувати, а просто перевстановити відсутні, то з базами даних доведеться повозитися. У цьому випадку доведеться застосувати утиліту strings, вивівши на екран усі текстові рядки ASCII, що містяться у файлі.

# strings dump44768

За висновком можна здогадатися, що даний файлє базою даних та відкрити його відповідною програмою.

Висновок

Пам'ятайте, що ніщо не замінює регулярне резервування. А застосування методів, розглянутих у статті, має бути скоріше винятком, ніж правилом. Повірте, адже трохи насолоди від спуску в прірву небуття.

Ext2/3/4FS (створені в Linux або іншій ОС), FAT12, FAT16, FAT32, NTFS, NTFS5 (створені або змінені у Windows 2000/XP/2003/Vista/7/8), exFAT, ReFS, APFS, HFS+, HFSX, HFS та UFS1, UFS2, UFS BigEndian (які використовуються в ОС FreeBSD, OpenBSD та NetBSD).

Підтримка стандартних рівнів RAID: набір томів, 0, 1, 4, 5, 6. Підтримка вкладених та нестандартних рівнів RAID: 10(1+0), 1E, 5E, 5EE, 6E. Підтримка затримки контролю парності всіх відповідних рівнів RAID. Підтримка власних схем RAID.

Автоматичне розпізнавання настройок RAID. R-Studio здатна розпізнавати всі параметри для RAID 5 і 6. Це дозволяє користувачеві вирішити одне з найважчих завдань відновлення RAID - визначення його параметрів.

Новий покращений алгоритм для відновлення файлів за їх сигнатурами: дана функціядозволяє розпізнати типові характеристики структур поширених типів файлів та відновити дані з пристроїв, на яких файлова система пошкоджена чи невідома (HDD, CD, DVD, дискет, USB дисків, ZIP дисків, пристроїв флеш-пам'яті (Compact Flash Card, memory sticks) та інших. знімних носіїв).

Відомі типи файлів. Користувач може створювати та додавати до складу R-Studio нові типи файлів будь-якого ступеня складності для їх точної ідентифікації.

Операційні системи, що підтримуються: файли можуть бути відновлені , на яких встановлені ОС Win2000, XP, Vista, Win7, Win8, Mac OS X або Linux і певні ОС платформи UNIX.

Майже все файли R-Studio(образи, інформація про сканування, журнали тощо) можуть бути збережені та завантажені через мережу.

Оптимізація процесу відновлення даних: для підвищення швидкості відновлення та зменшення кількості даних, що передаються по мережі, процес аналізу та відновлення файлів виконується на обслуговуваному комп'ютері з пошкодженими/видаленими дисками. Також відновлені файли можна зберегти на диску того ж комп'ютера.

Створення файлу-образу: за допомогою R-Studio можна створити файл-образ цілого фізичного диска, логічного дискаабо розділу. Такі образи є точними копіями об'єктів та сумісні з усіма. попередніми версіями R-Studio.

Додаткові можливостіпри створенні файлу-образу (інший формат файлу-образу): образи можуть бути розділені на кілька частин, стиснуті та захищені паролем. Вони сумісні лише з поточними версіями R-Studio та з програмою R-Drive Image.

Створювати образ і сканувати дані можна одночасно.

Модуль копіювання диска: можливе побайтне копіювання будь-якого об'єкта панелі Диски (Drives), а також копіювання розділів та жорстких дисківіз зміною їхніх параметрів.

Шістнадцятковий дисковий і файловий редактор: підтримує зберігання нерезидентного атрибута файлу NTFS. Дозволяє аналізувати дані та подавати їх відповідно до різних шаблонів даних (в т.ч. користувачами). Також відображаються файли, розташовані в конкретних секторах.

Завантажувальний пристрій R-Studio Emergency. R-Studio Emergency запускається з зовнішнього USBдиска, CD/DVD чи комплекту дискет. Це дуже корисно тоді, коли необхідно відновити дані з комп'ютера, який не завантажується через пошкодження файлової системи.

Перегляд змісту файлів: для перегляду вмісту файлу, що відновлюється, достатньо двічі клацнути по ньому мишею. Досить корисно при оцінці шансів відновлення. Ефективний вбудований файловий просмоторник, що показує картинки як плитки та перший кадри відео файлів як іконки та підтримуючий велика кількість. Тепер ці файли можна відтворювати без відповідних програм.

Моніторинг параметрів S.M.A.R.T. R-Studio може відображати параметри S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) для жорстких дисків, які показують стан їх апаратної частини та передбачають їх можливі відмови. Потрібно уникати будь-якого додаткового навантаження на такі диски, якщо з'являються попередження від системи S.M.A.R.T. Іконки жорстких дисків Drive View (панель Диски) використовуються для показу загального стану S.M.A.R.T. для дисків

Поділюсь невеликою знахідкою, маленькою програмою для відновлення видалені файли. Якийсь час тому було дуже потрібне, але програми Scalpel тоді не знайшов, на жаль. На мій погляд, з усіх відомих мені способів – це один із найпростіших. Scalpel з'явився з проекту.

І так любителям rm -rf присвячується:

По-перше, найголовніше, ніхто не гарантує, що Scalpel зможе відновити ваші файли, але шанси на це є.

Установка (оскільки на випробуваній машині стоїть Ubuntu, то розповідати буду про неї):

sudo apt-get install scalpel

Перед використанням Scalpel відредагуємо файл налаштувань:
sudo nano /etc/scalpel/scalpel.conf

У ньому потрібно вказати файли якого типу ми будемо відновлювати (за замовчуванням не один тип не обраний). Я вибрав для відновлення файли типу doc та pdf:

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

Тепер можна запускати відновлення:

scalpel /dev/sda1 -o output

-o показує директорію, куди будуть складати відновлені файли, якщо директорія з таким ім'ям вже є (і не порожня) Scalpel не запуститься.
/dev/sda1 - власне тому, що шерстимо на предмет втрачених файлів.
Список можна переглянути за допомогою команди mount:
[email protected]:~$ 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 і дивимося, що там є:

[email protected]:~/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 зберігається інформація про проведене відновлення:

[email protected]:~/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

Дивимося у вкладені каталоги і бачимо (якщо пощастить) наші файли:

[email protected]:~/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. Дуже добре думати перед вилученням.

Вдалого відновлення даних!

В.Костромін (під ред. Vanderboot)

Днями, під час невеликої ревізії вмісту свого сайту я натрапив на переклад статті "10 способів відновлення видалених файлів у linux", вихідний варіант якої датований 21 червня 2007 року. Перечитавши статтю та спробувавши пройти за наведеними в ній посиланнями, я виявив, що деякі посилання взагалі не працюють (сайти розробників у мережі зникли), а деякі зі згаданих у статті утиліт давно не оновлюються та не підтримуються.

Виникла ідея подивитися, які ж засоби відновлення випадково віддалених файлівіснують зараз. Вважаю, що інтерес до засобів такого роду за минулі роки не зник. Адже користувачі Лінукс (як, втім, і інших) операційних систем) часто потрапляють у ситуацію, коли помилково, викликаною недосвідченістю, видаляють якісь файли і відразу спохачуються, що видалили те, що хотіли. А може, і взагалі не хотіли щось видаляти.

Крім випадків помилкового видалення даних, можливі ситуації, коли виявляється зіпсований носій, з'явилися пошкоджені сектори на диску, і так далі. У таких ситуаціях теж потрібні засоби відновлення даних.

Відразу хочу попередити, що все викладене нижче мною особисто не перевірялося і ґрунтується лише на відомостях, опублікованих на сайтах розробників або у статтях з описами відповідних продуктів. Ну і, звичайно, у статті розглядаються тільки продукти, що вільно розповсюджуються. Якщо вас цікавлять платні (пропрієтарні) продукти, ви легко знайдете їх самі.

Отже, ось список утиліт для відновлення втрачених даних, які мені вдалося розшукати (дані є актуальними станом на 10 листопада 2010 року).

  1. unrm- невелика консольна утиліта, яка за певних умов може відновити майже 99% віддалених даних (схожа на утиліту undelete в DOS). Перед використанням уважно прочитайте файл FAQ і бажано Linux Ext2fs Undeletion Mini-HOWTO . Застосування:
    unrm [-b (no block padding)][-e (every block)][-f fstype][-vW] device
  2. (gET iT i sAY) – засіб відновлення файлів для файлових систем Ext2/Ext3. Після встановлення можуть бути відновлені поточні файли та нові створені файли /root і /home. Утиліта дозволяє користувачам відновити все віддалені файли, відновлювати файли, що належать зазначеному користувачеві, виводити (dump) дані з розташування файлів і відновлювати файли певного типу, наприклад, текстові або MP3. Є також аналізатор, який допомагає користувачам під час відновлення.
  3. ddrescue(В Ubuntu ця утиліта називається gddrescue) Ця утиліта копіює дані з файлу або з апаратного пристрою, що містить дані, в інше місце, роблячи при цьому спроби виправити всі наявні помилки читання. Основні операції ddrescue виконує в автоматичному режимі, заповнюючи паралельно файл протоколу. Якщо є дві або більше копій пошкоджених файлів ddrescue здатна повністю відновити файл, усунувши всі помилки.
    ddrescue встановлює розмір буфера введення/виводу рівним розміру сектора, так що її можна використовувати для відновлення відновлення даних з пристроїв.
  4. TestDisk- це потужна безкоштовна програма відновлення даних! Вона була розроблена в першу чергу як інструмент відновлення втрачених розділів та/або відновлення завантажувальної здатності дисків, якщо ця проблема викликана програмно, вірусами або помилками людини (такими, як випадкове видалення Таблиці Розділів). Відновити Таблиці Розділів TestDisk дуже легко. Але TestDisk може також відновлювати віддалені файли на файлові системах FAT, NTFS та ext2; копіювати файли з віддалених FAT, NTFS та ext2/ext3/ext4 розділів. (Дивіться статтю В.Сімон, "Testdisk - відновлення таблиці розділів диска").
  5. - консольна програма, що дозволяє шукати файли на дисках або їх образах за hex-даними, характерними заголовками та закінченнями. Програма прочісує файли щодо збігу заздалегідь визначених hex-кодів (сигнатур), відповідних найпоширенішим форматам файлів. Після чого екстрагує їх з диска/образу і складає каталог, разом з докладним звітом про те, чого, скільки і звідки було відновлено. Типи файлів, які foremost може відразу відновити: jpg, gif, png, bmp, avi, exe, mpg, wav, riff, wmv, mov, pdf, ole, doc, zip, rar, htm, cpp. Є можливість додавати свої формати (у конфігураційному файлі/etc/foremost.conf), які програма не знає.
    Статті: "Відновлення видалених файлів за допомогою foremost", "Відновлення видалених файлів в ОС Linux".
  6. R-Linuxє безкоштовною програмоюдля відновлення файлових систем Ext2/Ext3/Ext4 FS, що використовуються в Linux та деяких Unix-системах. Технологія Сканування, що використовується в R-Linux, і зручний в установці параметрів інтерфейс програми дають користувачеві абсолютний контроль над процесом відновлення даних. R-Linux дозволяє скопіювати інформацію та створити образ цілого диска або його частини, а вже потім працювати з файлом зображення, збереженим на іншому носії, як з оригінальним диском. R-Linux здійснює пошук файлів відомих типів, використовуючи типові характеристики їх структур, що дозволяє користувачеві шукати та відновити файли з пристроїв, де файлова система невідома, - HD, CD, DVD, дискет, USB дисків, ZIP дисків та пристроїв флеш-пам'яті ( Compact Flash Card, Memory Sticks). Однак, у програмі відсутня можливість відновлення даних через мережу, а також функціональність з реконструкції дискових масивів та відновлення з них даних.
  7. DMDE- DM Disk Editor та Data Recovery Software. Програма для редагування дисків та відновлення даних. В безкоштовної версіїдоступні всі функції дискового редактора, управління розділами та відновлення файлів, за винятком можливості групового відновленняфайлів та каталогів; повна версіядозволяє відновлювати групи файлів та директорії із збереженням структури каталогів.
  8. PhotoRec– це утиліта, що входить до складу пакету TestDisk. Призначена для відновлення зіпсованих файлів із карток пам'яті цифрових фотоапаратів (CompactFlash, Secure Digital, SmartMedia, Memory Stick, Microdrive, MMC), USB flash-дисків, жорстких дисків та CD/DVD. Відновлює файли більшості поширених графічних форматів, включаючи JPEG, аудіофайли, включаючи MP3, файли документів у форматах Microsoft Office, PDF та HTML, а також архіви, включаючи ZIP. Може працювати з файловими системами ext2, ext3, FAT, NTFS та HFS+, причому здатна відновити графічні файлинавіть якщо файлова система пошкоджена або відформатована.
    Може працювати під операційними системами Linux, DOS, Windows, FreeBSD, NetBSD, OpenBSD, Mac OS X та SunOS
  9. Mondo Rescue. Основне призначення цієї програми – створення резервних копій даних. Вона може створювати резервні копіїна магнітних стрічках, CD, на віддалених носіях NFS або у вигляді ISO-образів на локальних дисках. Але у разі пошкодження даних програма дозволяє відновити їх повністю або частково, навіть якщо ваш жорсткий дискнедоступний звичайними засобами.
    Mondo запускається на всіх основних дистрибутивах Linux, підтримує LVM, RAID, ext2, ext3, JFS, XFS, ReiserFS, VFAT та інші файлові системи. Може відновлювати геометрію диска, забезпечувати міграцію даних на RAID масиви, перевіряти цілісність файлової системи комп'ютера. Крім того, дозволяє проводити реструктуризацію диска, зменшувати/збільшувати розділи, перепризначати пристрої, додавати жорсткі диски.
  10. - інструмент для відновлення даних, який намагається отримати дані з доступних, але проблематичних носіїв (з пошкодженими секторами). Як джерело даних можуть виступати зовнішні пристрої(такі як CD, DVD та Blu-ray) та розділи жіночих дисків. Програма має ту перевагу, що продовжує роботу навіть тоді, коли інші засоби припиняють її через помилки введення/виводу. Звичайні засоби копіювання, такі як cat, cp або dd, не дозволяють створити образ диска або знімного носія, якщо стався збій під час читання якогось сектора.
  11. The Sleuth Kit(TSK) - набір програм (fls, icat, ffind, ifind, mmls, fsstat, etc.) щодо криміналістичного аналізу файлових систем. TSK – сукупність UNIX інструментальних засобівкомандного рядка, які можуть аналізувати файлові системи NTFS, FAT, FFS, EXT2FS, та EXT3FS. TSK читає та обробляє структури файлової системи самостійно, тому не потрібна підтримка файлової системи операційною системою.
    Статті : Відновлення захованих або втрачених даних.
  12. Scalpel- цей засіб швидкого відновленняфайлів. Унікальність даного програмного забезпечення полягає в тому, що воно не залежить від файлової системи. Програма шукає за базою даних початок та кінець файлів відомих форматів та намагається знайти їх на диску. Тому відновлення можливе як із FATx, NTFS, ext2/3, так і з "голих" (raw) розділів.
    Статті : Відновлення видалених файлів за допомогою Scalpel

Крім перелічених у деяких статтях згадуються також утиліти Magicrescueі ntfsundeleteіз пакета ntfstools.

Цей список може вам знадобитися, якщо ви потрапите в ситуацію, коли потрібно відновити дані з пошкодженого носія. І бажано освоїти хоча б деякі з цих інструментів до того, як виникне гостра необхідність їх застосування. Для цього є сенс протестувати їх на штучних прикладах видалення файлів, як це зроблено в одній із нотаток, наведених у списку джерел.

На закінчення кілька порад, можливо тривіальних, зате безумовно корисних, щодо того, як спробувати уникнути попадання в неприємну ситуацію, коли потрібно застосування перерахованих вище коштів. По-перше, можна зробити так, щоб випадково видалити файл або каталог було складніше. Для цього зробіть так, щоб замість команди rmвикликалася команда rm -i. Зробити це можна за допомогою команди або наступним чином:

Alias ​​rm="rm -i" Тоді перед виконанням видалення вам буде поставлене додаткове питання, чи дійсно ви цього хочете.

Друга порада: робіть резервні копії своїх даних якнайчастіше, кожен день або навіть кожну годину. Якщо дотримуватися цієї поради, то насправді поганому випадкуви втратите ті результати своєї роботи, які отримали протягом останньої години. Та й процедури відновлення даних у такому разі виконати буде набагато простіше. Автоматизувати виконання цих процедур можна за допомогою cron-а та утиліти rsync, організувавши періодичне копіювання важливих файлівта каталогів на інший диск або розділ. А можна використати згадану вище утиліту Mondo Rescue. До речі, ви освоїте її застосування, що може бути корисним у разі необхідності відновлення даних у надзвичайній ситуації.

І третє: перш ніж приступати до спроб відновлення віддалених файлів, зробіть копію розділу, в якому були ці файли, і працюйте з нею, а не з вихідним розділом. Якщо в процесі відновлення ви знову помилитеся, зможете розпочати все з початку. Якщо ж працювати з вихідним розділом, можна зіпсувати дані безповоротно. Зробити копію розділу можна за допомогою команди dd(про застосування цієї команди ви можете прочитати у статті А. Дмитрієва "dd: Команда, яка не схожа на інші").

Не зайве нагадати також, що існують спеціальні дистрибутиви Linux, що запускаються з CD або інших знімних носіїв і містять турботи утиліт адміністрування, у тому числі і інструменти відновлення даних. Як приклад таких дистрибутивів можна згадати SystemRescue CD та Trinity Rescue Kit.

Я вважаю, що наведений вище список через деякий час теж застаріє, як це сталося з переліком, наведеним у статті, згаданій на початку цієї статті. Зате з'являться нові засоби, можливо досконаліші. Щоб бути в курсі, іноді заглядайте на сайт "Каталог програмного забезпечення для Linux", а ще краще - допомагайте підтримувати цей каталог в актуальному стані. Тоді в будь-якій позаштатній чи штатній ситуації ви чи інший користувач Linux зможе знайти необхідні засобита інструменти для вирішення своїх проблем.

Якщо PhotoRec не принесла результатів, спробуйте інші інструменти.

Використання Scalpel

Scalpel – це програма з відкритим вихідним кодомвідновлення файлів використовуючи базу даних заголовків, колонтитулів. Може відновлювати з образів дисків або пристроїв із сирими блоками, заголовки та колонтитули встановлюються користувачем. Програма використовується як відновлення файлів, а й цифрових криміналістичних досліджень.

Установка Scalpel в Ubuntu, Linux Mint та Debian

Відкрийте термінал і скопіюйте до нього команду:

Sudo apt-get install scalpel

Після завершення встановлення scalpel, вам потрібно знайти файл scalpel.conf:

Locate scalpel.conf

Зазвичай він розміщується у /etc/scalpel/scalpel.conf або /etc/scalpel.conf. Відкрийте цей файл текстовим редактором, ви побачите, що всі рядки закоментовані (починаються з # ). Тобто. перед запуском scalpel потрібно розкоментувати формати файлів, які ви хочете відновити. Якщо розкоментувати весь файл, потрібно багато часу і з'явиться багато помилкових результатів.

Допустимо, я хочу відновити лише файли.jpg, тоді я просто розкоментую секцію jpg у конфігураційному файлі scalpel.

# GIF and JPG files (very common) gif y 5000000 5000000 400 \xff\xd8\xff\xe0\x00\x10 \xff\xd9

В командному рядкувам потрібно вказати розташування віддалених файлів, які ви намагаєтеся відновити (у даному прикладіце /dev/sda1 ):

Sudo scalpel /dev/sda1-o output

Перемикач -oвказує на директорію виводу, де хочете зберегти ваші відновлені файли. Перед запуском програми переконайтеся, що ця директорія є порожньою, інакше ви отримаєте помилку. Висновок команди:

Scalpel version 1.60 Written by Golden G. Richard III, заснований на Foremost 0.69. Opening target "/dev/sda1" Image file pass 1/2. /dev/sda1: 6.1% |***** | 6.6 GB 39:16 ETA

Як ви бачите, тепер scalpel виконує свої дії, процес відновлення віддалених файлів займає час, який залежить від об'єму диска, який ви скануєте, та від швидкості машини.

Використання extundelete

Використання foremost

Видалено файл, відкритий у програмі

Якщо ви вважаєте, що видалений файл ще відкритий в якійсь програмі (наприклад, фільм, який зараз програється медіа плеєром) і ви знаєте ім'я файлу, але спробуйте спершу цю процедуру:

Lsof|grep "шлях/до/файлу" progname 5559 user 22r REG 8,5 1282410 1294349 /path/to/file

Запам'ятовуємо номер у другому стовпці, це 5559, і номер у четвертій колонці, це 22. Тоді команда відновлення:

Cp /proc/5559/fd/22 restored.file

Якщо цей трюк не дав результату, негайно розмонтуйте файлову систему з віддаленим файлом або переведіть її в режим читання.



Сподобалась стаття? Поділіться їй