如何在另一個 LINUX 作業系統上通過 USB 掛載 LUKS 加密 Linux 文件系統解鎖分區以檢索文件
我整天都在這。我已經搜尋了網路和該板,並嘗試了許多解決此問題的方法,但似乎沒有任何效果。這裡有人問了類似的問題,但解決方案沒有幫助。
我覺得我很接近,但不知道如何跟進。拉出我的 NVME 驅動器並通過 USB 將它連接到我的 Linux Mint 機器。我可以看到驅動器,並且可以使用密碼解鎖驅動器,但無法安裝它。解鎖時不應該掛載嗎?
我究竟做錯了什麼?我該怎麼做才能安裝它?
我必須先解密主 LVM2 物理卷 (LVM2 001) 嗎?還是只關注 LUKS 分區?
下面是我嘗試過的一些資訊和行命令。謝謝你們。任何幫助是極大的讚賞。
$ sudo lsblk -f NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT sda ├─sda1 ext4 a7987e8b-cdc7-43b8-9d3f-0fe58103bd71 160.7M 70% /boot ├─sda2 └─sda5 crypto 44697cdf-8332-4595-870d-21296693002e └─sda5_crypt LVM2_m QXqf19-8D7z-W9pC-QkI2-t8Hc-CCek-XuH9TU ├─mint--vg-root │ ext4 bb06e16e-d776-4282-88d2-c91120979c02 1.6T 4% /run/times └─mint--vg-swap_1 swap 25824eea-25c6-453a-8d21-704fd2a4be90 [SWAP] sdd ├─sdd1 vfat DCEE-4749 ├─sdd2 ext4 71f85328-bae1-4179-9a6a-8cf6661730e7 342.2M 44% /media/t/7 └─sdd3 crypto 2e3b8613-e988-4aff-a4ba-0915ce305bb4 └─crypted_sdd3 LVM2_m 1UwgAt-xngX-SlvP-bl8w-0rRu-pLGt-XcBHYN
$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root mint-vg -wi------- <1.82t root mint-vg -wi-ao---- <1.82t swap_1 mint-vg -wi------- 976.00m swap_1 mint-vg -wi-ao---- 976.00m
$ sudo vgs VG #PV #LV #SN Attr VSize VFree mint-vg 1 2 0 wz--n- <1.82t 0 mint-vg 1 2 0 wz--n- <1.82t 0
我已經嘗試掛載 sdd3 很多次但沒有運氣
$ mount /dev/sdd3 mount: /dev/sdd3: can't find in /etc/fstab.
$ sudo mount /dev/mapper/recoverytarget /mnt/recoverytarget mount: /mnt/recoverytarget: special device /dev/mapper/recoverytarget does not exist.
$ sudo cryptsetup open /dev/sdd3 luksrecoverytarget --type luks Enter passphrase for /dev/sdd3: Device luksrecoverytarget already exists.
$ sudo lsblk -f /dev/sdd3 NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT sdd3 crypto 2e3b8613-e988-4aff-a4ba-0915ce305bb4 └─crypted_sdd3 LVM2_m 1UwgAt-xngX-SlvP-bl8w-0rRu-pLGt-XcBHYN
$ sudo /dev/mapper/crypted_sdd3 /mnt/2e3b8613-e988-4aff-a4ba-0915ce305bb4 ext4 defaults 0 0 sudo: /dev/mapper/crypted_sdd3: command not found
$ sudo mount -av / : ignored /boot : already mounted none : ignored
$ sudo blkid | grep crypto /dev/sda5: UUID="44697cdf-8332-4595-870d-21296693002e" TYPE="crypto_LUKS" PARTUUID="5f1dfb0d-05" /dev/sdc3: UUID="2e3b8613-e988-4aff-a4ba-0915ce305bb4" TYPE="crypto_LUKS" PARTUUID="0be31b07-df9d-43c6-a0d4-ef4e8be65bd0"
$ sudo cryptsetup luksOpen /dev/sdc3/ crypthome Device /dev/sdc3/ doesn't exist or access denied.
$ sudo vgchange -an --select vg_uuid=f0u7eE-zgoH-mDLS-x7Rs-3RGe-uoob-OFcht2 Volume group "mint-vg" successfully changed 0 logical volume(s) in volume group "mint-vg" now active
$ sudo vgexport --select vg_uuid=f0u7eE-zgoH-mDLS-x7Rs-3RGe-uoob-OFcht2 Volume group "mint-vg" successfully exported
$ sudo pvscan Error reading device /dev/mapper/luksrecoverytarget at 0 length 512. Error reading device /dev/mapper/luksrecoverytarget at 0 length 4096. PV /dev/mapper/luks-2e3b8613-e988-4aff-a4ba-0915ce305bb4 is in exported VG mint-vg [<1.82 TiB / 0 free] PV /dev/mapper/sda5_crypt VG mint-vg lvm2 [<1.82 TiB / 0 free] Total: 2 [<3.64 TiB] / in use: 2 [<3.64 TiB] / in no VG: 0 [0 ]
$ sudo vgimport --select vg_uuid=f0u7eE-zgoH-mDLS-x7Rs-3RGe-uoob-OFcht2 Volume group "mint-vg" successfully imported
$ sudo mkdir -p /mnt/--select vg_uuid=f0u7eE-zgoH-mDLS-x7Rs-3RGe-uoob-OFcht2/users
$ sudo mount /dev/--select vg_uuid=f0u7eE-zgoH-mDLS-x7Rs-3RGe-uoob-OFcht2/users mount: /home/t/vg_uuid=f0u7eE-zgoH-mDLS-x7Rs-3RGe-uoob-OFcht2/users: special device /dev/--select does not exist.
$ sudo mount /dev/mapper/luks-2e3b8613-e988-4aff-a4ba-0915ce305bb4 /mnt/recoverytarget mount: /mnt/recoverytarget: unknown filesystem type 'LVM2_member'.
$ sudo mount /dev/sdb3 /mnt/recoverytarget mount: /mnt/recoverytarget: unknown filesystem type 'crypto_LUKS'.
$ sudo vgimport --select vg_uuid=f0u7eE-zgoH-mDLS-x7Rs-3RGe-uoob-OFcht2 /dev/sdb3 Volume group "sdb3" not found Cannot process volume group sdb3
您在 LUKS 分區之上的 LVM 之上有一個文件系統。
系統可以自動熱插拔磁碟,讀取分區表,自動檢測分區表,但是因為下一層是LUKS,所以自動處理就到此為止了。
您需要按順序完成剩餘的層。
首先,
sudo cryptsetup open /dev/sdd3 luksrecoverytarget --type luks
將解鎖 LUKS 層並將其以未加密的形式呈現為/dev/mapper/luksrecoverytarget
.但在您的情況下,它不是一個直接的文件系統,而是一個 LVM 物理卷。在可以訪問文件系統之前,需要先啟動 LVM 卷組。
根據您的發行版的 udev 規則,系統可能會也可能不會在創建
/dev/mapper/luksrecoverytarget
. 可以肯定的是,您可以sudo vgscan
在解鎖 LUKS 層後執行:這樣,如果卷組的所有部分都無法訪問(例如,如果卷組已擴展到其原始位置的另一個磁碟),您也會看到錯誤消息)。之後,正常的程序將執行sudo vgchange -ay
以顯式嘗試啟動任何檢測到的 LVM 卷組。但是您似乎還有捲組命名衝突的額外複雜性:如果卷組的名稱與現有 VG 的名稱匹配,則需要更改 VG 的名稱才能啟動它。
要解除轉移磁碟上的 VG 衝突,您需要通過其 LVM VG UUID 辨識要重命名的 VG。你需要這樣的命令:
sudo vgrename f0u7eE-zgoH-mDLS-x7Rs-3RGe-uoob-OFcht2 recoverymint-vg
之後,您應該可以使用以下命令啟動 VG
sudo vgchange -ay recoverymint-vg
由於一個 LVM 卷組可能包含多個文件系統(即使它只是一個 LVM 物理卷),典型的自動掛載系統可能會認為它過於復雜而無法自動掛載。因此,下一步將執行例如
sudo lvs
驗證卷組中包含的 LVM 邏輯卷的名稱,然後掛載它。在 Linux LVM2(= 目前的非舊版本)中,只有當您計劃移動包含已知或懷疑會在目標系統上引起衝突的 VG 的 LVM 磁碟時,才真正需要
vgexport
/命令。vgimport
基本上
vgexport
在移動磁碟之前在源系統上執行會告訴目標系統“我很確定你不想要我;找到另一個同名的系統”。即使存在 VG 名稱衝突,這也使目標系統能夠成功引導。如果您通過熱插拔將磁碟添加到目標系統,LVM 足夠聰明,可以更喜歡已經啟動的 VG,而不是突然出現的潛在篡奪者,後者恰好具有相同的名稱,但 VG UUID 不同。
如果複製時 VG 處於非活動狀態,即使是具有相同 UUID 的複製 VG 也將得到正確處理:已啟動的 VG 版本將優先於非活動的額外副本,並且 LVM 命令會大聲抱怨輸出of-sync 額外副本並拒絕對複製的 VG 進行任何更改,直到通過更改其 UUID 為額外副本賦予了不同的身份。
(我不得不在一個廣泛使用基於 SAN 儲存的線上快照作為複製磁碟的第一步的系統中解決一些 LVM 卷組衝突。沒有失去生產數據,主要是因為 Linux LVM 堅決拒絕進行任何狀態更改一次檢測到衝突,直到負責混亂的人意識到他們陷入困境並開始尋求幫助。)