How does booting multiple OSs from multiple disks work in terms of UEFI? I have SSD0 on which Windows 7 is installed, and SSD1 on which I'd like to have Xubuntu and Arch Linux. I understand the process when one disk is involved, but have no idea when it comes to multiple disks.

Thank you.

2 Answers 2


There are really three issues:

  • Boot loader location -- Boot loaders may be located on the primary disk's ESP, on the secondary disk's ESP, or on non-ESP partitions on either disk. Officially, the EFI spec allows the firmware to launch a boot loader from any ESP, but in practice non-ESP locations also often work if the partition in question uses FAT or if you've got a suitable driver installed. rEFIt, rEFInd, and GRUB 2 can redirect the boot process to boot loaders stored on other than the main ESP, although they need drivers to read non-FAT (or non-HFS+ on Mac) partitions. Some boot loaders, such as gummiboot, are limited to supporting the partition from which they launched, which could necessitate putting all your boot loaders on one ESP.
  • OS installation location -- An ESP-resident boot loader must necessarily support launching an OS that's primarily resident on some other partition. In principle, there's no reason this partition can't reside on another physical disk entirely, and I don't know of any practical impediments to doing so. Thus, you can install a boot loader on the primary disk's ESP and have it boot your main OS from the secondary disk.
  • Kernel location -- Linux boot loaders such as GRUB Legacy and GRUB 2 can load Linux kernels from locations other than the ESP, and in principle this other location can be a physically separate disk. In theory, ELILO can do the same, but I've never managed to get this to work. A kernel configured as an EFI stub loader must either be stored on an ESP or be loaded by an EFI that's less fussy about this or by a boot manager like rEFInd that can redirect to another partition or another disk. Thus, your kernel might need to be stored on the primary disk's ESP in some configurations. (Ubuntu uses GRUB 2 by default, so a standard Ubuntu installation is pretty flexible in this respect.)

In the end, there are few major limitations, at least in principle. You might run into some issues with buggy firmware implementations or if you use certain boot loader combinations, but you should be able to overcome these issues by proper placement of your boot loader and kernel files.

  • It is awesome that you are so active answering these questions, Rod! I went with rEFInd and it detected both OSs, but I am currently battling a Windows boot loop issue - superuser.com/questions/522664/…
    – underskor
    Commented Dec 22, 2012 at 2:20
  • If you are adding a new drive to install a new OS on, should you create an ESP on that new drive (assuming there already is one on the current drive)? And with an ESP on 2 drives, how do they interact? Commented Feb 15, 2015 at 15:55
  • A single ESP on a single disk is sufficient for handling as many OSes as you like on as many disks as you like, provided that ESP is big enough and there are no name conflicts. In theory, if you do create a second ESP on another disk, it should work more-or-less seamlessly with the first one. This may also be desirable or necessary if one disk is an external one that you move between systems. In practice, multiple ESPs can become confusing, both to you and to automated utilities, so I prefer to use just one whenever that's practical.
    – Rod Smith
    Commented Mar 5, 2015 at 18:48

When using a boot manager such as rEFInd, it auto-detects all installed bootloaders across your disks, not just the disk where the rEFInd bootloader resides.

You must log in to answer this question.

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