The UEFI scene, and linux
Someone recently posted this link at opensuse forums:
It is a tale of woes and partial successes. If you google for “UEFI linux” (without the quotes), you will run into quite a few tales of woe.
My own experience is one of success. In all honesty, I did run into some of the same problems. I reported on those in an earlier post. Today, I want to describe what I have working.
When I boot up my UEFI box, I get a nice menu. As far as I know, PrintScreen doesn’t work with grub, so I can’t easily get a screen image. But I can type in what shows on the menu. And here it is (with added numbering for reference):
- openSUSE 12.3
- Advanced options for openSUSE 12.3
- Windows Boot Manager (on /dev/sda1)
- openSUSE 12.3 (x86_64) (on /dev/sdb4)
- Advanced options for openSUSE 12.3 (x86_64) (on /dev/sdb4)
The two “advanced options” entries (items 2 and 5) expand to a submenu of choices. For line 2, that submenu is:
- openSUSE 12.3, with Linux 3.7.10-1.1-desktop
- openSUSE 12.3, with Linux 3.7.10-1.1-desktop (recovery mode)
As background, I have installed opensuse 12.3 on this box twice, using different partitions. Lines 1 and 4 are for those two installations.
All of those menu entries work. Well, truthfully, I have not actually attempted the recovery mode entries, since I had no need to recover. Menu item 3 boots me into Windows 8.
Not only do these entries work, they work with secure boot enabled.
As far as I know, I could install any other linux distro, and have that added to the menu. There is, however, a limitation. If that other distro is not setup for secure boot, then I would have to disable secure boot on my box if I wanted to boot that system.
All is not rosy. If you were to install opensuse 12.3 today (on a UEFI box) you would probably run into difficulties, similar those that I mention in an earlier post. What is working for me now depends on two software updates that I am testing. Those are for bug reports 809038 and 810912 at the opensuse bugzilla. You won’t be able to find those updates there, as I think the temporary repos for them have been removed. I am hopeful that the updates will be released soon. And there are other traps that one can easily fall into. I’ll probably post an updated tutorial when those patches have been released (or maybe earlier).
Another caution is warranted. My testing has all been on one box. That’s a Dell Inspiron 660, with a Dell BIOS. Other computers may use different implementations of the UEFI firmware, and I have not tested those. Judging by what I have seen on the network, some firmware causes more serious problems than I have seen.
A general assessment
The main problem that people are having, are due to the steep learning curve. I am hopeful that, by the time opensuse 13.1 is released, the situation will be a lot better.
While there are problems with UEFI at present, I don’t believe that it is a fatally flawed system. The older MBR/BIOS style of booting was designed for the 1980s, when the IBM PC-XT came out with a hard drive of 10M. People said that was so big, nobody would ever fill it. My UEFI box came with a disk drive around 100,000 times as large. We have managed to keep the old MBR/BIOS style of booting with the aid of a lot of kludges, some of them ugly. Yes, UEFI is not perfect, but once we get used to it, we will be better off.
A note on BCDEDIT and EasyBCD
As best I can tell, those two Window utilities are not much use with UEFI. So don’t plan on getting them to work. I have spent a lot of time looking for ways to use them. I could not find any documented way of booting linux in UEFI mode with the Windows boot manager. I have also tried some experiments, and they have all failed. My best guess is that it is not possible at present. I do hope that Microsoft will make some changes to their boot manager, to make it possible to boot linux in a UEFI arrangement using the Window boot manager. But for now, there does not yet appear to be such a possibility. For the present, I am sticking to using grub2-efi as a boot manager, and booting Windows from there.