Encryption

如何掛載和解密 LUKS 加密分區以恢復文件

  • November 26, 2021

我正在嘗試從現在損壞的 Antergos 安裝中恢復我的文件,並且遇到了麻煩,因為使用者/非引導分區使用 LUKS 加密進行了加密。

我正在從 Ubuntu 18.04 可啟動 USB 驅動器啟動,這樣我就可以備份我想要的數據所在的目錄,直到我去查看文件資源管理器中的分區時才意識到它是加密的,但它沒有出現。有人向我建議它可能沒有安裝,在查看 GParted 之後很明顯這是問題所在,而且它似乎沒有安裝,因為它是加密的(在重新安裝或切換發行版之前備份的先前經驗從未涉及我正在從未安裝的文件中恢復文件的分區有任何問題)。

作為一些附加資訊:

  1. 我有啟動並到達迎賓員所需的密碼。我假設那是我的加密密鑰,但我可能弄錯了,我在這裡不太了解。
  2. 有問題的分區/卷是 sda3(不確定哪個是正確的術語),除了被加密之外,它還使用 LVM。我不確定這會如何影響事情,但我從我一直在嘗試解決這個問題的閱讀中得到的印像似乎表明它很重要 GParted 關於 sda3 的詳細資訊截圖
  3. 我最初嘗試通過命令行掛載分區,嘗試了兩種不同的方法,但都返回了不同的錯誤。不幸的是,我讓我的電腦當機了,因為我在再次嘗試之前離開了我的電腦一段時間,並且我找不到我正在引用和嘗試跟隨的任何頁面,或者我嘗試過的命令,或者我得到的錯誤. 我可以提供的錯誤是,當我嘗試按照本指南操作時,命令:“ cryptsetup luksOpen /dev/sda3/ recoverytarget”返回:“ Device /dev/sda3/ doesn't exist or access denied.”我假設我需要先掛載分區才能解密它,但我可能又弄錯了 我跟隨的指南和我跟隨的終端

自從我在任何一台 Linux 機器上工作以來已經有一段時間了,而且我不是世界上最有技術能力或 linux 經驗豐富的人,所以請原諒我很痛苦地明白我不明白的任何情況

**編輯/更新:**我得到的錯誤是因為我沒有在前面執行帶有 sudo 的命令,所以現在我正式覺得很愚蠢,但我現在遇到了一個不同的問題,“ sudo mkdir /mnt/recoverytarget && mount /dev/mapper/recoverytarget /mnt/recoverytarget”返回:“ mount: only root can do that

要恢復您的文件,您首先需要打開您的 LUKS 容器。這將使您的 LVM 邏輯卷可訪問。然後,您可以掛載適當的邏輯卷以訪問文件。我假設一旦您可以訪問這些文件,您就會知道該怎麼做。

打開 LUKS 容器

要打開 LUKS 容器,請執行:sudo cryptsetup open /dev/sda3 luksrecoverytarget --type luks

假設您輸入了一個有效的密碼,您現在將擁有塊設備/dev/mapper/luksrecoverytarget;它實際上是一個符號連結,但您可以忽略該細節。該塊設備包含您的 LVM 卷組。接下來,您需要確定要掛載的邏輯卷。

找到正確的邏輯卷

打開 LUKS 容器後,您的作業系統應該已經掃描了 LVM 邏輯卷。如果沒有,您可以執行sudo vgscan以使事情同步。要獲取邏輯卷列表,請執行sudo lvdisplay. 您將看到一個或多個邏輯卷的列表。希望您能夠通過查看LV Path來判斷您想要恢復哪一個。

掛載邏輯卷

一旦您知道要掛載的邏輯卷執行:

sudo mkdir /mnt/recoverytarget
sudo mount LV_PATH_GOES_HERE /mnt/recoverytarget

現在您可以隨心所欲地處理這些文件。

清理

完成後,您應該解除安裝文件系統並關閉 LUKS 容器:

sudo umount /mnt/recoverytarget
sudo cryptsetup close luksrecoverytarget

引用自:https://unix.stackexchange.com/questions/445652