5

Here is my current GPT/MBR partition table:

Current GPT partition table:
 #      Start LBA      End LBA  Type
 1             40       409639  EFI System (FAT)
 2         409640    663646255  Mac OS X HFS+
 3      663646256    664915791  Mac OS X Boot
 4      664915968   1164914687  Basic Data
 5     1164914688   1169649663  Linux Swap
 6     1169649664   1465149134  Unknown

Current MBR partition table:
 # A    Start LBA      End LBA  Type
 1              1       409639  ee  EFI Protective
 2         409640    663646255  af  Mac OS X HFS+
 3      663646256    664915791  ab  Mac OS X Boot
 4 *    664915968   1164914687  07  NTFS/HPFS

The above is information I got from the 'Partition Inspector' on Mac OS X. Here is the situation:

Partition2: I have Mac OS X 10.7 installed Partition4: I have Windows 8 Release Preview installed Partition6: I have Arch installed (without boot loader)

I have rEFIt installed.

This is what I am able to do:

  1. Boot into Mac and Windows using rEFIt.
  2. Boot into the Arch setup on my USB drive and chroot into the installed system.

This is what I am not able to do:

  1. Boot into the installed Arch system and/or install a boot loader.

So what I basically need is to install a boot loader. I followed the instructions given in the Arch manual, but installing both grub-bios and grub-efi-x86_64 is not working.

  1. Installing grub-bios gives an error 'Cannot identify filesystem on /dev/sda' and grub-efi-x86_64 gives an error saying 'Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables. Try 'modprobe efivars' as root'. I tried mod probe efivars, but it didn't help the situation. I get the above error when I run the command:

    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck

My basic question is what options do I have to setup my triple boot.. since I am almost there.

PS Is it possible for me to simply boot from rEFIt? Like how I would do it from grub by specifying the root, kernel and initrd parameters?

2
  • Did you mount /dev/sda1 as /boot/efi before running the grub-install command?
    – nitro2k01
    Commented Jan 26, 2014 at 2:09
  • Please stop using rEFIt! Please use rEFInd. rEFIt is no longer supported, as of a long time ago.
    – pilona
    Commented Jun 14, 2014 at 21:42

1 Answer 1

0

You do not need to install a bootloader for Arch here. EFISTUB has been in the kernel for a long time. You can boot it directly from rEFIt, though you really should use rEFInd. Also, please stop using GRUB 2, especially blindly.

  1. Put the linux kernel image and the initramfs (presumably you are initramfs booting, though if you really know what you are doing, you may not be) on the ESP.
  2. Configure whatever EFI boot manager you end up choosing, to also allow you to chose to boot Arch Linux. In my /EFI/archlinux/archlinux.conf (as seen from the Mac, no separate ESP, file included by /EFI/refind/refind.conf), I have something like the following.

    menuentry "Arch Linux custom kernel" {
        icon EFI/refind/icons/os_arch.png
        loader EFI/archlinux/vmlinuz-linux
        initrd EFI/archlinux/initramfs-linux.img
        options "root=/dev/mapper/fastvg-rootlv ro"
    
        submenuentry "fallback" {
            initrd EFI/archlinux/initramfs-linux-fallback.img
        }
    }
    

Adjust accordingly.

Please understand what boot loaders and boot managers are before following instructions blindly. Here is some suggested reading on EFI

efivars hasn't been used by Arch Linux in a relatively long time. It's not even in the stock kernel config. efivarfs should already be mounted anyhow.

You must log in to answer this question.

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