Установите Scalpel (инструмент восстановления файловой системы) для восстановления удаленных файлов и папок в Linux
Часто случается, что мы случайно или по ошибке нажимаем «shift + delete» для доступа к файлам. По человеческой природе у вас есть привычка использовать «shift + Del» вместо использования только опции «Delete». У меня действительно был этот инцидент несколько дней назад. Я работал над проектом и сохранил свой рабочий файл в каталоге. В этом каталоге было много нежелательных файлов, и их необходимо удалить без возможности восстановления. Поэтому я начал удалять их один за другим. Удаляя эти файлы, я случайно нажал «shift delete» на одном из моих важных файлов. Файл был навсегда удален из моего каталога. Мне было интересно, как восстановить удаленные файлы, и я понятия не имел, что делать. Я почти потратил много времени на восстановление файла, но безуспешно.
Обладая некоторыми техническими знаниями, я знал, как работают файловая система и HDD. Если вы случайно удалите файл, его содержимое не будет удалено с вашего компьютера. Он просто удаляется из папки базы данных, и вы не можете увидеть файл в каталоге, но он все равно остается где-то на вашем жестком диске. По сути, в системе есть указатель списка блоков, на устройстве хранения данных еще есть данные. Данные не удаляются с блочного устройства хранения до тех пор, пока вы не перезапишете их новым файлом. На этом этапе я сообщил, что мой удаленный файл все еще может оставаться где-то в неиндексированной области Жесткого диска. Однако рекомендуется немедленно отключить устройство, как только вы поймете, что удалили какой-либо важный файл. Отключение помогает предотвратить перезапись заблокированных файлов новыми.
В этом сценарии я не хотел перезаписывать эти данные, поэтому предпочитал искать на жестком диске, не монтируя его.
Обычно в Windows имеется множество сторонних инструментов для восстановления утерянных данных, но в Linux их всего несколько. Однако в качестве операционной системы я использую Ubuntu, и очень сложно найти инструмент, который восстановит утерянный файл. Во время моего исследования я узнал о «Скальпеле» — инструменте, который просматривает весь жесткий диск и восстанавливает потерянный файл. Я установил и успешно восстановил потерянный файл с помощью инструмента Scalpel. Должен сказать, это действительно потрясающий инструмент.
Это также может случиться и с вами. Поэтому я подумал поделиться с вами своим опытом. В этой статье я покажу вам, как восстановить удаленные файлы с помощью скальпеля. Итак, поехали.
Что такое инструмент «Скальпель»?
Scalpel — это программа восстановления файловой системы с открытым исходным кодом для операционных систем Linux и Mac. Инструмент посещает хранилище блочной базы данных, идентифицирует удаленные из него файлы и мгновенно восстанавливает их. Помимо восстановления файлов, это также полезно для цифровой криминалистики.
Как установить Scalpel в Debian/Ubuntu и Linux Mint
Чтобы установить Scalpel, откройте терминал, нажав «CTrl+Alt+T» на рабочем столе, и выполните следующую команду.
sudo apt-get install scalpel
Пример вывода
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
scalpel
0 upgraded, 1 newly installed, 0 to remove and 390 not upgraded.
Need to get 0 B/33.9 kB of archives.
After this operation, 118 kB of additional disk space will be used.
Selecting previously unselected package scalpel.
(Reading database ... 151082 files and directories currently installed.)
Unpacking scalpel (from .../scalpel_1.60-1build1_i386.deb) ...
Processing triggers for man-db ...
Setting up scalpel (1.60-1build1) ...
tecmint@tecmint-Latitude-D630:~$
Установка Scalpel в RHEL/CentOS и Fedora
Чтобы установить инструмент восстановления скальпеля, вам необходимо сначала включить репозиторий epel. Как только он будет включен, вы можете нажать «ням», чтобы установить его, как показано.
yum install scalpel
Пример вывода
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.01link.hk
* epel: mirror.nus.edu.sg
* epel-source: mirror.nus.edu.sg
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package scalpel.i686 0:2.0-1.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==========================================================================================================================================================
Package Arch Version Repository Size
==========================================================================================================================================================
Installing:
scalpel i686 2.0-1.el6 epel 50 k
Transaction Summary
==========================================================================================================================================================
Install 1 Package(s)
Total download size: 50 k
Installed size: 108 k
Is this ok [y/N]: y
Downloading Packages:
scalpel-2.0-1.el6.i686.rpm | 50 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : scalpel-2.0-1.el6.i686 1/1
Verifying : scalpel-2.0-1.el6.i686 1/1
Installed:
scalpel.i686 0:2.0-1.el6
Complete!
После установки скальпеля вам необходимо заняться редактированием текста. По умолчанию утилита скальпеля имеет собственный файл конфигурации в каталоге «/etc», а полный путь – «/etc/scalpel/scalpel.conf» или «/etc». /scalpel.conf“. Вы можете заметить, что все закомментировано (#). Поэтому перед запуском скальпеля вам необходимо раскомментировать формат файла, который необходимо восстановить. Однако раскомментирование всего файла отнимает много времени и приводит к огромным ложным результатам.
Допустим, например, я хочу восстановить только файлы «.jpg», поэтому просто раскомментируйте раздел файла «.jpg» для файла конфигурации скальпеля.
GIF and JPG files (very common)
gif y 5000000 \x47\x49\x46\x38\x37\x61 \x00\x3b
gif y 5000000 \x47\x49\x46\x38\x39\x61 \x00\x3b
jpg y 200000000 \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, based on Foremost 0.69.
Opening target "/dev/sda1"
Image file pass 1/2.
/dev/sda1: 6.1% |***** | 6.6 GB 39:16 ETA
Как вы видите, скальпель сейчас выполняет свою работу, и для восстановления удаленного файла потребуется время в зависимости от дискового пространства, которое вы пытаетесь сканировать, и скорости машины.
Я бы порекомендовал вам всем иметь привычку использовать только delete вместо «Shift + Delete». Потому что, как говорится, профилактика всегда лучше лечения.