Dual Boot with RHEL WS 6 and Opensuse 11.4: invalid EFI file path error 1:

Hello,
I apologize if this seems trivial but this is my first at dual booting and I havent been able to google a soln. I’m trying to setup my system to have the option of booting into either RHEL 6 or Opensuse 11.4. I installed RHEL 6 first then Opensuse 11.4. I then modified the grub.conf file under /media after i successfully booted into RHEL 6. I initially appended the contents of menu.lst from Opensuse to the content of the grub.conf file that i just mentioned. (pls see code below) That did not work and i later learned that i had to do something called chain loading. So i tried that as well (pls see code below). Booting into RHEL still works, but when i select to boot into Opensuse, I get the following error:

“invalid EFI file path
Error 1: Filename must be either an absolute pathname or blocklist
Press any key to continue”


# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,1)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_thzrad-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda1
device (hd0) HD(1,800,64000,7d398c6c-654c-45db-af3a-ddb39a0f7453)
default=0
timeout=5
splashimage=(hd0,1)/grub/splash.xpm.gz
#hiddenmenu
title Red Hat Enterprise Linux (2.6.32-279.el6.x86_64)
    root (hd0,1)
    kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg_thzrad-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M rd_NO_DM rd_LVM_LV=vg_thzrad/lv_swap  KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg_thzrad/lv_root rhgb quiet
    initrd /initramfs-2.6.32-279.el6.x86_64.img


# Modified by YaST2. Last modification on Tue Aug 21 13:45:48 PDT 2012
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# For the new kernel it try to figure out old parameters. In case we are not able to recognize it (e.g. change of flavor or strange install order ) it it use as fallback installation parameters from /etc/sysconfig/bootloader

#default 0
#timeout 8
#gfxmenu (hd1,1)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
#title openSUSE 12.1
#    root (hd1,1)
#    kernel /boot/vmlinuz-3.1.0-1.2-desktop root=/dev/disk/by-id/ata-Hitachi_HDS721010CLA630_JP2940N103HBWV-part2 resume=/dev/disk/by-id/ata-Hitachi_HDS721010CLA630_JP2940N103HBWV-part1 splash=silent quiet showopts vga=0x346
#    initrd /boot/initrd-3.1.0-1.2-desktop

###Don't change this comment - YaST2 identifier: Original name: failsafe###
#title Failsafe -- openSUSE 12.1
#    root (hd1,1)
#@                                                                               @                                                                               
#"menu.txt" 19L, 1190C


title openSUSE 12.1
#root (hd1,1)
#chainloader (hd1,1)+1
rootnoverify (hd1,1)
chainloader +1


I’ve also attached the fdisk output in case that may help:


fdisk -l

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1      121602   976762583+  ee  GPT

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x356b537a

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         262     2103296   82  Linux swap / Solaris
Partition 1 does not end on cylinder boundary.
/dev/sdb2             262        2873    20972544   83  Linux
/dev/sdb3            2873      121602   953684992   83  Linux

Disk /dev/mapper/vg_thzrad-lv_root: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/mapper/vg_thzrad-lv_swap: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/mapper/vg_thzrad-lv_home: 941.5 GB, 941482835968 bytes
255 heads, 63 sectors/track, 114462 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000



Any clues/advise is greatly appreciated.
thanks in adv,
Phil

It doesn’t seem “trivial” at all. Your first partition uses GUID, your second partition uses MBR … and you’re using Legacy Grub. You need to be more specific about what you installed … when and how? How come your first hdd has a GPT? Is your BIOS a UEFI BIOS? Or did you install Red Hat on a blank hard disk (without MBR at all). In such a case, Fedora would create a GPT (I don’t know about RHEL6) , whether you have a UEFI BIOS or not and create a “BIOS” partition, which is basically the same as a EFI partition, except that it is binary. All I can say is that it is not trivial at all. You should post the output of

# parted -l

because, as you might have noticed, fdisk is not able to read GPT. But even if I could see your GPT on sda, I’m not sure what to do in such a case. :frowning:

I know that fedora uses grub-efi (not to be confused with grub2-efi), which is a UEFI aware Legacy Grub. Maybe the output of the following command under RHEL6 will tell us if that’s what you have:

# rpm -qa | grep grub

You should install gdisk under Red Hat (it is available for Fedora) and post the output of

gdisk -l /dev/sda

But even though … it is not trivial.

You don’t have to chainload openSUSE. You could. But you can also boot openSUSE kernel directly. Why did you comment out this entry?


###Don't change this comment - YaST2 identifier: Original name: linux### 
#title openSUSE 12.1 
#    root (hd1,1) 
#    kernel /boot/vmlinuz-3.1.0-1.2-desktop root=/dev/disk/by-id/ata-Hitachi_HDS721010CLA630_JP2940N103HBWV-part2 resume=/dev/disk/by-id/ata-Hitachi_HDS721010CLA630_JP2940N103HBWV-part1 splash=silent quiet showopts vga=0x346 
#    initrd /boot/initrd-3.1.0-1.2-desktop

It looks perfectly legat to me.

Hi please_try_again, thanks again for coming to my rescue. Well, I tried one more thing now i can boot fine into the two different distros. I simply uncommented the opensuse entry; the one you mentioned above that I had commented. THANKS! btw, I would answer the other questions you have for the benefit of future readers, but quite honestly, im not even 100% positive why this worked… =p