You are not logged in.
SOLUTION: rename grubx64.efi to bootx64.efi and instead of putting it in EFIPARTITION/EFI/arch_grub it must be in EFIPARTITION/EFI/boot
Hi. Could anyone help me out?
I installed the grub2-efi-x86_64 package with pacman and installed it on the hidden EFI system partition alongside the Apple bootloader. As mentioned in the GRUB2 wiki, I ran these commands to set GRUB2 as the default boot option:
cd /Volumes
mkdir efi
sudo mount -t msdos /dev/disk0s1 /Volumes/efi
sudo bless --folder=/Volumes/efi --file=/Volumes/efi/efi/arch_grub/grubx64.efi --setBoot
sudo bless --mount=/Volumes/efi --file=/Volumes/efi/efi/arch_grub/grubx64.efi --setBootThis does work, however, I have to wait as much as 30 seconds at a white screen before GRUB2 actually starts up.
The MacBook wiki page says to run this command to avoid the wait:
sudo bless --device /dev/disk0s1 --setBoot --legacyWhere /dev/disk0s1 is where I installed the bootloader.
EDIT: I noticed that the article says this is for BIOS compatibility mode. I have the efi version of GRUB2 installed. So that's cleared up.
So I ran the command and rebooted and the screen changes after only 10 seconds instead of 30 and then...wait for it...missing operating system.
I quite obviously have an operating system installed so there must be something wrong with the command I ran.
I tried also appending "--legacy" to the first two bless commands but still "missing operating system".
Last edited by Splooshie123 (2012-04-11 03:38:16)
Offline
Hi Sploshie123.
Could you try this from an arch linux install.
$ mkdir /boot/efi
$ mount -t vfat /dev/sda1 /boot/efi
$ grub-install --directory=/usr/lib/grub/x86_64-efi --target=x86_64-efi --root-directory=/boot/efi --boot-directory=/boot/efi/efi --bootloader-id=arch_grub --recheck --debug
$ grub-mkconfig -o /boot/efi/EFI/grub/grub.cfgI have a macbook pro too and with this commands I don't have any delay problems.
More information here, https://wiki.archlinux.org/index.php/GR … _systems_2
P.D: I have rEFIt installed on my mac os x partition.
Last edited by ionthas (2012-04-04 20:14:38)
Offline
That's how I installed grub in the first place.
I don't use rEFIt. I've used it before but removed it. And what would be the point of installing a bootloader that loads into another bootloader?
I can only use rEFIt to start grub because my Arch install is has LVM.
Last edited by Splooshie123 (2012-04-05 07:31:01)
Offline
You can also consider using the EFI_STUB method that is enabled in kernel 3.3, which makes the kernel itself behave like an EFI application. That way you can boot straight into Arch without using grub.
ᶘ ᵒᴥᵒᶅ
Offline
I have arch in logical partitions. I use grub2 because it can boot from LVM.
Offline
SOLVED
Apple's EFI firmware is hardcoded to look for alternative bootloaders in /EFISYSPARTITION/EFI/boot/bootx64.efi
Moving grubx64.efi from arch_grub to boot and renaming it to bootx64.efi solves the problem.
However, it seems that if an alternative bootloader is available, the firmware will boot it regardless of what volume is blessed as the startup volume.
My workaround is to set the default entry to boot OS X and put a very short timeout (3 seconds) so I can boot into Arch if I want.
Offline
You can also try https://wiki.archlinux.org/index.php/Un … h_EFI_STUB .
Offline