Pull to refresh

Простой способ восстановить удаленные файлы

Reading time 3 min
Views 135K
Поделюсь небольшой находкой, маленькой программой для восстанавления удаленные файлы. Какое-то время назад было очень нужно, но программы Scalpel, тогда не нашел, к сожалению. На мой взгляд, из всех известных мне способов — это один из наиболее простых. Scalpel появился из проекта Foremost.

И так любителям rm -rf посвящается:



Во первых, самое главное, никто не гарантирует, что Scalpel сможет восстановить ваши файлы, но шансы на это есть.

Установка (так как на испытуемой машине стоит Ubuntu, то рассказывать буду про нее):
sudo apt-get install scalpel


Далее можно покурить маны (полезно):
man 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:
username@host:~$ 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 и смотрим что там есть:
username@host:~/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 хранится инофмация о проведеном восстановлении:
username@host:~/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


Смотрим во вложенные каталоги и видим (если повезет) наши файлы:
username@host:~/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. Очень хорошо думать перед удалением.

Удачного восстановления данных!
Tags:
Hubs:
+59
Comments 29
Comments Comments 29

Articles