On 04.01.24 19:49, Richard Rosner wrote:
On 04.01.24 19:02, David Wright wrote:
Could you post the new grub.cfg file, so that people running testing,
and following along the thread later, can see how boot-repair fixed it?

Cheers,
David.

Let's hope the mailing list let's this go through.

It did, but since it seems to have been malformed yet again, let's try again.

Keep in mind, this is based on the assumption that your whole / partition is LUKS encrypted (in my case now LUKS2). "root partition UUID1" is the UUID that's shown in Disks or on the Grub screen for the decryption password prompt. Now, I can't say for sure what "root-partition-UUID2" is, but that's what seems to be symlinked to /dev/dm-0 and with blkid, one of the entries will look like this:


/dev/mapper/luks-<root-partition-UUID>: UUID="<root-partition-UUID2>" BLOCK_SIZE="4096" TYPE="ext4"


So maybe it's just some kind of virtual UUID for the decrypted root partition.

Adding to that, "root partition UUID1.1" is basically the same as  UUID1.1, just without dashes. So it's the same format as Grub shows for the ususal bootup password prompt. Let's hope this time this is the right one.

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod cryptodisk
insmod luks2
insmod gcry_rijndael
insmod gcry_rijndael
insmod gcry_sha256
insmod ext2
cryptomount -u <root partition UUID1>
set root='cryptouuid/<root partition UUID1.1>'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint='cryptouuid/<root partition UUID1.1>'  <root partition UUID2>
else
  search --no-floppy --fs-uuid --set=root <root partition UUID2>
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu
    set timeout=5
  # Fallback normal timeout code in case the timeout_style feature is
  # unavailable.
  else
    set timeout=5
  fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_gpt
insmod cryptodisk
insmod luks2
insmod gcry_rijndael
insmod gcry_rijndael
insmod gcry_sha256
insmod ext2
cryptomount -u <root partition UUID1>
set root='cryptouuid/<root partition UUID1.1>'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint='cryptouuid/<root partition UUID1.1>'  <root partition UUID2>
else
  search --no-floppy --fs-uuid --set=root <root partition UUID2>
fi
insmod png
if background_image /usr/share/desktop-base/emerald-theme/grub/grub-4x3.png; then
  set color_normal=white/black
  set color_highlight=black/white
else
  set menu_color_normal=cyan/blue
  set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="${1}"
}
set linux_gfx_mode=
export linux_gfx_mode
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-<root partition UUID2>' {
    load_video
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_gpt
    insmod cryptodisk
    insmod luks2
    insmod gcry_rijndael
    insmod gcry_rijndael
    insmod gcry_sha256
    insmod ext2
    cryptomount -u <root partition UUID1>
    set root='cryptouuid/<root partition UUID1.1>'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint='cryptouuid/<root partition UUID1.1>'  <root partition UUID2>
    else
      search --no-floppy --fs-uuid --set=root <root partition UUID2>
    fi
    echo    'Loading Linux 6.5.0-5-amd64 ...'
    linux    /boot/vmlinuz-6.5.0-5-amd64 root=UUID=<root partition UUID2> ro  quiet root=/dev/mapper/luks-<root partition UUID1> splash resume=/dev/mapper/luks-<swap partition UUID1>
    echo    'Loading initial ramdisk ...'
    initrd    /boot/initrd.img-6.5.0-5-amd64
}
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-<root partition UUID2>' {     menuentry 'Debian GNU/Linux, with Linux 6.5.0-5-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.0-5-amd64-advanced-<root partition UUID2>' {
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod cryptodisk
        insmod luks2
        insmod gcry_rijndael
        insmod gcry_rijndael
        insmod gcry_sha256
        insmod ext2
        cryptomount -u <root partition UUID1>
        set root='cryptouuid/<root partition UUID1.1>'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint='cryptouuid/<root partition UUID1.1>'  <root partition UUID2>
        else
          search --no-floppy --fs-uuid --set=root <root partition UUID2>
        fi
        echo    'Loading Linux 6.5.0-5-amd64 ...'
        linux    /boot/vmlinuz-6.5.0-5-amd64 root=UUID=<root partition UUID2> ro  quiet root=/dev/mapper/luks-<root partition UUID1> splash resume=/dev/mapper/luks-<swap partition UUID1>
        echo    'Loading initial ramdisk ...'
        initrd    /boot/initrd.img-6.5.0-5-amd64
    }
    menuentry 'Debian GNU/Linux, with Linux 6.5.0-5-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.0-5-amd64-recovery-<root partition UUID2>' {
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod cryptodisk
        insmod luks2
        insmod gcry_rijndael
        insmod gcry_rijndael
        insmod gcry_sha256
        insmod ext2
        cryptomount -u <root partition UUID1>
        set root='cryptouuid/<root partition UUID1.1>'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint='cryptouuid/<root partition UUID1.1>'  <root partition UUID2>
        else
          search --no-floppy --fs-uuid --set=root <root partition UUID2>
        fi
        echo    'Loading Linux 6.5.0-5-amd64 ...'
        linux    /boot/vmlinuz-6.5.0-5-amd64 root=UUID=<root partition UUID2> ro single single dis_ucode_ldr
        echo    'Loading initial ramdisk ...'
        initrd    /boot/initrd.img-6.5.0-5-amd64
    }
    menuentry 'Debian GNU/Linux, with Linux 6.5.0-4-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.0-4-amd64-advanced-<root partition UUID2>' {
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod cryptodisk
        insmod luks2
        insmod gcry_rijndael
        insmod gcry_rijndael
        insmod gcry_sha256
        insmod ext2
        cryptomount -u <root partition UUID1>
        set root='cryptouuid/<root partition UUID1.1>'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint='cryptouuid/<root partition UUID1.1>'  <root partition UUID2>
        else
          search --no-floppy --fs-uuid --set=root <root partition UUID2>
        fi
        echo    'Loading Linux 6.5.0-4-amd64 ...'
        linux    /boot/vmlinuz-6.5.0-4-amd64 root=UUID=<root partition UUID2> ro  quiet root=/dev/mapper/luks-<root partition UUID1> splash resume=/dev/mapper/luks-<swap partition UUID1>
        echo    'Loading initial ramdisk ...'
        initrd    /boot/initrd.img-6.5.0-4-amd64
    }
    menuentry 'Debian GNU/Linux, with Linux 6.5.0-4-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.0-4-amd64-recovery-<root partition UUID2>' {
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod cryptodisk
        insmod luks2
        insmod gcry_rijndael
        insmod gcry_rijndael
        insmod gcry_sha256
        insmod ext2
        cryptomount -u <root partition UUID1>
        set root='cryptouuid/<root partition UUID1.1>'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint='cryptouuid/<root partition UUID1.1>'  <root partition UUID2>
        else
          search --no-floppy --fs-uuid --set=root <root partition UUID2>
        fi
        echo    'Loading Linux 6.5.0-4-amd64 ...'
        linux    /boot/vmlinuz-6.5.0-4-amd64 root=UUID=<root partition UUID2> ro single single dis_ucode_ldr
        echo    'Loading initial ramdisk ...'
        initrd    /boot/initrd.img-6.5.0-4-amd64
    }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/25_bli ###
if [ "$grub_platform" = "efi" ]; then
  insmod bli
fi
### END /etc/grub.d/25_bli ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
if [ "$grub_platform" = "efi" ]; then
    fwsetup --is-supported
    if [ "$?" = 0 ]; then
        menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
            fwsetup
        }
    fi
fi
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###

Reply via email to