我只是想在我的笔记本上安装 Ubuntu 22.04,但我需要启用全盘加密,并且我想定义交换分区的大小。
在搜索答案时,我看到多次提到 Ubuntu 22 不需要交换分区,因为它会使用交换文件。但是,如果我继续默认安装(加上启用 FDE),我无论如何都会得到一个交换分区:
nvme0n1 259:0 0 238.5G 0 disk
├─nvme0n1p1 259:1 0 512M 0 part
├─nvme0n1p2 259:2 0 1.7G 0 part
└─nvme0n1p3 259:3 0 236.3G 0 part
└─crypt 253:0 0 236.3G 0 crypt
├─vgubuntu-root 253:1 0 234.4G 0 lvm
└─vgubuntu-swap_1 253:2 0 1.9G 0 lvm
因此我按照以下教程进行了全新安装:(它们基本相同)
- https://help.ubuntu.com/community/Full_Disk_Encryption_Howto_2019
- https://www.tecmint.com/encrypt-disk-installing-ubuntu/
注意:这是一款 NVMe 笔记本
按照教程,我运行了命令,没有任何错误,但在分区时收到警告:
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
sgdisk --print $DEV
预期的回报:
Number Start (sector) End (sector) Size Code Name
1 2048 1574911 768.0 MiB 8301 /boot
2 1574912 1579007 2.0 MiB EF02 GRUB
3 1579008 1841151 128.0 MiB EF00 EFI-SP
5 1841152 500118158 237.6 GiB 8301 rootfs
然而,当我开始使用 LUKS 时,第一次它按预期工作,但第二个命令失败: 该命令有效:
cryptsetup luksFormat --type=luks1 ${DEVP}1
然后这个命令失败:
# cryptsetup luksFormat --type=luks1 ${DEVP}5
Device /dev/nvme0n1p5 does not exist or access denied.
我也尝试过这样的方法:
# cryptsetup luksFormat ${DEVP}5
Device /dev/nvme0n1p5 does not exist or access denied.
因为这是迄今为止两个教程之间的区别...我是从 USB 进行实时启动的。
我该如何加密最后一个分区以便可以继续?
或者我如何实现 Ubuntu 22 安装 + LUKS FDE + 自定义 SWAP?
答案1
您从 tecmint 获取的文章中有加密启动、Root、GRUB 和交换区域的脚本。
lvcreate -L 4G -n swap_1 ubuntu--vg
上面的命令来自本文,用于创建交换文件,当然您也可以更改大小。我使用了文章中的设置,效果非常好!我建议您完全按照脚本操作,并注意他在某些地方有针对 HDD 和 Sata 的自定义命令,下面有针对 nvme SSD 的自定义命令,因此请务必编写正确的命令