UEFI on Toshiba – it’s like the old wild west
I’ve been following a thread, and offering help, at opensuse forums. It concerns installing opensuse on a new Toshiba Ultrabook Z930 that came with Windows 8 pre-installed. The particular discussion thread is
and the most interesting part of the discussion is on what happened today, starting at about message #74 within that thread.
There are supposed to be two ways of booting a system. Booting directly from the hard drive uses the boot loader file “\EFI\Boot\bootx64.efi” in the EFI partition of the disk. (I deliberately use Windows notation for paths here). Alternatively, one can boot using a define NVRAM entry, where “NVRAM” stands for “non-volatile RAM” (or memory). The use of NVRAM is the preferred way of booting.
It turns out that this Toshiba has implemented NVRAM, but will only boot directly from the hard drive. So, after installing opensuse, the computer continued to boot into Windows. Looking at NVRAM with the command
shows that the needed boot entries for opensuse are there. But they are being ignored. The solution, for booting to opensuse, was to copy the opensuse boot files to “\EFI\Boot”, and then rename the primary one (“shim.efi”) to the standardized filename “bootx64.efi.
So now it only boots to opensuse. But that gives a grub menu, and Windows can still be selected from that menu. So the installed grub (really grub2-efi) is doing some of the work that the UEFI firmware was supposed to do.
Now that most new computers come with UEFI, it is going to be interesting as we try to help people install linux. Different UEFI implementations have different quirks, so the linux support community will have to learn how to deal with these quirks.