我安装了 Ubuntu 22.04.2 LTS,并带有LVM 加密选项。我知道解锁密码,但在 Ubuntu 和/或 GRUB 更新后启动操作系统时无法输入密码。所有键盘按键都有奇怪的行为。FI Enter、Shift、Backspace键无法按预期工作,每个键都会在命令行中添加一些符号。同时,数字键 (1-0) 不会添加一个符号,而是添加更多符号并更改 UI 背景,而H/h 键的作用与Enter按钮完全相同,并确认输入的密码。但如果我在进入解锁部分之前启动 BIOS/UEFI 或 LIVE CD/USB 甚至 GRUB,所有按钮都可以正常工作。
我做了什么让这件事发生
我意识到我的笔记本电脑进入挂起模式后我的键盘停止反应。我发现此主题Ubuntu 17.04 键盘在挂起后没有响应,并在此答案https://askubuntu.com/a/940323中执行操作,确保我有类似的i8042日志:
dmesg | grep i8042
sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i8042.direct i8042.dumbkbd"
sudo update-grub
之后我不得不强制关闭笔记本电脑,因为它在做一些东西时死机了。然后我就遇到了提到的问题。
我做了什么来解决这个问题
第一个明显的想法是这条线GRUB_CMDLINE_LINUX_DEFAULT
破坏了某些东西。所以我尝试重新配置 GRUB 来修复它。
- 我发现一篇文章如果 / 分区已加密并且有单独的 /boot 分区,如何从 liveUSB 重新安装 grub?,
- 使用我的实时 USB 启动,
- 安装我的加密卷:
cryptsetup luksOpen /dev/sda? TAG
mount /dev/[VOLUME GROUP NAME]/[LOGICAL VOLUME NAME] /mnt
- 改
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
回来了:
chroot /mnt
nano /etc/default/grub
- 执行所有其他命令来重新安装 GRUB。
这并没有改变任何东西,但我一步一步尝试了https://askubuntu.com/a/719475/723783大约 3 次。
我以为它没有更新 EFI,所以:
- 我删除了 BIOS/UEFI 中的所有启动选项并格式化了我的 EFI 分区,
- 重复https://askubuntu.com/a/719475/723783中的所有步骤,
- 重新启动后,GRUB 和 GRUB 启动菜单本身均未显示任何启动选项。
之后我找到了一个启动修复工具https://help.ubuntu.com/community/Boot-Repair:
- 我格式化了我的 EFI 分区并删除了 BIOS/UEFI 中的所有启动选项,
- 安装引导修复,
- 运行启动修复并收到一条消息,该工具看到我的加密分区,我应该先解锁它,
- 使用解锁我的分区
cryptsetup luksOpen /dev/sda? TAG
- 运行Boot-Repair并完成它给我的所有命令,
- 重新启动并获得带有 ubuntu 选项的 GRUB 菜单,
- 再次遇到相同的键盘打字问题。
看起来在
/etc/default/grub
实时 USB 模式下所做的更改并未应用。我设法启动恢复模式并GRUB_CMDLINE_LINUX_DEFAULT
具有旧的未更改值"quiet splash i8042.direct i8042.dumbkbd"
。改回来就跑了update-grub
。