I've installed CentOS 6.4 on UEFI enabled machine, created /boot/efi partitions.

But my grub is not automatically starting, if I start the PC, I start in Windows 8.
I can only start CentOS by entering the BIOS boot options and select CentOS.

I tried to modify the grub.conf file by modifying this

title XXXXX
   root (hd0,8)


title XXXXXX
   root (hd0,3)

Where (hd0,8) is my root partition, (hd0,3) is my /boot/efi partition.

But now the problem still occurs, I have to open Cent OS from the Bios boot options as well as another error, when I open CentOS I get file not found error.

How can I fix all this mess?

  • 4
    Usually you don't need grub when you have UEFI. UEFI can directly load the kernel if compiled with EFI_STUB, so there's rarely the need to chain two boot loaders.
    – Marco
    Commented May 20, 2013 at 23:46
  • 1
    @Marco stop selling that crap, are you going to help every person that follows your advice to update their boot configuration files every time they update their unsuspecting kernels? Commented May 26, 2013 at 12:57
  • 1
    @MichaelShigorin A kernel update requires a reboot, thus is something the sysadmin should be well aware of. And in the case the UEFI boot loader has not been updated, the old kernel is loaded and no harm done. Furthermore it's simply a matter of copying the kernel and initramfs to the EFI_SYSTEM partition and running efibootmgr, which is a shell three-liner. To fully automatise this, it can (on Debian systems) be hooked into /etc/kernel/postinst.d. Sorry, I don't get you point and I don't see a reason to resort to harsh language.
    – Marco
    Commented May 26, 2013 at 17:59

2 Answers 2


Read Rod's books on this but basically centos6 isn't the most fit distro for UEFI.

  • 1
    Please refrain from simply posting links. It's better to sum up the gist of it in case the links dies. Furthermore, you should elaborate why CentOS doesn't go well with UEFI.
    – Marco
    Commented May 26, 2013 at 18:01
  • I can only suggest that you go and read that particular page too. :) Commented Jun 6, 2013 at 11:44
  • I've implemented UEFI support in ALT Linux 7 branch and upon having done that would rather not consider backporting it for ALT Linux 6 branch which is quite a bit newer (particularly kernels) than RHEL6/CentOS6 releases are; e.g. EFI_STUB support you referred to in the other answer (as the factor reducing the need for boot loaders) appeared in Linux 3.x. It's not convenient, unfortunately. Commented Jun 6, 2013 at 11:48

Be careful, in your grub.conf, the root option should be your actual root partition, not the /boot/efi. So ensure the grub.conf contains the line root (hd0,8) as it was originally.

As your BIOS let you choose CentOS, it means the /boot/efi partition was correctly mounted when you upgraded grub. So now, the only missing step is to tell your BIOS to boot using Grub rather the Windows Boot Loader. Mine (ASUS laptop, American Megatrends BIOS) let me choose the boot priority: I've chosen

1: CentOS
2: Windows Boot Loader

then, when I power it on, it automatically runs Grub.

Also, ensure your "secure boot" is disabled.

Unfortunately, some UEFI implementations are lame, so not all of them let you choose the boot prority...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .