Since Debian 13 (Trixie), when using the default FDE which uses grub to decrypt the luks partition, I have a single attempt

When the password is mistyped there is a long pause (over 10 seconds) and then the error appears.

I already tried increasing the max tries, which seems to be set to 1 when a keyfile is used.

The config/script seems to be in /usr/share/initramfs-tools/scripts/local-top/cryptroot.

I copied that to /etc/initramfs-tools/scripts/local-top/cryptroot and replaced the value CRYPTTAB_OPTION_tries=1 with 10 using find/replace (ansible stuff).

I think this has no effect though and doing so (might be a different issue) breaks boot entirely 💀

More info:

  • by default when legacy boot (BIOS) is available, Debian will install grub to the MBR. This is where it happens
  • when forcing or prioritizing legacy boot and using GPT, debian somehow boots from a 300MB efi partition, the same happens though, one attempt

all 14 comments

sorted by: hot top controversial new old
[–] 5 points 1 year ago (1 child)

After you updated the config did you update-initramfs or update-grub (I forget which flags might be needed off hand).

Since this is happening pre-boot it isn't reading from /etc.

  • source
  • hideshow 1 child comment
  • [–] [S] 5 points 1 year ago

    Hm, I only ran update-grub

    Ran update-initramfs from the chroot trying to repair it

    Found that there is a cleaner way in /etc/default/grub with grub commandline arguments. But that wants a source= variable which is weird to me as that hardcodes a drive in there that wasnt there first?

    Tbh I will try this on a secondary laptop now, I reinstalled that thing like 5 times now and am a bit traumatized XD

    Luckily we have more than enough

  • source
  • parent
  • [+] 4 points 1 year ago (4 children)
  • [–] 3 points 1 year ago (3 children)

    I think he's referring to the 10 second pause between attempts. It's security theatre because you can replace the bootloader with one that doesn't pause.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 1 year ago (2 children)

    Is it? I always though the password is hashed via Bcrypt (or similar) with very high difficulty so it takes some time to check

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 1 year ago (6 children)

    Newer versions of grub let you retry up to 3 times before going to grub rescue. Check if your grub is up to date, and if it is, wait for Debian to release the update to their repos I guess

  • source
  • hideshow 6 child comments
  • [–] 2 points 1 year ago (4 children)

    But bootloaders are distro/OS agnostic. Why wait for Debian, when you could, for example, boot an Arch live ISO to install a newer GRUB?

    I don't use GRUB, but have done the same thing with SystemD Boot before. As GRUB's configuration system is a bit more complex, you might have to mount your main install to get the correct config file.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 4 points 1 year ago (3 children)

    If you're going to do that, get the grub debs from Debian sid, not a whole different distro.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 2 points 1 year ago* (last edited 1 year ago) (2 children)

    As it's a bootloader, it should make almost no difference which distribution was used to install it. (I'm not sure if Debian patches their GRUB.) I just used Arch as an example, as it is famous for being up to date. And, no matter where it's installed from, if you've made changes to GRUB's configuration, you'll have to copy it over to the live distribution to keep your changes.

    Yes, Debian Sid might be more familiar for Debian users, but that's it.

    Edit: You said "get the grub debs from Debian sid", but installing Sid packages on non-Sid systems isn't something that you should do.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 1 year ago (1 child)

    Why install it from a package manager at that point? It's probably more of a pain to get an Arch package working on Debian than it is to just build GRUB from source and install it according to whatever instructions GRUB distributes

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 1 year ago

    I meant the following:

    1. Find out the Debian package is too old
    2. Create Arch Live USB
    3. Boot Arch Live USB
    4. Copy GRUB config from the Debian install to the current Arch live system
    5. Install the up-to-date GRUB while in the Arch environment

    The bootloader installer package is distro dependent, the bootloader the package installs isn't. You can boot Debian no matter if the GRUB is installed from Debian stable, Debian Sid, Arch, Fedora or even FreeBSD. Otherwise, dual booting wouldn't work.

    Like I said, I've done that before, though with SystemD Boot instead of GRUB, which was a bit simpler due to how the bootloader is configured.

  • source
  • parent