加密磁碟文件系統兼容性
在安裝過程中,在我的 Debian Linux 系統上,我決定使用磁碟加密(在正常 Debian 安裝期間提供的加密)。當系統啟動時,我需要輸入密碼,然後“真正的”啟動開始。
有人可以解釋這種加密是如何執行的嗎?它發生在文件系統佈局之前還是之後?我可以將任何可用於 Linux 的文件系統與磁碟加密一起使用嗎?
/etc/mtab/比我在 Linux 上使用的更複雜,我認為它與磁碟加密有關,但我真的不確定。這是(我認為是)我/etc/mtab中的相關位:
/dev/sda1 /boot ext2 rw,relatime,errors=continue 0 /dev/mapper/archon-root / ext4 rw,noatime,errors=remount-ro,user_xattr,commit=300,barrier=1,data=ordered 0 0 rootfs / rootfs rw 0 0
我真的不明白為什麼 /boot 是 ext2 以及為什麼 / 是 ext-4 並使用*/dev/mapper*。
/boot 本身可以使用 ext4 嗎?
可以/正在使用 ZFS 並且仍然提供加密嗎?
/boot
未加密(BIOS 將無法解密它……)。它可能是 ext4,但實際上沒有任何必要。它通常不會被寫入。BIOS 從 MBR 讀取 GRUB,然後 GRUB 從 /boot 讀取其餘部分、核心和 initramfs。initramfs 會提示您輸入密碼。(據推測,它的 usingcryptsetup
和 LUKS 標頭。)。加密在文件系統下面的一層執行。您正在使用稱為 dm-crypt 的東西(這是 cryptsetup 使用的低級核心後端),其中“dm”表示“設備映射器”。您似乎也在使用 LVM,它也是由核心設備映射器層實現的。基本上,您有一個看起來像這樣的儲存堆棧:
1. /dev/sda2 (guessing it's 2, could be any partition other than 1) 2. /dev/mapper/sda2_crypt (dm-crypt layer; used as a PV for VG archon) 3. LVM (volume group archon) 4. /dev/mapper/archon-root (logical volume in group archon) 5. ext4
您可以使用命令找到所有這些
dmsetup
。例如,dmsetup ls
將告訴您列表中的設備映射器設備。dmsetup info
將提供一些細節,dmsetup table
並將提供映射層正在進行的翻譯的技術細節。它的工作方式是 dm-crypt 層(上面的#2)通過執行加密來“映射”數據。因此,寫入 /dev/mapper/sda2_crypt 的任何內容在傳遞到 /dev/sda2(實際硬碟)之前都會被加密。來自 /dev/sda2 的任何內容在傳出 /dev/mapper/sda2_crypt 之前都會被解密。
因此,任何上層都透明地使用該加密。您首先使用它的上層是 LVM。您正在使用 LVM 將磁碟劃分為多個邏輯卷。你有(至少)一個,叫做 root,用於根文件系統。它是一個普通的塊設備,因此您可以像使用其他任何設備一樣使用它——您可以將任何您想要的文件系統放在那裡,甚至可以放置原始數據。數據被傳遞下來,因此將被加密。
要了解的內容(檢查手冊頁等):
/etc/crypttab
- LVM(一些重要的命令:
lvs
,pvs
,lvcreate
,lvextend
)cryptsetup