LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 05-28-2020, 06:13 AM   #1
orrin5250
LQ Newbie
 
Registered: May 2020
Posts: 3

Rep: Reputation: Disabled
How to get grub straightened out for triple boot?


I am only able to boot into Manjaro using the Advanced > "fallback initramfs" selection on grub menu.

Here are the essentials:
  • This is an Asus Zenbook 15 UX533FN laptop preinstalled with Windows 10 (BIOS boots in EFI mode)
  • I then installed Arch on a second partition with grub
  • All good booting Windows or Arch from grub menu
  • For testing purposes I have installed Manjaro on 3rd partition - during install I assigned a root (/) partition but left EFI partition unassigned
  • After reboot into Arch > ran sudo update-grub and /boot/grub/grub.cfg is listed below

Fallback Manjaro (initrd /boot/initramfs-5.6-x86_64-fallback.img) on the grub menu is the only Manjaro selection that boots. The primary Manjaro option goes to the BIOS splash screen and sits idle. (Is there a log to evaluate this?) Windows and Arch are booting fine.

Any thoughts on how to fix this? I would generally prefer to boot from the Arch grub as this will probably be my primary OS. I guess I am wondering if this is just something that requires some tweaks to the grub configuration or if there is some fundamental error with my Manjaro installation attempt / setup.

ARCH# cat /boot/grub/grub.cfg:

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 ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  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 ext2
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  36f16651-079c-4bf3-8938-bacc1e8c43c9
else
  search --no-floppy --fs-uuid --set=root 36f16651-079c-4bf3-8938-bacc1e8c43c9
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_input console
terminal_output gfxterm
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
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-36f16651-079c-4bf3-8938-bacc1e8c43c9' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod fat
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  2668-FDA2
        else
          search --no-floppy --fs-uuid --set=root 2668-FDA2
        fi
        echo    'Loading Linux linux ...'
        linux   /vmlinuz-linux root=UUID=36f16651-079c-4bf3-8938-bacc1e8c43c9 rw  loglevel=3 quiet
        echo    'Loading initial ramdisk ...'
        initrd  /intel-ucode.img /initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-36f16651-079c-4bf3-8938-bacc1e8c43c9' {
        menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-36f16651-079c-4bf3-8938-bacc1e8c43c9' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod fat
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root  2668-FDA2
                else
                  search --no-floppy --fs-uuid --set=root 2668-FDA2
                fi
                echo    'Loading Linux linux ...'
                linux   /vmlinuz-linux root=UUID=36f16651-079c-4bf3-8938-bacc1e8c43c9 rw  loglevel=3 quiet
                echo    'Loading initial ramdisk ...'
                initrd  /intel-ucode.img /initramfs-linux.img
        }
        menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-36f16651-079c-4bf3-8938-bacc1e8c43c9' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod fat
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root  2668-FDA2
                else
                  search --no-floppy --fs-uuid --set=root 2668-FDA2
                fi
                echo    'Loading Linux linux ...'
                linux   /vmlinuz-linux root=UUID=36f16651-079c-4bf3-8938-bacc1e8c43c9 rw  loglevel=3 quiet
                echo    'Loading initial ramdisk ...'
                initrd  /initramfs-linux-fallback.img
        }
}

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

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

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-2668-FDA2' {
        insmod part_gpt
        insmod fat
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  2668-FDA2
        else
          search --no-floppy --fs-uuid --set=root 2668-FDA2
        fi
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
menuentry 'Manjaro Linux (20.0.1) (on /dev/nvme0n1p5)' --class manjarolinux --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-da799e1d-73a2-487b-8f54-7c62fa30b8a5' {
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  da799e1d-73a2-487b-8f54-7c62fa30b8a5
        else
          search --no-floppy --fs-uuid --set=root da799e1d-73a2-487b-8f54-7c62fa30b8a5
        fi
        linux /boot/vmlinuz-5.6-x86_64 root=UUID=da799e1d-73a2-487b-8f54-7c62fa30b8a5 rw quiet udev.log_priority=3
        initrd /boot/intel-ucode.img
}
submenu 'Advanced options for Manjaro Linux (20.0.1) (on /dev/nvme0n1p5)' $menuentry_id_option 'osprober-gnulinux-advanced-da799e1d-73a2-487b-8f54-7c62fa30b8a5' {
        menuentry 'Manjaro Linux (on /dev/nvme0n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.6-x86_64--da799e1d-73a2-487b-8f54-7c62fa30b8a5' {
                insmod part_gpt
                insmod ext2
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root  da799e1d-73a2-487b-8f54-7c62fa30b8a5
                else
                  search --no-floppy --fs-uuid --set=root da799e1d-73a2-487b-8f54-7c62fa30b8a5
                fi
                linux /boot/vmlinuz-5.6-x86_64 root=UUID=da799e1d-73a2-487b-8f54-7c62fa30b8a5 rw quiet udev.log_priority=3
                initrd /boot/intel-ucode.img
        }
        menuentry 'Manjaro Linux (Kernel 5.6.11-1-MANJARO x64) (on /dev/nvme0n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.6-x86_64--da799e1d-73a2-487b-8f54-7c62fa30b8a5' {
                insmod part_gpt
                insmod ext2
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root  da799e1d-73a2-487b-8f54-7c62fa30b8a5
                else
                  search --no-floppy --fs-uuid --set=root da799e1d-73a2-487b-8f54-7c62fa30b8a5
                fi
                linux /boot/vmlinuz-5.6-x86_64 root=UUID=da799e1d-73a2-487b-8f54-7c62fa30b8a5 rw quiet udev.log_priority=3
                initrd /boot/intel-ucode.img
        }
        menuentry 'Manjaro Linux (Kernel 5.6.11-1-MANJARO x64 - fallback initramfs) (on /dev/nvme0n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.6-x86_64--da799e1d-73a2-487b-8f54-7c62fa30b8a5' {
                insmod part_gpt
                insmod ext2
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root  da799e1d-73a2-487b-8f54-7c62fa30b8a5
                else
                  search --no-floppy --fs-uuid --set=root da799e1d-73a2-487b-8f54-7c62fa30b8a5
                fi
                linux /boot/vmlinuz-5.6-x86_64 root=UUID=da799e1d-73a2-487b-8f54-7c62fa30b8a5 rw quiet udev.log_priority=3
                initrd /boot/initramfs-5.6-x86_64-fallback.img
        }
}

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

### 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 ###
ARCH# sudo efibootmgr:

Code:
BootCurrent: 0002
Timeout: 2 seconds
BootOrder: 0002,0000
Boot0000* Windows Boot Manager
Boot0002* GRUB
Thanks for looking.
 
Old 05-28-2020, 11:46 AM   #2
sxy
Member
 
Registered: Aug 2019
Posts: 41

Rep: Reputation: Disabled
Hi,

From your grub.cfg
Code:
menuentry 'Manjaro Linux (20.0.1) (on /dev/nvme0n1p5)' --class manjarolinux --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-da799e1d-73a2-487b-8f54-7c62fa30b8a5' {
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  da799e1d-73a2-487b-8f54-7c62fa30b8a5
        else
          search --no-floppy --fs-uuid --set=root da799e1d-73a2-487b-8f54-7c62fa30b8a5
        fi
        linux /boot/vmlinuz-5.6-x86_64 root=UUID=da799e1d-73a2-487b-8f54-7c62fa30b8a5 rw quiet udev.log_priority=3
        initrd /boot/intel-ucode.img
}
submenu 'Advanced options for Manjaro Linux (20.0.1) (on /dev/nvme0n1p5)' $menuentry_id_option 'osprober-gnulinux-advanced-da799e1d-73a2-487b-8f54-7c62fa30b8a5' {
        menuentry 'Manjaro Linux (on /dev/nvme0n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.6-x86_64--da799e1d-73a2-487b-8f54-7c62fa30b8a5' {
                insmod part_gpt
                insmod ext2
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root  da799e1d-73a2-487b-8f54-7c62fa30b8a5
                else
                  search --no-floppy --fs-uuid --set=root da799e1d-73a2-487b-8f54-7c62fa30b8a5
                fi
                linux /boot/vmlinuz-5.6-x86_64 root=UUID=da799e1d-73a2-487b-8f54-7c62fa30b8a5 rw quiet udev.log_priority=3
                initrd /boot/intel-ucode.img
        }
        menuentry 'Manjaro Linux (Kernel 5.6.11-1-MANJARO x64) (on /dev/nvme0n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.6-x86_64--da799e1d-73a2-487b-8f54-7c62fa30b8a5' {
                insmod part_gpt
                insmod ext2
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root  da799e1d-73a2-487b-8f54-7c62fa30b8a5
                else
                  search --no-floppy --fs-uuid --set=root da799e1d-73a2-487b-8f54-7c62fa30b8a5
                fi
                linux /boot/vmlinuz-5.6-x86_64 root=UUID=da799e1d-73a2-487b-8f54-7c62fa30b8a5 rw quiet udev.log_priority=3
                initrd /boot/intel-ucode.img
        }
        menuentry 'Manjaro Linux (Kernel 5.6.11-1-MANJARO x64 - fallback initramfs) (on /dev/nvme0n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.6-x86_64--da799e1d-73a2-487b-8f54-7c62fa30b8a5' {
                insmod part_gpt
                insmod ext2
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root  da799e1d-73a2-487b-8f54-7c62fa30b8a5
                else
                  search --no-floppy --fs-uuid --set=root da799e1d-73a2-487b-8f54-7c62fa30b8a5
                fi
                linux /boot/vmlinuz-5.6-x86_64 root=UUID=da799e1d-73a2-487b-8f54-7c62fa30b8a5 rw quiet udev.log_priority=3
                initrd /boot/initramfs-5.6-x86_64-fallback.img
        }
}
Bold lines have explained the reason why only the fallback entry works; real initrds from other entries are missing. Seems like a bug of os-prober, and you'll have to edit the grub.cfg file manually. Maybe you'll want to take a look at Microcode - ArchWiki.
 
1 members found this post helpful.
Old 05-29-2020, 07:29 AM   #3
orrin5250
LQ Newbie
 
Registered: May 2020
Posts: 3

Original Poster
Rep: Reputation: Disabled
Thanks, this worked perfectly. I appended /boot/initramfs-5.6-x86_64.img to the initrd commands and all is good. It appears the microcode portion is working properly as well.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Infinite Grub Loop: GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB... beeblequix MEPIS 2 11-02-2013 10:56 PM
fedora won't boot after Windows 8/triple boot Windows 7/8 Fedora 15 - no grub? idilly Linux - Laptop and Netbook 11 10-04-2011 11:38 PM
[SOLVED] how can I incorporate windows boot loader into grub? Triple boot, single hard drive olkirf Linux - Newbie 8 10-24-2010 08:36 AM
Grub: Triple Boot - fedora 9, Mac OS Lep, Vista. Mac boot prob. ? r.007don Linux - Newbie 6 10-19-2008 10:06 AM
Booting my new ubuntu install = "GRUB GRUB GRUB GRUB GRUB" etc. dissolved soul Ubuntu 2 01-13-2007 12:55 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 11:20 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration