如何在磁碟映像內的加密 lvm 內掛載分區?
在我以前的電腦上,我在加密的 lvm 內有我的 //home 和 swap,而在 lvm 之外我有 /boot 和 /boot/efi。然後我創建了一個圖像。我想我確實喜歡這樣:
dd if=/dev/sda of=lvm.img bs=4M
但我不記得了。如果我可以先解密圖像,我可以在 .bash_history 中檢查它…我一直在嘗試遵循本指南:https ://gist.github.com/talaj/721d50791e95ea585316ea0571822fa7
首先我檢查了文件:
# file lvm.img lvm.img: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS (0x3ff,254,63), startsector 1, 250069679 sectors, extended partition table (last) # fdisk -lu lvm.img Disk lvm.img: 119.2 GiB, 128035676160 bytes, 250069680 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 9FEF2EAF-1AE7-47B1-A446-7B3EBCB24A54 Device Start End Sectors Size Type lvm.img1 2048 3907583 3905536 1.9G EFI System lvm.img2 3907584 7813119 3905536 1.9G Linux filesystem lvm.img3 7813120 250068991 242255872 115.5G Linux LVM
所以它看起來肯定包含它應該包含的內容。我應該如何查看裡面的分區
lvm.img3
並掛載它們?我從這個開始:
# kpartx -av lvm.img add map loop0p1 (253:3): 0 3905536 linear 7:0 2048 add map loop0p2 (253:4): 0 3905536 linear 7:0 3907584 add map loop0p3 (253:5): 0 242255872 linear 7:0 7813120
繼續這個:
# cryptsetup luksOpen /dev/mapper/loop0p3 mylvm
嗯?我不需要輸入密碼?任何。繼續引導。
# vgscan Reading volume groups from cache. Found volume group "fedora" using metadata type lvm2 Found volume group "fedora_desktop-ld77fgg" using metadata type lvm2 # vgchange -a y fedora_desktop--ld77fgg Volume group "fedora_desktop--ld77fgg" not found Cannot process volume group fedora_desktop--ld77fgg
現在我被困住了……
我正在使用 Fedora,但如果這很重要,我可以切換到另一個發行版。
編輯:
正如電信公司在回答中指出的那樣,我犯了一個非常愚蠢的錯誤,我不明白怎麼做。儘管如此,我仍然有問題。我通過將雙破折號更改為單破折號更正了我的最後一個命令:
# vgchange -a y fedora_desktop-ld77fgg 4 logical volume(s) in volume group "fedora_desktop-ld77fgg" now active
進而
# mount /dev/fedora_desktop-ld77fgg/03 /tmp/hej mount: /tmp/hej: unknown filesystem type 'crypto_LUKS'.
Found volume group "fedora_desktop-ld77fgg" using metadata type lvm2 # vgchange -a y fedora_desktop--ld77fgg
當
vgscan
命令告訴您 VG 的名稱時,您可以在命令中按原樣使用它vgchange
- 您不必加倍破折號。邏輯捲管理器 (LVM) 的小總結:
- 為了使用 LVM,您可以將分區或整個磁碟初始化為 LVM 物理卷 (PV)…
- …並且您使用一個或多個 PV 創建一個卷組 (VG),它基本上被視為一堆統一的原始儲存空間,然後您可以自由地將其分割成…
- ..一個或多個 LVM 邏輯卷 (LV)。單個 LV 可以跨越多個 PV:即使它由許多不相交的部分組成,放置在其上的文件系統也會將其視為單個邏輯上連續的儲存單元。並且 LV 可以在 VG 內從一個地方遷移到另一個地方,同時 LV 已安裝並正在使用中。
您只需要使用路徑名來執行此操作:由於格式為
/dev/mapper/<VG name>-<LV name>
,因此路徑名中任何未修改的單個破折號都會使其不明確:任何處理該名稱的程序都不會知道哪個破折號是名稱的一部分以及哪個破折號將 the<VG name>
和<LV name>
彼此的部分。看起來您認為容器的順序是:
disk -> partition -> LUKS wrapper -> PV -> LV -> filesystem
但是在嘗試執行時不需要指定密碼片語
cryptsetup luksOpen
和嘗試掛載時的錯誤消息/dev/fedora_desktop-ld77fgg/03
表明事情的實際順序是:disk -> partition -> PV -> LV -> LUKS wrapper -> filesystem
要確認這一點,請查看您是否
cryptsetup luksOpen /dev/mapper/loop0p3 mylvm
實際創建了/dev/mapper/mylvm
設備。我懷疑它可能根本沒有做任何事情。相反,您現在應該這樣做:
# cryptsetup luksOpen /dev/fedora_desktop-ld77fgg/03 myfs <answer the passphrase prompt> # mount /dev/mapper/myfs /tmp/hej