Can't switch keyboard layout when typing LUKS password after update

Hi.After a recent Fedora update, the keyboard layout on the LUKS password screen (right after boot) switched from English to Russian. I need to type my password in English, but it’s typing in Russian instead.

I already tried Alt+Shift, Ctrl+Shift, Win+Space – nothing works there. No layout switching at all.

How can I change it back to English?

I searched on DuckDuckGo for “linux initramfs switch keyboard” and the AI summary has some suggestions.

Once suggestion was to force the keyboard with a kernel command line option. vconsole.keymap=us, I think you set to us.

The AI suggested that the keyboard layout may be missing from initramfs.
But I’m not sure where you would configure this, maybe someone else will know.

1 Like

It seems like there’s a *ctl for almost everything these days…
man localectl

1 Like

The LUKS password prompt runs from the initramfs before the full system boots, so your normal desktop keyboard settings do not apply there. The keyboard layout in the initramfs is controlled by /etc/vconsole.conf.

Check what it currently says:

cat /etc/vconsole.conf

If it shows KEYMAP=ru or similar, change it to:

sudo localectl set-keymap us

This updates /etc/vconsole.conf to KEYMAP=us. But the change will not take effect at the LUKS prompt until you rebuild the initramfs so the new keymap gets included:

sudo dracut --force

After rebooting, the LUKS password screen should use the US English layout.

What likely happened: a recent update pulled in a new keyboard configuration package or a locale change that set the console keymap to Russian based on your system locale, and dracut picked it up on the next kernel update when it automatically rebuilt the initramfs.

The vconsole.keymap=us kernel parameter that barryascott mentioned also works as a one-time override if you add it in GRUB at boot (press e at the GRUB menu, append it to the linux line), but fixing vconsole.conf and rebuilding dracut is the permanent solution.

1 Like

Thank you!