There was a interesting post about uefi boot in lobsters. Particularly nice was the comparison of how the old style BIOS determines what is bootable versus how the UEFI system does it. Of course I was familiar with how BIOS does it (I wrote toy OS once), but when those methods are lined next to each other it’s easy to see how crazy BIOS way is in multiboot systems.
Currently both of my computers have booted with UEFI for while and I must say I am perfectly happy with them. My desktop is especially sweet, as it does have both Linux and Windows. With grub all the disks containing an OS were tightly coupled because all boot configurations were gathered into the partition where grub was located. This was actually the reason why I had small, almost ten year old spinning rust disk as my main HDD. It was too much pain to move grub around! Particularly annoying with grub was that I had to either keep different distro configurations synced by hand or make multiple grub installations on different disks and dance around in the BIOS menus to boot from correct HDD.
With UEFI situation is a lot simpler: Windows registered itself during install and later I added gummiboot as boot manager for Arch. Deciding which one to start during boot is easy: simple key press during opens menu which lists all registered boot managers. If I would like to add another distro, I could add its boot manager to UEFI and distribution could keep list of kernels/options updated however it wants.
It also helps that I happen to like gummiboot. It’s really easy to configure, unlike grub2: reading gummiboot manpage takes only couple minutes and it contains all necessary information to get everything working. Gummiboot implementation is only about thousand lines of C, where most of the lines seems to be needed for making pretty selection menu. Often simple implementation leads to simple usage.
It is pity that gummiboot cannot be used with secure boot. Although that isn’t issue for now as I don’t have secure boot enabled motherboard, which means that in the future I need to learn to use yet another boot manager. Of course I could just disable the secure boot functionality, but I actually kind of like its idea. Well, time for that adventure probably isn’t soon.