我就親身經歷過上述體驗,由於這是我在紐約州北部最近的一次家庭團聚中發生的狀況。當時,我試圖在我母親的筆記本電腦上安裝Ubuntu 16.04和Windows 7雙系統。我事先根本沒有進行細緻地分析(簡直有點難於啓齒),結果在備份母親的數據時失敗了。此前,我根本沒有從新劃分她的硬盤上Windows分區的大小。直到我試圖從新啓動機器切換回到Windows 7時,我才意識到我作了什麼。
當時,我感到輕微的恐慌並安慰母親說我保證能夠解決這個問題。最終,我找到了一款真正可以幫我忙的程序———TestDisk。事實上,TestDisk這個工具已經出現一段時間了,甚至在2011年PCWorld網站上就有介紹。這個工具的工做原理很吸引人,只是沒有提供漂亮的GUI界面幫助。事實證實,它出如今Ubuntu 16.04發行時一同部署的官方Ubuntu文件庫中。(在Arch Linux Extra文件庫也提供了這個工具。)linux
使用TestDisk工具
TestDisk的網站聲稱,該程序被設計爲「幫助恢復丟失的分區和/或使沒法再引導的磁盤可啓動;前提是,這些症狀是由故障軟件致使的:例如某些類型的病毒或人爲錯誤(例如意外刪除分區表),等等。」有關存儲驅動器須要理解的一點是,當您刪除文件或分區表時,數據仍存在於磁盤上。實際上,刪除操做只是刪除了指向數據的指針,從而容許操做系統在這些塊上進行寫操做而已。(固然,您也能夠刪除這些數據自己,但一般這須要使用相似於shred這樣的工具進行專門刪除。)
您可使用TestDisk做爲Windows或Linux分區的救援工具,可是您須要一個Ubuntu在線USB驅動器,以便您能夠引導到PC上的一個單獨環境中,而後檢索丟失的文件。在Ubuntu運行環境下,您可使用命令sudo apt-get install testdisk來安裝TestDisk。此外,您還須要使用管理員權限來運行它:sudo testdisk。網站
簡單易用TestDisk操作系統
在第一次運行時,TestDisk將詢問您是否要啓動新的日誌文件。(你可能會作。)此後,程序便會自動尋找已安裝的任何驅動器以使用該日誌文件。若是沒有找到驅動器,則須要將塊設備指定爲TestDisk的參數,例如:sudo testdisk / dev / sda。若是您不肯定要恢復的驅動器位於何處,請使用命令lsblk來獲取更多信息。
一旦您看到驅動器,TestDisk將嘗試自動檢測分區,包括已刪除的分區。 TestDisk還會自動查找文件條目,雖然損壞或刪除的分區須要進行更深刻的掃描。深刻的掃描將須要一些時間,由於TestDisk將逐塊讀取整個分區。一旦掃描完成,且你看到了全部的文件,那麼你就能夠把文件複製到備份媒體。設計
最後,值得特別注意的是,TestDisk只處理驅動器數據中的軟件故障,而不會在驅動器發生物理故障的狀況下幫助您。和往常同樣,你真正應該對你的數據保持良好的備份。緣由再簡單不過:有了完整的和最新的備份,若是驅動器出了什麼問題,那麼你就能夠自由地清除整個驅動器上的數據了。指針
免費提供最新Linux技術教程書籍,爲開源技術愛好者努力作得更多更好:http://www.linuxprobe.com/日誌