Ubuntu – Combining UEFI Ubuntu with MBR Windows

bootdual-bootgrub2mbruefi

After searching the internet for quite a while without finding a satisfying solution, I decided to ask a question here myself.

I'm running Windows 7 and Ubuntu 18 in a dual-boot system on my computer for quite a time already. Just recently I screwed up the Ubuntu system and instead of repairing it, I decided reinstalling would be quicker.

So, I created a bootable USB stick, tried to reinstall (including formatting) Ubuntu next to Windows and got the following error

grub-efi-amd64-signed package failed to install into /target/

Googling this error suggested, I just have to provide a /boot/efi/ mountpoint during installation. This already felt a bit strange, since I'm sure I didn't do this for the first installation back then. I tried this anyways and the system got installed successfully. The downside was, grub wasn't able to detect Windows 7.

A bit of further googling into the issue told me, grub2 refuses to detect non-UEFI bootloaders, which contradicts with my previous experiences (the same operating system has been installed before and dual-boot worked as it should).

A few more details:

  • The two operating systems are installed on to separate SDDs, each with its own bootloader.
  • The BIOS supports both boot methods (Legacy/UEFI)
  • For the Windows 7 disk, fdisk -l says Disklabel type: dos, which I assume implies, this SDD still uses the old MBR/Legacy boot method.
  • I can still tell the BIOS to boot the Windows disk and it works. This excludes the possibility of a broken Windows bootloader being the cause for grub not to detect it.
  • Ubuntu 18 uses grub2 (the default) as a bootloader. Since I already installed a new system, I can't tell which boot-type the old system used, or which Disklabel type it had.
  • When running update-grub2 only Ubuntu gets detected.
  • Running os-prober yields no result (respectively, an empty one).
  • I can mount and access the Windows disk when running Ubuntu.

One solution I found was to change the Windows boot type to UEFI, which I don't want to do, since this would imply migrating Windows or reinstalling it, which I don't want to do.

Does anyone know, how to install Ubuntu in a non-UEFI way, or make grub2 detect the MBR based Windows installation? I don't prefer any of the two (or possible other) ways.

If you need any further information, I'm very happy to deliver them.

Best wishes and thank you already for your answers!

Best Answer

Every motherboard has a slightly different BIOS/UEFI interface but you should notice two (or more) different entries for your USB drive in your boot options or boot priority list. Make sure that the non-UEFI option is chosen so the installer will default to legacy mode.

Otherwise, if you select your flash drive preceded with UEFI:, the installer will default to UEFI.

If there aren't any non-UEFI options shown, you may need to search for additional settings in your BIOS to disable UEFI or enable MBR. Sometimes this is called "legacy mode". Refer to your manufacturer's manual for hardware specific questions on how to do this.

Booting into legacy mode with the USB should make it easier for GRUB and the installer to find your Windows installation.

Related Question