Quote:
Originally Posted by mrmazda
(Post 6282774)
You should expect your custom stanza to be picked up as the first entry displayed at the Grub menu at boot by copying or symlinking the original 40_custom to 06_custom and the original 41_custom to 07_custom, and moving your custom stanza to /boot/[grub,grub2]/custom.cfg. With such configuration, I have found it unnecessary to have any concern for the content of /etc/default/grub or /boot/[grub,grub2]/grub.cfg, unless desiring to boot some os-prober-generated stanza from /boot/[grub,grub2]/grub.cfg (not contained in /boot/[grub,grub2]/custom.cfg). The first entry in custom.cfg booted here ATM ~is:
Code:
# head custom.cfg
menuentry "memtest86 8.3 EFI" {
search --no-floppy --label --set=root P01ESP
chainloader /mt83x64.efi
}
Following that I have 11 stanzas that boot the various installed operating systems, another for booting an older memtest86 version, then several stanzas that initialize various distro's NET installers by loading those installers' kernels and initrds.
|
Here is the terminal output for the following commands:
cat /etc/grub.d/40_custom
sudo-update-grub2
cat grub.cfg (starting at directory /boot/grub)
Code:
master@master-Latitude-E6440:/boot/grub$ cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
menuentry "clonezilla-live-20210525-groovy-amd64.iso" {
insmod ext2
set isofile="/clonezilla-live-20210525-groovy-amd64.iso"
loopback loop (hd0,5)$isofile
linux (loop)/live/vmlinuz boot=live findiso=$isofile
initrd (loop)/live/initrd.img
}
master@master-Latitude-E6440:/boot/grub$ sudo update-grub2
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.11.0-34-generic
Found initrd image: /boot/initrd.img-5.11.0-34-generic
Found linux image: /boot/vmlinuz-5.11.0-27-generic
Found initrd image: /boot/initrd.img-5.11.0-27-generic
Found linux image: /boot/vmlinuz-5.8.0-43-generic
Found initrd image: /boot/initrd.img-5.8.0-43-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 10 on /dev/sda1
done
master@master-Latitude-E6440:/boot/grub$ cat grub.cfg
#
# 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 [ "${initrdfail}" = 2 ]; then
set initrdfail=
elif [ "${initrdfail}" = 1 ]; then
set next_entry="${prev_entry}"
set prev_entry=
save_env prev_entry
if [ "${next_entry}" ]; then
set initrdfail=2
fi
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 initrdfail {
if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then
if [ -z "${initrdfail}" ]; then
set initrdfail=1
if [ -n "${boot_once}" ]; then
set prev_entry="${default}"
save_env prev_entry
fi
fi
save_env initrdfail
fi; fi
}
function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; 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_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 469b1d8e-889c-4feb-96aa-343b03155e27
else
search --no-floppy --fs-uuid --set=root 469b1d8e-889c-4feb-96aa-343b03155e27
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=hidden
set timeout=35
# Fallback hidden-timeout code in case the timeout_style feature is
# unavailable.
elif sleep --interruptible 35 ; then
set timeout=0
fi
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="${1}"
if [ "${1}" = "keep" ]; then
set vt_handoff=vt.handoff=7
else
set vt_handoff=
fi
}
if [ "${recordfail}" != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if hwmatch ${prefix}/gfxblacklist.txt 3; then
if [ ${match} = 0 ]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-469b1d8e-889c-4feb-96aa-343b03155e27' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 469b1d8e-889c-4feb-96aa-343b03155e27
else
search --no-floppy --fs-uuid --set=root 469b1d8e-889c-4feb-96aa-343b03155e27
fi
linux /boot/vmlinuz-5.11.0-34-generic root=UUID=469b1d8e-889c-4feb-96aa-343b03155e27 ro quiet splash $vt_handoff
initrd /boot/initrd.img-5.11.0-34-generic
}
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-469b1d8e-889c-4feb-96aa-343b03155e27' {
menuentry 'Ubuntu, with Linux 5.11.0-34-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-34-generic-advanced-469b1d8e-889c-4feb-96aa-343b03155e27' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 469b1d8e-889c-4feb-96aa-343b03155e27
else
search --no-floppy --fs-uuid --set=root 469b1d8e-889c-4feb-96aa-343b03155e27
fi
echo 'Loading Linux 5.11.0-34-generic ...'
linux /boot/vmlinuz-5.11.0-34-generic root=UUID=469b1d8e-889c-4feb-96aa-343b03155e27 ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.11.0-34-generic
}
menuentry 'Ubuntu, with Linux 5.11.0-34-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-34-generic-recovery-469b1d8e-889c-4feb-96aa-343b03155e27' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 469b1d8e-889c-4feb-96aa-343b03155e27
else
search --no-floppy --fs-uuid --set=root 469b1d8e-889c-4feb-96aa-343b03155e27
fi
echo 'Loading Linux 5.11.0-34-generic ...'
linux /boot/vmlinuz-5.11.0-34-generic root=UUID=469b1d8e-889c-4feb-96aa-343b03155e27 ro recovery nomodeset dis_ucode_ldr
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.11.0-34-generic
}
menuentry 'Ubuntu, with Linux 5.11.0-27-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-27-generic-advanced-469b1d8e-889c-4feb-96aa-343b03155e27' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 469b1d8e-889c-4feb-96aa-343b03155e27
else
search --no-floppy --fs-uuid --set=root 469b1d8e-889c-4feb-96aa-343b03155e27
fi
echo 'Loading Linux 5.11.0-27-generic ...'
linux /boot/vmlinuz-5.11.0-27-generic root=UUID=469b1d8e-889c-4feb-96aa-343b03155e27 ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.11.0-27-generic
}
menuentry 'Ubuntu, with Linux 5.11.0-27-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-27-generic-recovery-469b1d8e-889c-4feb-96aa-343b03155e27' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 469b1d8e-889c-4feb-96aa-343b03155e27
else
search --no-floppy --fs-uuid --set=root 469b1d8e-889c-4feb-96aa-343b03155e27
fi
echo 'Loading Linux 5.11.0-27-generic ...'
linux /boot/vmlinuz-5.11.0-27-generic root=UUID=469b1d8e-889c-4feb-96aa-343b03155e27 ro recovery nomodeset dis_ucode_ldr
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.11.0-27-generic
}
menuentry 'Ubuntu, with Linux 5.8.0-43-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.8.0-43-generic-advanced-469b1d8e-889c-4feb-96aa-343b03155e27' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 469b1d8e-889c-4feb-96aa-343b03155e27
else
search --no-floppy --fs-uuid --set=root 469b1d8e-889c-4feb-96aa-343b03155e27
fi
echo 'Loading Linux 5.8.0-43-generic ...'
linux /boot/vmlinuz-5.8.0-43-generic root=UUID=469b1d8e-889c-4feb-96aa-343b03155e27 ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.8.0-43-generic
}
menuentry 'Ubuntu, with Linux 5.8.0-43-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.8.0-43-generic-recovery-469b1d8e-889c-4feb-96aa-343b03155e27' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 469b1d8e-889c-4feb-96aa-343b03155e27
else
search --no-floppy --fs-uuid --set=root 469b1d8e-889c-4feb-96aa-343b03155e27
fi
echo 'Loading Linux 5.8.0-43-generic ...'
linux /boot/vmlinuz-5.8.0-43-generic root=UUID=469b1d8e-889c-4feb-96aa-343b03155e27 ro recovery nomodeset dis_ucode_ldr
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.8.0-43-generic
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/10_linux_zfs ###
### END /etc/grub.d/10_linux_zfs ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry 'Memory test (memtest86+)' {
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 469b1d8e-889c-4feb-96aa-343b03155e27
else
search --no-floppy --fs-uuid --set=root 469b1d8e-889c-4feb-96aa-343b03155e27
fi
knetbsd /boot/memtest86+.elf
}
menuentry 'Memory test (memtest86+, serial console 115200)' {
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 469b1d8e-889c-4feb-96aa-343b03155e27
else
search --no-floppy --fs-uuid --set=root 469b1d8e-889c-4feb-96aa-343b03155e27
fi
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 10 (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-D250285B50284895' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 D250285B50284895
else
search --no-floppy --fs-uuid --set=root D250285B50284895
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
set timeout=10
fi
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###
### 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 ###
### BEGIN /etc/grub.d/42_grml ###
### END /etc/grub.d/42_grml ###
master@master-Latitude-E6440:/boot/grub$
Would it help or hurt to reinstall grub2?
|