
我有 Ubuntu 18.04 和 Ubuntu20.04,想刪除 Ubunto18.04。不過Ubuntu20.04我刪除的時候出錯了。有沒有辦法從 Ubuntu 20.04 恢復檔案?
答案1
有可能,但有註意事項。如果是 WSL2,那麼可能不會(但你可以嘗試)。如果是 WSL1,那麼您也許能夠恢復一些單獨的檔案。
首先,WSL 實例中是否存在難以重新建立的數據,或者您只是擔心重建鏡像所浪費的時間?我現在可以告訴您,文件恢復將非常耗時,因此,如果您沒有丟失的重要文件,只需計劃安裝新的 Ubuntu WSL 實例並重新配置它。
如果您確實需要嘗試恢復關鍵數據,請立即關閉 Windows 並在手機或平板電腦上閱讀本文的其餘部分。
重要的是要理解,刪除 WSL 實例是對所涉及文件的「真正」刪除——沒有任何內容進入回收站(我已經測試過以確保)。
如果您使用的是 WSL1,則檔案系統直接儲存在 NTFS 磁碟機上,並且可能可以還原某些檔案。據我了解,這在磁碟上效果更好,但一些實用程式聲稱也能夠處理固態硬碟。讓我們這樣說吧——我只需要在磁力驅動器上嘗試。
無論如何,您不太可能恢復整個圖像——這裡的目標只是恢復您可能儲存在那裡(例如在$HOME
)中的任何難以重新建立的檔案。
您需要一個專門用於恢復已刪除檔案的實用程式。找到一個建議在這個答案中,但我沒有這方面的經驗。您也可以在其他內容中找到一些建議超級使用者執行緒。
您應該考慮創建一個單獨的可啟動 USB(從單獨的電腦)。 Windows 在使用時會不斷寫入驅動器,任何檔案寫入都可能位於儲存已刪除資料的位置。
如果可能的話(自從我這樣做以來已經有一段時間了),您將需要查找從C:\Users\youruser\AppData\Local\Packages\Canonical...\LocalState\
.同樣,對於 WSL1,每個單獨的檔案都將顯示在檔案系統中。
對於 WSL2,它只是一個名為 的虛擬磁碟ext4.vhdx
。如果您可以取消刪除它,那麼它可能仍然有損壞。如果你非常幸運並且可以毫無錯誤地恢復它(並且在你嘗試之前你不會知道),那麼你可以簡單地使用它:
- 從 Microsoft Store 重新安裝 Ubuntu 20.04
- 將復原的
ext4.vhdx
檔案複製回新建立的檔案上。
但更有可能的是檔案會受到某種程度的損壞。如果是這樣的話,那麼你可能仍然可以透過修復 vhdx 來恢復檔案。可悲的是(或沒有!),這根本超出了我的經驗。從快速搜尋來看,大多數選項似乎都需要購買軟體許可證,即使這樣,它們在我看來也很可疑(例如,聲稱自己是「微軟」產品,但實際上它們顯然不是)。修復映像後,它可能仍然無法作為 WSL 磁碟啟動,在這種情況下,您需要:
- 安裝 Hyper-V(Windows Pro 或更高版本附帶),建立 Linux VM,然後將修復的虛擬機器掛載
vhdx
到此處,以查看可以還原哪些檔案。 - 安裝 Windows 10 或 Windows 11 Preview,它具有更新的 WSL,能夠掛載 vhdx 檔案(以我的理解)。