我在 mbr 磁盘上使用 grub2(非 EFI)启动 Xubuntu 16.04。
我有一种专门的设置,如下所示:
/dev/sda - MBR - Grub2 installed
/dev/sda1 - ext2 - /mnt/boot
/dev/sda2 - extended
/dev/sda5 - crypt-luks container with LVM setup inside
我已移动文件:
initrd.img-4.4.0-22-generic
vmlinuz-4.4.0-22-generic
System.map-4.4.0-22-generic
config-4.4.0-22-generic
abi-4.4.0-22-generic
到/boot
我的根文件系统上的目录。我将 grub 目录保留在 上/dev/sda1
并挂载/dev/sda1
在 上。然后我在上/mnt/boot
创建了一个符号链接。我使用 grub2 的内置加密模块来解锁我的容器:/boot/grub
/mnt/boot/grub
crypt-luks
GRUB_ENABLE_CRYPTODISK=y
我还在我的 luks 容器中使用了两个脚本和一个额外的密钥文件来绕过第二个密码提示。第一个由 grub 创建以启动磁盘,第二个由 luks 创建以解锁磁盘。我使用了本教程这里。
我遇到的问题是:当我启动机器时,grub 会提示我输入密码,但这个提示是错误的。如果我正确输入密码,它不会启动。我必须使用 Esc 键来查看 grub 菜单并选择正确的条目,然后它会给我相同的提示,但这次它会接受密钥。
我怎样才能使正确的输入自动启动而不是损坏的提示?
答案1
其他人遇到这个问题的可能性很小(也许如果有人遵循相同的指南),但下面是我解决问题的方法。
使用grub 定制器,我将 grub 菜单恢复为默认设置。确保您要使用的菜单项不是script: linux
。script: custom
然后我删除了“Ubuntu 高级选项”并删除了我的旧条目。保存并重新加载配置,太棒了!第一个提示现在可用于解密。