Friday, May 2, 2014

How to fix "invalid EFI file path" from dual boot EFI Windows 8 and CentOS


Problem : When trying to dual boot to Windows 8, "invalid EFI file path" error is displayed

Reason : CentOS grub did not find Windows 8 EFI correctly

File needs to be modified : /boot/efi/EFI/redhat/grub.conf

Before :

title Other
    rootnoverify (hd0,4)
    chainloader +1


After :

title Windows 8
    root (hd0,1)
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi

   

Although (hd0,4) is where Windows 8 located (/dev/sdb5) , we should put where the file EFI/Microsoft/Boot/bootmgfw.efi is located. (hd0,1) is where bootmgfw.efi is located (/dev/sdb2)

After grub.conf is modified, it will boot fine.

[root@novo etc]# df -k /boot/efi
Filesystem     1K-blocks  Used Available Use% Mounted on
/dev/sdb2         262144 29488    232656  12% /boot/efi


[root@novo efi]# ls -ld /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
-rwx------. 1 root root 1616728 Feb 22 10:44 /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

2 comments:

  1. Wish I'd found this post earlier as I had been scratching my head for several hours with a Windows Server 2012R2 / CentOS 6.5 dual boot setup on a 6TB HDD in a test/support environment.

    ReplyDelete
    Replies
    1. I understand your pain. I also scratched my head for hours searching high and low. I am glad it helped!

      Delete