网站搜索

安装 Scalpel(文件系统恢复工具)以恢复 Linux 中已删除的文件/文件夹


很多时候,我们会不小心或错误地按“shift +删除”键来删除文件。就人性而言,您习惯使用“shift + Del”而不是仅使用“Delete”选项。事实上,我几天前就经历过这件事。我正在开发一个项目并将我的工作文件保存在一个目录中。该目录中有许多不需要的文件,需要永久删除。于是我开始一一删除。在删除这些文件时,我不小心按了“shift delete”键来删除我的重要文件之一。该文件已从我的目录中永久删除。我想知道如何恢复已删除的文件,但不知道该怎么做。我几乎花了很多时间恢复文件但没有运气。

了解了一些技术知识后,我了解了文件系统和 HDD 的工作原理。当您意外删除文件时,该文件的内容不会从您的计算机中删除。它刚刚从数据库文件夹中删除,您无法在目录中看到该文件,但它仍然保留在硬盘驱动器中的某个位置。基本上,系统有一个列表指针,指向存储设备上仍然有数据的块。除非并且直到您用新文件覆盖,否则不会从块存储设备中删除数据。在这一点上,我发布了我删除的文件可能仍然保留在硬盘的未索引区域中的某个位置。但是,建议您在意识到删除了任何重要文件后立即卸载设备。卸载可以帮助您防止被阻止的文件被新文件覆盖。

在这种情况下,我不想覆盖该数据,因此我更喜欢在硬盘驱动器中搜索而不安装它。

通常在Windows中,我们有大量的第三方工具来恢复丢失的数据,但在Linux中只有很少。然而,我使用Ubuntu作为操作系统,很难找到恢复丢失文件的工具。在我的研究过程中,我了解了“Scalpel”这个工具,它可以运行整个硬盘驱动器并恢复丢失的文件。我在 Scalpel 工具的帮助下安装并成功恢复了丢失的文件。我必须说,这真是一个了不起的工具。

这也可能发生在你身上。所以我想和大家分享一下我的经验。在本文中,我将向您展示如何借助手术刀工具恢复已删除的文件。那么我们开始吧。

什么是手术刀工具?

Scalpel 是一款适用于 LinuxMac 操作系统的开源文件系统恢复工具。该工具访问块数据库存储并从中识别已删除的文件并立即恢复它们。除了文件恢复之外,它对于数字取证调查也很有用。

如何在 Debian/Ubuntu 和 Linux Mint 中安装 Scalpel

要安装 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:~$

在 RHEL/CentOS 和 Fedora 中安装 Scalpel

要安装手术刀恢复工具,您需要首先启用 epel 存储库。启用后,您可以执行“yum”来安装它,如图所示。

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

如您所见,手术刀现在正在执行其过程,恢复已删除的文件将需要一些时间,具体取决于您尝试扫描的磁盘空间和机器的速度。

我建议大家养成只使用删除的习惯,而不是“Shift + Delete”。因为正如所说,预防总是胜于治疗。