I have a little problem, I am trying to install Arch on my new X86_64 computer, I can boot to the live USB, but when I have finished my install, I can't boot the SSD, my motherboard (an MSI 760GA-p43 FX) is says that there isn't any bootable devices.
The installation and configuration of grub doesn't throw any errors, and efibootmgr says that the entry has been added on the UEFI. But once I reboot to the live usb, efibootmgr says that the entry for the SSD has disappeared...
I have tried with GPT and MBR partitioned disk and I tried to install fedora without any luck.
Last thing, I am installing via an USB key (that may cause fedora to fail his install, but I didn't read enywhere that there were the same problems with arch)
I will try a new fresh install and post the result of efibootmgr -v once it is finished.
Any suggestions ?
Thanks in advance
If your NVRAM entry, as revealed by "efibootmgr -v", is disappearing, then you've got a flaky EFI and/or there's a bug in efibootmgr that's interacting with your EFI. The three best solutions to this problem are:
Upgrade your firmware. With luck this will fix whatever bug it has. This method isn't guaranteed to work, though, or even to be possible.
Use an EFI version 2 shell and its bcfg command to create your boot entry. See the Arch wiki for details on this approach. Note that this method doesn't always work; some EFIs are just very badly broken.
Rename your boot loader's directory to EFI/BOOT and rename the boot loader to bootx64.efi. In other words, the boot loader should be EFI/BOOT/bootx64.efi. This is the fallback boot loader filename, and almost all EFIs launch it if it's present but NVRAM entries are not present or don't work. This approach is therefore almost certain to work. On some systems, you can use EFI/Microsoft/Boot/bootmgfw.efi instead of EFI/BOOT/bootx64.efi, since some manufacturers hard-code Microsoft's boot loader filename instead of properly managing their NVRAM entries.
First of all, thanks a lot for your fast answer !
I have already tried to boot to the EFI shell V2, but it throwed an error : !!!! X64 Exceptuin type - 000000000003 !!!! (not sure of the number of 0)
and about the third solution, do I have to put bootx64.efi on a the folder EFI/BOOT of the /boot/efi partition, or on this folder from the / partition ?
If this doesn't work I'll try to update the firmware, but I saw on MSI's website that it needed a program installed on windows.
The fallback boot loader is EFI/BOOT/bootx64.efi on the EFI System Partition (ESP). The ESP is usually mounted at either /boot/efi or /boot in Linux, but of course the mount point is fairly arbitrary, which is why I try to to refer to a complete Linux file path when describing ESP files -- that file path will differ from one computer to another.
Another neat thing to note: most EFI firmware will show bootable efi applications if they are called EFI\BOOT\boox64.efi - so the fallback bootloader is how you make a USB bootable via UEFI on any machine. Copy your EFI\arch_grub\grubx64.efi file to EFI\BOOT\bootx64.efi (yeah, rename it) and see if that works. The fallback doesn't rely on efibootmgr.
As srs5694 says here, these directories are all within the ESP (a mistake I just made and he pointed out to me), so look at your fstab and if it is mounted at /boot/efi then the paths follow that, etc.
also, just copy the grubx64.efi file, and leave all the rest of the grub files in place.
Last edited by jakh (2013-04-24 01:21:46)
It worked ! thanks a lot guys, and long life to arch !