如何在 Linux 中恢復已刪除的檔案?
毫無疑問,丟失重要檔案或意外刪除檔案的想法確實令人惱火,我們幾乎所有人都遇到過這種情況,特別是如果檔案非常重要,無論是工作檔案、個人照片還是您無法缺少並希望恢復的影片。
如果您遇到此問題,請不要擔心。有很多解決方案和程式專門用於恢復檔案,特別是如果您使用的是著名的 Linux 發行版。還有許多多樣且免費的程式專用於所有著名的發行版。
Linux 資料和已刪除檔案恢復程式
這些程式在您錯誤刪除或格式化並從 SSD 硬碟儲存裝置以及其他攜帶儲存記憶體的電子裝置(如 DVD 光碟、USB 快閃記憶體和其它光碟或裝置)中刪除檔案時,可以恢復丟失、已刪除和損壞的檔案。
在本教程中,我們將解釋其中一個最佳工具,稱為 **TestDisk**,以及另一個稱為 **Extundelete** 的工具。
TestDisk
TestDisk 被認為是恢復已刪除的照片、影片、檔案和損壞資料的最佳程式之一。它是一個開源工具,可以恢復所有檔案,無論其型別和大小。它在從硬碟和 USB 恢復資料方面也非常出色。它在 Linux 發行版上也能出色地工作,並且也用於數字取證調查。
在 Linux 中安裝 TestDisk
由於 TestDisk 未隨 Linux 發行版一起安裝,因此您首先需要使用以下命令在 Ubuntu 上安裝它:
apt install testdisk
對於 **Fedora**:
sudo dnf install testdisk
首次執行 TestDisk 時,您應該會看到如下螢幕:

您將透過按 Enter 建立一個新的日誌檔案。如果您沒有使用 sudo 執行 TestDisk,這將彈出一個螢幕,要求您輸入密碼。

之後,您應該會看到如下螢幕:

在此,選擇分割槽並點選 **Proceed**。確保 “Proceed” 選項突出顯示,如影像所示。
接下來,您將看到如下螢幕:

此螢幕要求您選擇分割槽型別。在本例中,將是 **Intel**,因此按 Enter。
下一個螢幕將如下所示:

在此,如果您有損壞的磁碟,則應繼續使用 **Analyze** 選項修復它。但是,如果您只需要恢復過程,請選擇 **Advanced** 選項,您將看到如下螢幕:

選擇 **Image Creation** 選項並按 Enter。
之後,它將為您提供一個螢幕,選擇將恢復的資料儲存到哪裡,如下所示:

使用箭頭鍵設定位置,並在正確的位置時點選 **C**。
之後,恢復過程應該開始,您將看到如下螢幕:

最後,恢復完成後,在您儲存資料的位置執行此命令:
testdisk image.dd
這將向您顯示所有恢復的資料。
Extundelete 工具
當您在終端上工作時,此命令工具很有用,並且錯誤地忘記並使用命令 **rm** 刪除了一個檔案。如果是這種情況,Extundelete 工具可以將其恢復到其原始位置。
與 **Testdisk** 相比,我更喜歡使用 **Extundelete**,因為它速度快、簡單,並且具有與 test disk 幾乎相同的功能(但並非全部)。
就像 **Testdisk** 一樣,**Extundelete** 工具預設情況下未安裝,您需要先安裝它。
對於 **Ubuntu / Mint**:
sudo apt install extundelete
對於 **Fedora**:
sudo dnf install extundelete
當您在 Linux 中刪除某些內容時,特別是如果它是一個大檔案,第一步是解除安裝分割槽。這可以防止將更多資料寫入檔案所在的位置(這可能會覆蓋已刪除的資料)。
要解除安裝分割槽,請使用以下命令:
sudo umount /dev/sda2
在此示例中,已刪除的檔案位於 ** /dev/sda2** 上。
要識別系統上的分割槽,請使用命令 **lsblk**。例如,在我的系統上,它看起來像這樣:

解除安裝後,工具的使用非常簡單。
讓我們舉一個我刪除了位於 **home** 資料夾中的名為 test 的檔案的例子。
要使用 **extundelete** 恢復特定檔案,請使用以下命令:
extundelete /dev/sda1 --restore-file /path/to/deleted/file
我們使用選項 ** /dev/sda2** 指定檔案所在的分割槽,然後使用 **--restore-file** 指示我們要恢復檔案,然後是我們要恢復的檔案的路徑。例如:
sudo extundelete /dev/sda2 --restore-file ~/test
這將恢復檔案 **test**,該檔案位於分割槽 ** /dev/sda2** 上。
結論
在本教程中,我們解釋瞭如何使用 TestDisk 和 Extundelete 從硬碟恢復已刪除的資料。
我們首先從 TestDisk 開始,它是一個眾所周知且功能強大的工具,具有許多功能。但是,在本文中,我們僅解釋瞭如何使用它從特定磁碟恢復資料。最後,我們提供了一個如何使用 Extundelete 恢復檔案的示例。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP