I have an Asus p8p67 Pro v3.0 motherboard running Arch. Until recently I booted via UEFI/rEFInd, but since attempting an install of PC-BSD on a partition of my SSD I have lost my rEFInd boot and can't reinstall it. If I boot up using Archboot in UEFI mode I find that I can add entries to the UEFI, but they disappear after a reboot.
After adding an entry using efibootmgr -c --disk /dev/sda --part 2 -l \\EFI\\refind\\refindx64.efi -L rEFInd:
Boot0000 (NV,BS,RT):* rEFInd HD(2,10800,fa000,f1b42355-6d60-4bc8-9741-f9c903682fb6)File(\EFI\refind\refindx64.efi)
BootCurrent (BS,RT): 0008
BootOrder (NV,BS,RT): 0000,0006,0007,0004,0008
After a reboot
BootCurrent (BS,RT): 0008
BootOrder (NV,BS,RT): 0006,0007,0004,0008
I now have to boot via bios-grub and everything appears ok. My hard drive is an OCZ Vertex3 ssd.
I have removed the cmos battery several times to no avail.
Any clues anyone?
Last edited by emogg (2013-01-09 22:58:51)
Normally ASUS boards are better-behaved than that. I do have two suggestions, though:
Install rEFInd as EFI/BOOT/bootx64.efi on the ESP and keep other entries out of the NVRAM. This will cause rEFInd to launch as the default boot loader when you boot in EFI mode, which should be sufficient.
Launch an EFI version 2 shell and use bcfg to add rEFInd to the NVRAM. The process is described more fully in the Arch wiki. Sometimes this approach works when efibootmgr doesn't.
Well I tried your method srs5694 but I still did not get a rEFInd menu.
I next created an EFI partition on another drive and got my rEFInd menu back!
My problem ssd info was as follows:
GPT fdisk (gdisk) version 0.8.5
Partition table scan:
BSD: not present
APM: not present
Found valid GPT with protective MBR; using GPT.
Command (? for help): p
Disk /dev/sda: 234441648 sectors, 111.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 14E42DBA-942F-4A8F-9210-4C792CB546CF
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 234441614
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 67583 32.0 MiB EF02 BIOS boot partition
2 67584 1091583 500.0 MiB EF00 EFI System
I couldn't see anything wrong, but I backed up my partitions with fsarchiver. Next I ran gdisk and created a new empty GUID partition table. I then recreated my partitions and restored the original data (including the EFI partition).
After editing refind.conf and the fstabs (for changed UUIDs) I was able to create a rEFInd UEFI menu entry for the ssd and boot from it.
I suppose PC-BSD must have wrecked something on my ssd, but I don't know what. Anyway there's a moral there somewhere!
Lastly I'll mark this subject as solved, when I find out how...
End of story
The cause of this is that the BSD installer marked the protective MBR as active, which led the UEFI to hide the EFI-Boot-Entries and to assume that you're only using MBR.
This seems to be common on mani UEFI-Systems.