Still learning...
Okay - I know for sure that I edited the grub.cfg file from boot/efi/EFI/ubuntu as it was the one that had the wrong UUID - and where I have a backup... Looking at the grub.cfg file in boot/efi/EFI/robolinux it is now identical to the corrected one in boot/efi/EFI/ubuntu (that makes sense...)
Pretty sure that the Robolinux did a standard UEFI install.
I am sure - that even now I can not boot my Android X86 install normally. I still have to hit esc/F9 and choose the Android EFI file to boot. I'd love to clean that up (and learn how)
There is no grub.cfg inside boot/efi/EFI/Android. There are 3 .efi files: bootia32.efi, BOOTx64.efi and grubx64.efi. I don't know how to read inside those files as they don't open in a text editor...
There is one more file - Android.cfg. It seems "grub-ish" :
The grub file that is booting is definitely the Robolinux one and looks like this:Code:# $1 Kernel dir # $2 Title # $3... Kernel cmdline function add_boot_entry { menuentry "$2" "$@" --class android-x86 { savedefault set root=$android if [ -e $2/kernel ]; then true else search --no-floppy --set root -f $2/kernel fi set kd=$2 shift 3 linux $kd/kernel root=/dev/ram0 androidboot.selinux=permissive $src $@ initrd $kd/initrd.img } } # $1 Title # $2... Kernel cmdline function add_entry { set title="Android-x86 8.1-r1 $1" shift 1 add_boot_entry "$kdir" "$title" "$@" } # $1 EFI to chainload # $2 OS name # $3 Class function add_os_if_exists { # Is there a better way to find ESP? for d in hd0,gpt1 hd0,gpt2 hd1,gpt1 hd1,gpt2 hd0,msdos1 hd0,msdos2 hd1,msdos1 hd1,msdos2; do if [ "($d)$1" != "$cmdpath/$bootefi" -a -e ($d)$1 ]; then menuentry "$2 at $d ->" "$d" "$1" --class "$3" { savedefault set root=$2 chainloader ($root)$3 } break fi done } function savedefault { if [ -s $prefix/grubenv -a "$chosen" != "$default" ]; then set default="$chosen" save_env default fi } function load_theme { loadfont DejaVuSansMono-18 set gfxmode=1024x768 terminal_output gfxterm set theme=$prefix/theme/theme.txt export theme } if [ "$root" == "loop0" ]; then set prefix=($root)/boot/grub fi if [ -s $prefix/theme/theme.txt ]; then load_theme fi if [ -s $prefix/grubenv ]; then load_env fi if [ "$grub_cpu" = "i386" ]; then set bootefi=bootia32.efi set grub=grubia32 else set bootefi=BOOTx64.EFI set grub=grubx64 fi if [ -z "$src" -a -n "$isofile" ]; then set src=iso-scan/filename=$isofile fi search --no-floppy --set android -f $kdir/kernel export android bootefi grub kdir live src # Create main menu add_entry "$live" quiet add_entry "$debug_mode" DEBUG=2 if [ -s ($android)$kdir/install.img ]; then add_entry "Installation" INSTALL=1 fi submenu "Advanced options -> " --class forward { add_entry "$live - Vulkan support (experimental)" quiet VULKAN=1 add_entry "$live - No Setup Wizard" quiet SETUPWIZARD=0 add_entry "$live - No Hardware Acceleration" quiet nomodeset HWACCEL=0 if [ -s ($android)$kdir/install.img ]; then add_entry "Auto Install to specified harddisk" AUTO_INSTALL=0 add_entry "Auto Update" AUTO_INSTALL=update fi add_os_if_exists /EFI/BOOT/$bootefi "UEFI OS" os add_os_if_exists /EFI/BOOT/fallback.efi "UEFI Fallback" os add_os_if_exists /EFI/BOOT/fallback_x64.efi "UEFI Fallback" os menuentry "Reboot" --class reboot { reboot } menuentry "Poweroff" --class shutdown { halt } menuentry "UEFI firmware settings" --class setup { fwsetup } } # Add other OSes boot loaders if exist add_os_if_exists /EFI/fedora/${grub}.efi Fedora fedora add_os_if_exists /EFI/centos/${grub}.efi CentOS centos add_os_if_exists /EFI/ubuntu/${grub}.efi Ubuntu ubuntu add_os_if_exists /EFI/debian/${grub}.efi Debian debian add_os_if_exists /EFI/gentoo/${grub}.efi Gentoo gentoo add_os_if_exists /EFI/opensuse/${grub}.efi openSUSE opensuse add_os_if_exists /EFI/linuxmint/${grub}.efi "Linux Mint" linuxmint add_os_if_exists /EFI/boto/bootx64.efi OPENTHOS openthos add_os_if_exists /EFI/Microsoft/Boot/bootmgfw.efi Windows windows for d in $cmdpath $prefix; do if [ -f $d/custom.cfg ]; then source $d/custom.cfg fi done
Code:# # 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 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_gpt insmod ext2 set root='hd0,gpt2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 c205b398-acd4-4c73-bdd2-c418b64cdd4e else search --no-floppy --fs-uuid --set=root c205b398-acd4-4c73-bdd2-c418b64cdd4e fi font="/usr/share/grub/unicode.pf2" fi if loadfont $font ; then set gfxmode=1920x1080 load_video insmod gfxterm set locale_dir=$prefix/locale set lang=en_US insmod gettext fi terminal_output gfxterm insmod part_gpt insmod ext2 set root='hd0,gpt2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 c205b398-acd4-4c73-bdd2-c418b64cdd4e else search --no-floppy --fs-uuid --set=root c205b398-acd4-4c73-bdd2-c418b64cdd4e fi insmod png background_image -m stretch /etc/PinguyBuilder/grub.png if [ "${recordfail}" = 1 ] ; then set timeout=10 else if [ x$feature_timeout_style = xy ] ; then set timeout_style=menu set timeout=10 # Fallback normal timeout code in case the timeout_style feature is # unavailable. else set timeout=10 fi fi ### END /etc/grub.d/00_header ### ### BEGIN /etc/grub.d/05_debian_theme ### insmod part_gpt insmod ext2 set root='hd0,gpt2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 c205b398-acd4-4c73-bdd2-c418b64cdd4e else search --no-floppy --fs-uuid --set=root c205b398-acd4-4c73-bdd2-c418b64cdd4e fi insmod png if background_image /etc/PinguyBuilder/grub.png; then true 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}" if [ "${1}" = "keep" ]; then set vt_handoff=vt.handoff=1 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 'Robolinux_10 GNU/Linux' --class robolinux_10 --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-c205b398-acd4-4c73-bdd2-c418b64cdd4e' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 set root='hd0,gpt2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 c205b398-acd4-4c73-bdd2-c418b64cdd4e else search --no-floppy --fs-uuid --set=root c205b398-acd4-4c73-bdd2-c418b64cdd4e fi linux /boot/vmlinuz-4.15.0-43-generic root=UUID=c205b398-acd4-4c73-bdd2-c418b64cdd4e ro quiet splash $vt_handoff initrd /boot/initrd.img-4.15.0-43-generic } submenu 'Advanced options for Robolinux_10 GNU/Linux' $menuentry_id_option 'gnulinux-advanced-c205b398-acd4-4c73-bdd2-c418b64cdd4e' { menuentry 'Robolinux_10 GNU/Linux, with Linux 4.15.0-43-generic' --class robolinux_10 --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-43-generic-advanced-c205b398-acd4-4c73-bdd2-c418b64cdd4e' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 set root='hd0,gpt2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 c205b398-acd4-4c73-bdd2-c418b64cdd4e else search --no-floppy --fs-uuid --set=root c205b398-acd4-4c73-bdd2-c418b64cdd4e fi echo 'Loading Linux 4.15.0-43-generic ...' linux /boot/vmlinuz-4.15.0-43-generic root=UUID=c205b398-acd4-4c73-bdd2-c418b64cdd4e ro quiet splash $vt_handoff echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-4.15.0-43-generic } menuentry 'Robolinux_10 GNU/Linux, with Linux 4.15.0-43-generic (recovery mode)' --class robolinux_10 --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-43-generic-recovery-c205b398-acd4-4c73-bdd2-c418b64cdd4e' { recordfail load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 set root='hd0,gpt2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 c205b398-acd4-4c73-bdd2-c418b64cdd4e else search --no-floppy --fs-uuid --set=root c205b398-acd4-4c73-bdd2-c418b64cdd4e fi echo 'Loading Linux 4.15.0-43-generic ...' linux /boot/vmlinuz-4.15.0-43-generic root=UUID=c205b398-acd4-4c73-bdd2-c418b64cdd4e ro recovery nomodeset echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-4.15.0-43-generic } menuentry 'Robolinux_10 GNU/Linux, with Linux 4.15.0-39-generic' --class robolinux_10 --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-39-generic-advanced-c205b398-acd4-4c73-bdd2-c418b64cdd4e' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 set root='hd0,gpt2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 c205b398-acd4-4c73-bdd2-c418b64cdd4e else search --no-floppy --fs-uuid --set=root c205b398-acd4-4c73-bdd2-c418b64cdd4e fi echo 'Loading Linux 4.15.0-39-generic ...' linux /boot/vmlinuz-4.15.0-39-generic root=UUID=c205b398-acd4-4c73-bdd2-c418b64cdd4e ro quiet splash $vt_handoff echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-4.15.0-39-generic } menuentry 'Robolinux_10 GNU/Linux, with Linux 4.15.0-39-generic (recovery mode)' --class robolinux_10 --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-39-generic-recovery-c205b398-acd4-4c73-bdd2-c418b64cdd4e' { recordfail load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 set root='hd0,gpt2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 c205b398-acd4-4c73-bdd2-c418b64cdd4e else search --no-floppy --fs-uuid --set=root c205b398-acd4-4c73-bdd2-c418b64cdd4e fi echo 'Loading Linux 4.15.0-39-generic ...' linux /boot/vmlinuz-4.15.0-39-generic root=UUID=c205b398-acd4-4c73-bdd2-c418b64cdd4e ro recovery nomodeset echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-4.15.0-39-generic } menuentry 'Robolinux_10 GNU/Linux, with Linux 4.15.0-38-generic' --class robolinux_10 --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-38-generic-advanced-c205b398-acd4-4c73-bdd2-c418b64cdd4e' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 set root='hd0,gpt2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 c205b398-acd4-4c73-bdd2-c418b64cdd4e else search --no-floppy --fs-uuid --set=root c205b398-acd4-4c73-bdd2-c418b64cdd4e fi echo 'Loading Linux 4.15.0-38-generic ...' linux /boot/vmlinuz-4.15.0-38-generic root=UUID=c205b398-acd4-4c73-bdd2-c418b64cdd4e ro quiet splash $vt_handoff echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-4.15.0-38-generic } menuentry 'Robolinux_10 GNU/Linux, with Linux 4.15.0-38-generic (recovery mode)' --class robolinux_10 --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-38-generic-recovery-c205b398-acd4-4c73-bdd2-c418b64cdd4e' { recordfail load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 set root='hd0,gpt2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 c205b398-acd4-4c73-bdd2-c418b64cdd4e else search --no-floppy --fs-uuid --set=root c205b398-acd4-4c73-bdd2-c418b64cdd4e fi echo 'Loading Linux 4.15.0-38-generic ...' linux /boot/vmlinuz-4.15.0-38-generic root=UUID=c205b398-acd4-4c73-bdd2-c418b64cdd4e ro recovery nomodeset echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-4.15.0-38-generic } } ### END /etc/grub.d/10_linux ### ### BEGIN /etc/grub.d/20_linux_xen ### ### END /etc/grub.d/20_linux_xen ### ### BEGIN /etc/grub.d/20_memtest86+ ### ### END /etc/grub.d/20_memtest86+ ### ### BEGIN /etc/grub.d/25_custom ### menuentry "EFI/BOOT/bkpbootx64.efi" { search --fs-uuid --no-floppy --set=root 7A0A-6071 chainloader (${root})/EFI/BOOT/bkpbootx64.efi } menuentry "EFI/Android/bootia32.efi" { search --fs-uuid --no-floppy --set=root 7A0A-6071 chainloader (${root})/EFI/Android/bootia32.efi } menuentry "EFI/BOOT/bootia32.efi" { search --fs-uuid --no-floppy --set=root 7A0A-6071 chainloader (${root})/EFI/BOOT/bootia32.efi } menuentry "EFI/BOOT/fbx64.efi" { search --fs-uuid --no-floppy --set=root 7A0A-6071 chainloader (${root})/EFI/BOOT/fbx64.efi } menuentry "EFI/robolinux_10/mmx64.efi" { search --fs-uuid --no-floppy --set=root 7A0A-6071 chainloader (${root})/EFI/robolinux_10/mmx64.efi } menuentry "EFI/ubuntu/fwupx64.efi" { search --fs-uuid --no-floppy --set=root 7A0A-6071 chainloader (${root})/EFI/ubuntu/fwupx64.efi } menuentry "EFI/ubuntu/mmx64.efi" { search --fs-uuid --no-floppy --set=root 7A0A-6071 chainloader (${root})/EFI/ubuntu/mmx64.efi } ### END /etc/grub.d/25_custom ### ### BEGIN /etc/grub.d/30_os-prober ### ### END /etc/grub.d/30_os-prober ### ### BEGIN /etc/grub.d/30_uefi-firmware ### menuentry 'System setup' $menuentry_id_option 'uefi-firmware' { fwsetup } ### 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 ###
Working in Grub Customizer to see if I can get it to make it boot but this is what I have so far.
Thanks again for all of the help!
Frank
Bookmarks