Legacy install on a UEFI box
In a recent post, I mentioned the issue of installing opensuse for legacy booting, even though the installer was booted using UEFI. I suggested that it was possible.
I have since tested that, and it worked as expected.
In this case, I installed to an external drive, because my internal drives all used GPT partitioning. And part of the issue was whether I could retain legacy partitioning.
If you want to try this, it is important that you create the partitions you want before you start the installer. All of the evidence I have seen suggests that if you partition during the install, then the disk will be converted to GPT partitioning. So partition first, install later.
I used an already partitioned 80G external drive. It’s really an old IDE hard drive in an external enclosure. It is partitioned with a 500M “/boot” (formatted “ext2”), and the rest of the disk in an encrypted LVM containing root, home and swap volumes.
Booting the installer
The computer that I used was already configured for secure-boot. So I left it that way. I used the opensuse 13.2 64-bit DVD installer, written to a USB. I inserted that flash drive, powered on the computer, and hit F12 to get the firmware boot menu. I selected the USB flash drive for booting. Then, while it was booting, I plugged in the 80G external drive where I wanted to install opensuse.
The installer screen with suggested partitioning soon came up (after I had accepted the license agreement). I did not accept the suggestions. Instead, I clicked on “create partitioning”. Then, on the next screen, I selected “expert mode”.
That gave me a list of partitions. I selected those that I wanted to use. And I deselected others that it had preselected. I set it to reformat “/boot” and the root logical volume.
When I told the installer to accept the partitioning, it complained. This was expected. It complained that there was no FAT partition assigned to “/boot/efi”, and it warned that booting would fail.
I clicked the button to continue. Next were the screens for setting timezone and the user name. After that, there was a summary screen listing the software, booting, etc.
I clicked on the header for booting. There, I switched from “grub2-efi” to plain “grub2”. I set it to install to the MBR of the external drive.
I then proceeded with the install. It went smoothly.
Now came the important test. Could I boot the newly installed system. Well, of course, that would not have worked because the computer was set for secure-boot. So I went into the BIOS settings, and disabled secure-boot. Then I made sure that legacy booting support (CSM or compatibility support module) was enabled.
Then I booted, and hit F12 to get the firmware boot menu. I selected the 80G external drive. And it booted up nicely.
My conclusion: even if you boot the installer in UEFI mode, it is possible to install for legacy booting. You do need a little knowledge to get it right. The main steps are to partition before you boot the installer, and to switch to non-EFI booting (grub2 rather than grub2-efi) for the install.