使用ext4magic.

使用ext4文件系统恢复磁盘上已删除文件的另一种替代方法是使用ext4magic。
此应用程序也很简单。

应用程序的最基本语法如下:

$ sudo ext4magic [device] -f [folder_to_scan] -r -d [output_folder]

如果我想从名为files的文件夹恢复已删除的文件,则该命令将类似于这个:

$ sudo ext4magic /dev/sdb1 -r -d files

从已删除的分区中恢复文件

通常,Linux用户经常同时安装多个系统,并且在安装过程中,它们可能会错误地删除分区。

但是,如何从这些已删除的分区中恢复文件?
为此,我们需要使用名为testdisk的工具恢复分区。

testdisk是一个强大的分区分析和数据恢复实用程序。
Debian和Ubuntu等大多数Linux发行版都配有TestDisk。

另一方面,应用程序是跨平台,支持大量分区表,例如英特尔,MSDO和MAC。
这些是最流行的分区表。

此外,它支持许多文件系统,如NTFS,EXT4和其他非流体文件系统,如BEOS和Reiserfs。

删除文件时,删除文件占用的群集列表,标记可用于使用的这些扇区。
如果群集未被覆盖,TestDisk可以恢复文件。

首先,开始应用程序:

$ testdisk

接下来,我们可以选择为日志创建新文件。
如果要创建一个,请选择"创建"选项,然后按Enter键。
如果我们不想要日志文件,请选择"无日志"选项。

接下来,将扫描系统识别的磁盘或者分区。
在这种特殊情况下,SDA是我们想要恢复的分区。

testdisk识别各种类型的分区表。
除非我们使用的是专业化的,否则通常是英特尔。

在下一个屏幕中,我们将看到程序具有的一系列选项。
对于这种特殊情况,我们需要选择"分析"选项。

使用此选项,该程序将彻底地分析磁盘以查找结构。

然后,它会询问我们要做的搜索类型。
通常,选择快速搜索选项。

如果我们很幸运,我们将看到已删除的分区。
如果没有,我们必须选择更深入的搜索。

然后,选择写入选项以编写分区表。
完成后,重新启动系统,我们将备份分区!

请注意,在这些步骤期间,可能需要很长时间。
它取决于磁盘大小。

根据文件系统的类型,此分区可能具有,将遵循特定的指令。
他们稍后会详述。

在Linux上恢复已删除的文件

从NTFS恢复已删除的文件

NTFS是Windows文件系统。

我们有一个名为ntfsundelete的工具,非常简单。

首先,我们需要扫描磁盘或者分区。
例如:

$ sudo ntfsundelete /dev/sda1

然后,我们将能够使用以下命令恢复已删除的文件:

$ sudo ntfsundelete [HD_Or_partition] -u -m [filename]

使用debugfs

也可以使用Debugfs工具恢复已删除的文件。
此工具还使用已删除文件的inode编号。
但是,它只适用于ext4文件系统。

它的操作也很简单。
首先,我们必须输入分区或者设备。

$ debugfs [device]

例如,

$ sudo debugfs /dev/sdb1

然后,经过一段时间,我们将能够登录Debugfs控制台以搜索最近删除的文件。

$ debugfs: lsdel

在第一个列中,我们将看到该设备中已删除文件的inode号码。
然后,使用以下命令还原它:

$ debugfs mi <inode_number>

在内存文件中恢复(使用inode)

如果删除另一个进程使用的文件,则可以使用inode将其从内存中还原。

必须建立一些初始条件。
首先,删除的文件必须由另一个进程保持打开。
然后,我们必须验证该过程并最终恢复并更改其权限。

在这种情况下,我将使用nano编辑器创建一个名为example.txt的文件并添加一些文本:

$ nano example.txt

然后保存更改并打开另一个终端窗口并使用该文件。
例如,具有较少的命令。

$ less example.txt

打开另一个终端会话,删除文件并确保它已删除:

$ rm example.txt
$ ls example.txt

如我们所见,文件不再存在。
但我们将能够恢复它。
为此,让我们获取与文件inode相关的进程的数量。

$ lsof | grep example.txt

我们将注意到使用该文件的进程和命令(较少的命令)。
从该图像中,我们必须注意第二和第四个值。
这些是分别的过程的PID和文件的描述符。

然后,使用以下命令恢复:

$ ls -l /proc/2325/fd/4

然后将其复制到我们想要的任何位置,这足以恢复它。

$ sudo cp /proc/2325/fd/4 .

接下来,检查结果并打开文件:

这样,我们可以恢复仍在内存上的删除文件并由inode的进程使用。

从ext4恢复已删除的文件(使用extundelete)

ext4是大多数Linux发行版的默认文件系统。
它是非常快的,技术特征是Linux内核的优势。

从ext4文件系统中恢复文件的使用工具之一是extundelete。

extundelete是一个开源应用程序,允许使用ext3或者ext4文件系统从分区或者磁盘中恢复已删除的文件。
它易于使用,默认安装在大多数Linux发行版上。

要恢复某个文件,只需使用以下命令:

$ sudo extundelete [device] -restore-file [pathfile]

例如:

$ sudo extundelete /dev/sdb1 -restore-file home/angelo/other.txt

如果要恢复文件夹中的所有文件,请使用通配符:

$ extundelete /dev/sda6 -restore-file home/angelo/*

但如果要在分区或者磁盘上还原所有文件,则下一个命令就足够了:

$ extundelete /dev/sda6 -restore-all

因此,恢复的文件将位于recovered_files目录上。
这样,我们可以使用extundelete恢复已删除的文件。

恢复覆盖文件(使用Scalpel)

Scapel是另一个开源工具,允许我们从格式化的驱动器,覆盖文件甚至损坏的驱动器中恢复文件。
它以其速度和效率而闻名。
从这个意义上讲,它是一种考虑的替代方案。

手术刀在没有文件系统的帮助下拼接文件。
它试图提取文件的页眉和页脚,并尝试使用某种精心设计的算法猜出整个文件结构。

像TestDisk一样,它在大多数Linux发行版的官方存储库中提供。
因此,其安装减少到终端和分布的包装管理器的使用。

使用Scapel最快和最简单的方法如下:

$ scalpel [device] -o [output_folder]

output_folder指定Scapel将放置所有恢复的文件的位置。
请注意,ScalPel将创建输出目录本身。

但Scapel如何知道哪些文件恢复?
嗯,它在应用程序配置文件中定义。

此配置文件通常位于以下位置:

/etc/scalpel/scalpel.conf

并且我们可以使用我们喜欢的文本编辑器打开它,并且我们只需要取消注释行以定义要搜索的文件格式。

我们取消注释的文件格式化,ScalPel将搜索它。

接下来,运行完整的scarpel命令,以及在输出文件夹中,我们将看到恢复的文件。

$ sudo scalpel /dev/sdb1 -o recovered_files1

从FAT32恢复文件

另一个常见的Windows文件系统是FAT32.
我们可以使用TESTDISK恢复FAT32的文件。

所以再次运行TestDisk作为root用户并将磁盘传递为参数:

$ sudo testdisk [partition/HD]

然后继续如上所述的步骤来恢复文件。

从SD卡恢复已删除的文件

通常,在SD卡上,常常注意到它们用于多媒体文件。
因此,建议为这些文件使用更专业的程序。

在这种情况下,我们将使用称为Photorec的应用程序,该应用程序包含在TestDisk中。

首先,将SD卡插在PC上。
接下来,运行Photorec作为root:

$ sudo photorec [device]

然后,我们将看到以下图像。
选择媒体并继续并按Enter键。

接下来,选择分区。
并选择选项,然后按Enter键。

在那里,我们将看到恢复选项:

按Q返回上一个屏幕。
有必要选择要恢复的文件类型。
这是通过选择文件opt选项来实现的。

按S键选择并取消选择所有格式。
我们还可以使用右键选择要恢复的文件类型。
要保存所选选项,请按B键。
使用Q键返回主菜单。

然后,在主菜单上,选择启动进程的搜索选项。
并选择文件系统。

然后,我们将呈现两个选项。
自由和整体。
通常,免费就足够了。
如果我们想进行深度分析,请选择整体,但请记住,它将减慢过程。

现在,有必要选择将保存文件的位置。
为此,请按C键。

选择目的地后,将开始恢复过程。
请记住,系统将崩溃和冻结。
所以请耐心。

从外部驱动器恢复已删除的文件

现在让我们想象我们有一个外部闪存驱动器,并且错误地,我们已从其中删除了一些文件。
如何恢复它们?

我们将使用testdisk命令。
此外,我们可以将闪存驱动器添加为像这样的参数:

$ sudo testdisk /dev/sdb

接下来,选择"继续"。
然后,选择分区表类型。

然后,选择要恢复文件的高级选项。

下一步是选择分区和取消删除选项。

然后,我们将在分区上看到所有已删除的文件。

现在,选择目标文件夹以放置恢复的文件。
我们需要在第一个选项上按C将文件放在当前目录上。

日期:2020-07-15 11:16:49 来源:oir作者:oir