The expression “generic boot code” simply refers to boot code that is not specific to a particular operating system.
Newer computers are moving toward UEFI booting, but there are still many computers that use BIOS based MBR booting. And I still have some of those computers. Booting of such a computer starts with boot code in the MBR (or main boot record). And typically, that is generic boot code.
First a quick rundown on how MBR booting typically works.
The MBR is the first physical sector on the hard drive. When you power on the computer, the BIOS loads that sector into memory at a standard location, and then jumps to that memory location (starts running instructions from there). Normally a properly initialized MBR will have 0xaa55 as the last 16 bits (that’s hexadecimal). This is a boot flag and indicates that the disk is bootable. The BIOS usually checks for this flag before it jumps to the boot code that it has loaded from the MBR.
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. Read More…
I took the external drive, where I had installed opensuse 13.1 in UEFI mode, and decided to try to make it also bootable in MBR mode. In principle, that would allow the drive to be bootable on both newer UEFI boxes and older MBR based boxes.
This post describes what I did and how it turned out.
I’ll note that this is mostly an exercise to see what is possible. I don’t have any actual need for it. Read More…