Some things should be easy but they are not. When I recently wanted to install Ubuntu 18.04 on a 10 year old notebook I was faced with a BIOS that had an early implementation of UEFI that just didn’t play along very nicely with today’s EFI bootloaders. It took me a while to figure this one out and the obvious solution then was to switch-off UEFI in the BIOS and boot with the ‘legacy’ BIOS boot loader that requires GRUB to be put on the MBR (Master Boot Record). So much for the theory. But unfortunately, my Ubuntu 18.04 USB installation stick still wouldn’t boot. After a lot of experimenting I found out why.
Let’s Try On Another Notebook
The thing that was really strange was that the USB boot stick pretended to work fine in another notebook while completely refusing to work in this 10 year old notebook I wanted to upgrade. But even on the other notebook, I could not install an image that could be booted by the legacy BIOS, the installer always terminated with a non-descriptive error message. Doing a default installation or manually creating an EFI partition before the system partition on the other hand always produced a bootable installation. But why couldn’t I create an installation with an MBR instead of an EFI partition?
The Thing With The Boot Disk Creation Tool
After a lot of experimenting I found out that the other notebook’s BIOS was set to boot via UEFI and legacy, with legacy being tried first. When I set the BIOS to legacy only, the USB stick also wouldn’t work. So despite ‘legacy’ being preferred the OS installer on the stick always booted in UEFI mode. Now that is strange, I thought, could it be that Ubuntu 18.04 now requires UEFI for booting and is no longer compatible with the legacy BIOS boot mode? Many retries later I figured out that it was not Ubuntu’s fault at all, but that the utility that I used to install the ISO boot image on the USB stick in the first place produced a boot stick that could only be used with an UEFI.
UNetbootin Is Great, But…
The tool I usually use to copy an ISO boot image to a USB stick and make it bootable is UNetbootin. It’s quick and works great. BUT, and that’s the big BUT, the resulting USB stick can only be booted with UEFI. No MBR for legacy boot is installed. Ah! Fortunately, there is a second tool in Ubuntu, the ‘Startup Disk Creator’. This tool installs both a legacy and an UEFI boot configuration on the stick so it will work with both methods.
How To Tell With Boot Method Is Used?
In case both boot methods are enabled in the BIOS, how can one tell which one is used? In the case of an Ubuntu 18.04 USB stick it can be easily told: If there is a text based screen from which ‘try Ubuntu’ or ‘install Ubuntu’ can be selected, UEFI is at work. If the USB stick boots straight into the GUI and only then offers the option of ‘trying’ or ‘installing’ then that was a legacy BIOS boot.
So several hours later, I had a USB boot stick that would actually work in that 10 year old notebook and I can confirm that the ‘Startup Disk Creator’ of Ubuntu 16.04 can be used for creating an Ubuntu 18.04 USB boot stick. A hard-earned piece of knowledge.