在 Linux 上恢復已刪除文件的 7 種方法
文件恢復實用程序是 Linux 管理員工具包中最重要的程序之一。它們提供恢復已刪除文件的能力,即使在磁盤物理損壞或擦除乾淨的情況下也是如此。
本指南展示了七個簡單的文件恢復工具,您現在可以在 Linux 上安裝它們。我們還向您展示瞭如何在您的系統上進行基本的文件恢復。
使用文件管理器恢復文件
刪除文件時,只會刪除文件與其基礎數據之間的鏈接。物理文件本身仍然完好無損。它只告訴操作系統該空間現在可以被覆蓋。
此外,當今的大多數桌面環境都阻止您直接刪除磁盤上的文件。他們會將刪除的文件移動到垃圾文件夾(或 Windows 中的回收站),然後可以輕鬆恢復。
您可以通過訪問桌面的回收站文件夾來恢復 Linux 中的文件。
- 按Win,然後鍵入“文件”。
- 單擊文件管理器左側欄上的“垃圾箱”條目。
- 右鍵單擊要還原的文件,然後選擇“從廢紙簍還原”。
1.測試盤
Testdisk是 Linux 中最流行的文件恢復工具之一。它是一個功能強大的終端程序,可以從幾乎任何磁盤恢復丟失的分區。它的工作原理是在查找任何分區表數據時遍歷磁盤中的每個柱面。
這意味著即使您已將文件系統擦除乾淨,Testdisk 也可以恢復文件系統。如果您不小心格式化了磁盤並刪除了其內部分區表,這也很有用。
- 通過運行以下命令在 Ubuntu 和 Debian 中安裝 Testdisk:
sudo apt install testdisk
- 在您機器的終端窗口中輸入
sudo testdisk
以運行該程序。
- 選擇“創建”以告訴 Testdisk 您要存儲當前會話的日誌。
- 選擇要恢復的磁盤。在我的例子中,它是“/dev/sda”。
- 選擇磁盤的分區表類型。
- 選擇“分析”以掃描您的磁盤以查找與其當前分區佈局不一致的地方。
- 選擇“快速搜索”選項以啟動分區檢索過程。
- 按下Enter以接受 Testdisk 的默認值。
- 選擇“寫入”以保存新的分區佈局。
優點
- 恢復整個磁盤分區
- 使用無法啟動的操作系統修復磁盤
缺點
- 無法恢復單個文件
- 恢復分區並不能保證其內容會在那裡
2.照片記錄
Photorec是一個簡單的工具,可以在 Linux 中通過數據雕刻恢復文件。這是一個程序讀取磁盤原始字節以查找已刪除文件內容的過程。
Photorec 的最大優點之一是它通常與 Testdisk 包捆綁在一起。您無需安裝任何其他實用程序和依賴項即可開始恢復文件。
- 通過運行 Photorec 開始恢復數據:
sudo photorec
- 突出顯示包含要還原的文件的磁盤,然後選擇“繼續”。
- 選擇“[Whole disk]”選項,然後按Enter。
- 選擇最初保存已刪除文件的文件系統。
- 為 Photorec 提供一個“恢復目錄”。要選擇一個,請使用箭頭鍵進入目標目錄,然後按C。
優點
- 恢復算法很快
- 處理各種文件系統格式
缺點
- 恢復可能會對固態驅動器造成不利影響
- 需要一個單獨的文件系統來存儲文件
3.手術刀
Scalpel是一個快速高效的程序,它使用正則表達式來恢復 Linux 磁盤中任何丟失的文件。與 Photorec 類似,Scalpel 會遍歷您的磁盤並查找任何可以指示現有數據存在的字節模式。
Scalpel 的一個優點是您可以使用正則表達式來微調程序將恢復的內容,因此與類似程序相比,它只需要一小部分時間。
- 通過運行以下命令在 Ubuntu 和 Debian 中安裝 Scalpel:
sudo apt install scalpel
- 將 Scalpel 的默認配置文件複製到您的主目錄:
cp /etc/scalpel/scalpel.conf /home/$USER/
- 通過文本編輯器打開 scalpel.conf 文件:
nano /home/$USER/scalpel.conf
- 取消註釋包含您要恢復的文件擴展名的行。
- 使用以下命令運行 Scalpel:
sudo scalpel -c /home/$USER/scalpel.conf -o /home/$USER/out /dev/sdb1
優點
- 在設備文件和磁盤映像上運行
- 允許您過濾要恢復的文件類型
缺點
- 配置文件可能令人困惑
- 在檢測文件類型時可能不可靠
僅供參考: Scalpel 最初是作為流行的 Foremost 實用程序的一個分支開始的。了解如何使用原始的 Foremost 程序在 Linux 中恢復文件。
4. 救援
ddrescue是一個功能強大的數據恢復實用程序,它使用巧妙的算法來保存整個磁盤設備的內容。與數據切割器不同,ddrescue 的主要目標是盡可能準確地恢復和保存數據。
按照設計,ddrescue 不會使用這種方法從磁盤文件中提取文件。相反,它會創建磁盤當前狀態的“快照”,這在您從間歇性故障硬盤驅動器中提取數據時很有用。
- 您可以通過運行以下命令在 Ubuntu 和 Debian 中安裝 ddrescue:
sudo apt install gddrescue
- 開始保存磁盤內容。例如,以下命令將從“/dev/sdb”磁盤設備創建一個映像文件:
sudo ddrescue /dev/sdb /home/$USER/sdb.img /home/$USER/sdb.map
- 使用標誌驗證快照的完整性
-I
:
sudo ddrescue -I /dev/sdb /home/$USER/sdb.img /home/$USER/sdb.map
優點
- 創建磁盤的準確副本
- 跳過硬盤驅動器上的壞扇區
缺點
- 不會直接恢復丟失的文件
- 在大硬盤上可能會很慢
5.肥貓
Fatcat是一個輕量級程序,可以在 Linux 中恢復 FAT 類型文件系統中的文件。這包括舊的 FAT12 格式到更新的 FAT32。Fatcat 是從舊硬盤恢復數據的好工具。
Fatcat 的最佳功能之一是它可以成為 FAT 類型磁盤的便攜式文件資源管理器。您無需提取圖像文件即可訪問和恢復其內容。
- 通過運行以下命令在 Ubuntu 和 Debian 中安裝 Fatcat:
sudo apt install fatcat
- 使用 ddrescue 創建 FAT 分區的映像文件:
sudo ddrescue /dev/sdb1 /home/$USER/fat.img /home/$USER/fat.map
- 通過列出其根目錄來驗證 FAT 映像的內容:
sudo fatcat /home/$USER/fat.img -l / -d
- 將 FAT 分區的內容轉儲到您自己的文件系統中:
sudo fatcat /home/$USER/fat.img -x /home/$USER/output -d
優點
- 動態加載 FAT 分區的內容
- 修復損壞的 FAT 文件系統
缺點
- 不支持 exFAT
- 恢復單個目錄可能很棘手
6.Ntfsundelete
Ntfsundelete是一個實用程序,可以在 Linux 上修復和恢復 NTFS 文件系統中的文件。與 Fatcat 類似,Ntfsundelete 可以恢復單個文件以及整個目錄和磁盤。
默認情況下,Ntfsundelete 在大多數 Linux 發行版上都有,因為它包含在ntfs-3g
充當 Linux 上 NTFS 兼容層的包中。
- 使用 ddrescue 創建 NTFS 分區的映像文件:
sudo ddrescue /dev/sdb1 /home/$USER/ntfs.img /home/$USER/ntfs.map
- 通過列出其內容來測試圖像文件的一致性:
sudo ntfsundelete /home/$USER/ntfs.img
- 從磁盤映像恢復數據。例如,以下命令將從磁盤映像恢復所有 ZIP 文件:
sudo ntfsundelete /home/$USER/ntfs.img -u -m '*.zip*' -d /home/$USER/output
優點
- 大多數 Linux 發行版的核心部分
- 恢復單個文件
缺點
- 設備文件不可靠
- 恢復的文件名可能與原始文件名不同
7. Ext4magic
除了恢復 FAT 和 NTFS 分區內的文件外,還可以從 Linux 的 Ext 文件系統恢復文件。Ext4magic是一個功能強大的程序,可以從 Ext3 或 Ext4 文件系統中恢復幾乎所有文件。
Ext4magic 的賣點之一是它可以使用日期範圍恢復文件。這在您不記得原始文件的確切文件名和類型的情況下很有用。
- 通過運行以下命令在 Ubuntu 和 Debian 中安裝 Ext4magic:
sudo apt install ext4magic
- 使用 ddrescue 創建磁盤的分區映像:
sudo ddrescue /dev/sdb1 /home/$USER/ext.img /home/$USER/ext.map
- 使用 ext4magic 恢復已刪除的文件。例如,以下命令將恢復我的 Ext4 磁盤中的所有文件:
sudo ext4magic -M /home/$USER/ext.img
優點
- 使用日誌文件來幫助恢復文件
- 掃描文件系統以查找問題
缺點
- 日期範圍選項使用 UNIX 紀元格式
- 較舊的已刪除文件可能不可靠
經常問的問題
如果掃描後 Photorec 仍然無法找到我的文件,我該怎麼辦?
在某些情況下,Photorec 的第一次恢復過程可能會遺漏一些重要的字節數據。要解決此問題,請在第一次通過後選擇“深度搜索”選項,告訴 Photorec 進行重新掃描。
在 Scalpel 中啟用所有文件擴展名過濾器是否可以?
是的。但是,它會降低 Scalpel 的有效性,因為“scalpel.conf”中的某些文件格式條目會產生許多誤報。最好只啟用特定掃描所需的選項。
為什麼我不能用 Fatcat 打開我的 FAT 映像文件?
這很可能是因為圖像文件與 Fatcat 期望的格式不匹配。要修復此問題,請在包含 FAT 文件系統的分區而不是整個磁盤上運行 ddrescue。
圖片來源:Unsplash。Ramces Red 的所有更改和屏幕截圖。
- 鳴叫
發佈留言