如何修改Ubuntu 22.04.3 LTS全盘加密密码输入阶段的键盘布局,并统一GRUB/cryptsetup的键盘布局
如何修改Ubuntu 22.04.3 LTS全盘加密密码输入阶段的键盘布局,并统一GRUB/cryptsetup的键盘布局
我明白你遇到的问题——全盘加密的密码输入阶段键盘布局不对,改了GRUB没用,改了initramfs显示变了但实际还是AZERTY,这确实是Ubuntu 22.04的一个常见小坑,因为这个版本的加密启动流程和旧版本有点不一样。下面给你一套完整的解决方案,能统一GRUB、加密密码输入阶段的键盘布局为QWERTY:
- 首先统一系统层面的键盘配置
- 先确保必要工具已安装:
sudo apt install keyboard-configuration console-setup - 运行配置向导:
sudo dpkg-reconfigure keyboard-configuration,跟着提示一步步选择:- 键盘类型选Generic 105-key PC(如果你的键盘是其他类型,选对应选项即可)
- 布局选English (US)
- 变体选默认的English (US)
- 确认键位设置后,选择将配置应用到控制台和Xorg环境
- 先确保必要工具已安装:
- 确保initramfs加载正确的键盘布局
- 检查
/etc/initramfs-tools/conf.d/keyboard文件,如果不存在就创建它,写入内容:KEYMAP=us - 更新所有内核的initramfs镜像,让新配置生效:
sudo update-initramfs -u -k all
- 检查
- 同步GRUB的键盘布局设置
- 编辑GRUB的配置文件:
sudo nano /etc/default/grub - 修改以下参数:
- 找到
GRUB_CMDLINE_LINUX_DEFAULT,在引号内添加keymap=us,比如修改后为:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash keymap=us" - 找到
GRUB_CMDLINE_LINUX,同样在引号内添加keymap=us - 如果文件里没有
GRUB_TERMINAL_INPUT=console,就添加这一行,确保GRUB使用控制台输入
- 找到
- 保存文件后更新GRUB配置:
sudo update-grub
- 编辑GRUB的配置文件:
- 最后重启系统测试
- 重启后,GRUB界面的键盘会是QWERTY,加密密码输入阶段的键盘也会对应QWERTY,屏幕上的键盘图标会显示
us,实际输入和按键也能对应上
- 重启后,GRUB界面的键盘会是QWERTY,加密密码输入阶段的键盘也会对应QWERTY,屏幕上的键盘图标会显示
为什么之前的方法没生效?
Ubuntu 22.04的加密启动流程更依赖系统级的keyboard-configuration配置,旧版本的教程可能只修改了表面的显示设置,没有确保initramfs真正加载了QWERTY的键盘映射文件。通过上面的步骤,我们从系统配置、initramfs镜像到GRUB都统一了键盘布局,就能彻底解决问题。
备注:内容来源于stack exchange,提问作者David M. Kaplan




