我手动(即通过自定义脚本)安装 Ubuntu 21.04 系统。
我的 GPT 磁盘有两个分区。一个 EFI 系统分区和一个 LUKS(版本 1)加密的 BTRFS 分区。
启动时,grub
闪烁以下错误消息,然后出现grub
提示。
error: file `/boot' not found.
error: no such device: /.disk/info.
error: no such device: /.disk/mini-info.
error: can't find command `cryptomount'.
我的问题是:如何cryptomount
在 Grub 中提供/激活命令?
(如果我help
在grub
提示符下键入,cryptomount
则不会列出该命令。)
有趣的是,如果我添加一个类型的ef02
BIOS 引导分区,并安装 BIOS 版本的 Grub,并以 BIOS 模式引导系统,引导将成功。但是,我希望磁盘在 UEFI 系统上启动。
背景资料:
我查看了以下链接中的说明,我没有看到启用该cryptomount
命令需要做的任何其他事情。我尝试添加insmod cryptomount
到/boot/efi/EFI/BOOT/grub.cfg
,但没有奏效。
https://cryptsetup-team.pages.debian.net/cryptsetup/encrypted-boot.html
以前,我手动安装了带有明文/boot
分区和加密/
分区的 Ubuntu,一切正常。所以新元素是我试图将/boot
目录放在加密/
分区上。我还在/boot
加密分区上安装了 Void Linux,并且按预期工作。
/boot/efi/EFI/BOOT/grub.cfg
是:
cryptomount -u e5f6f8f5dc3944cbb6d8d99b1f17b343
search.fs_uuid 5e42bb87-3342-48b6-aff5-f2519063f9b9 root
cryptouuid/e5f6f8f5dc3944cbb6d8d99b1f17b343
set prefix=($root)'/@_2107_hirsute/boot/grub'
configfile $prefix/grub.cfg
我grub
通过运行以下命令进行安装:
opts=''
opts="$opts --force"
opts="$opts --no-floppy"
opts="$opts --recheck"
opts="$opts --removable"
opts="$opts --target=x86_64-efi"
opts="$opts --efi-directory=/boot/efi"
opts="$opts --bootloader-id=Ubuntu"
chroot /mnt grub-install $opts