Dual boot with BIOS and EFI?

10,573

Solution 1

Simple rules for installation and booting:

a) Windows can boot only BIOS way from MBR style disk

(using MBR record + partition boot record + boot manager on active partition).

b) Windows can boot only UEFI way from GPT style disk

(here boot manager is on EFI System partition).

c) Linux/GRUB can boot BIOS way from MBR style disk.

d) Linux/GRUB can boot either BIOS way or UEFI way from GPT disk

(when booting BIOS way from GPT disk Linux/GRUB uses a special separate boot partition).

Now you can make combinations when dual-booting Windows and Linux.


If you have UEFI firmware it is best to install both Linux and Windows to a GPT disk (disk can be formated/styled to GPT using Linux tools or Windows tools) and boot both systems the UEFI way.


There are even disk tools which can transform an MBR styled disk to GPT styled disk keeping current partition contents (e.g. OS installations)! Transforming GPT to MBR is not possible in general.

Only rewriting boot manager/loader to UEFI would be enough (after MBR to GPT disk transformation) to boot the OS (Windows or Linux) - no need to reinstall (eventually creating additionally EFI System and MS Reserved partitions on disk if missing after transformation).

Note:

If you want to install UEFI way - you boot installation media (DVD/USB) the UEFI way! (Obviously this can be done only if UEFI firmware present on computer.)

Solution 2

You haven't specified certain critical details, like how many disks you have and how they're partitioned. Therefore, a complete answer is not possible; however, a vague answer is likely to be that you need to install an EFI boot loader for Linux. There are many ways to do this. The two approaches that are likely to be easiest are:

  • Boot Repair -- You can run the Boot Repair program from an EFI-mode boot and tell it to re-install GRUB. The trick is to get an EFI-mode boot, which of course you can't do from your current Ubuntu installation. The easiest solution is to boot an Ubuntu installation disk in EFI mode and run Boot Repair from it. To force an EFI-mode boot, try disabling the BIOS/CSM/legacy support in your firmware setup utility.
  • rEFInd -- You can download the USB flash drive or CD-R image of my rEFInd boot manager, boot your current Ubuntu installation with it, and then install rEFInd in Ubuntu using the Debian package or PPA. This will leave rEFInd in charge of the boot process; you'll no longer need GRUB.

If you have problems or need further elaboration, please edit your question to include the disk details I mentioned earlier.

Share:
10,573

Related videos on Youtube

foxite
Author by

foxite

Updated on September 18, 2022

Comments

  • foxite
    foxite over 1 year

    I installed Ubuntu on a different PC than the one it's running on right now. The old one only had BIOS support, so it's installed that way. I recently installed Windows 7, using UEFI, because it wouldn't install if I did it using BIOS. (I was told that the new motherboard only had UEFI support, but Ubuntu still working.) However, GRUB only recognizes Ubuntu and not Windows, and the Windows bootloader did not even overwrite the MBR for GRUB - booting normally, without invoking the boot menu, boots Ubuntu.

    So in short:

    • Ubuntu was installed first, using BIOS.
    • Windows was installed later, using UEFI.
    • Neither bootloader can discover the other OS. I want to add Windows to the GRUB menu.

    How do I make GRUB recognize the Windows installation, or is this not possible?

    • Ramhound
      Ramhound almost 8 years
      This isn't possible with Windows. Windows flat out refuses to boot MBR partitions in EFI mode, and GPT partitions in legacy mode.
    • foxite
      foxite almost 8 years
      @Ramhound. Oh. Does this mean that it will be possible if I reinstall Ubuntu on UEFI?
    • Tom Yan
      Tom Yan almost 8 years
      You can also look into rEFInd, which supports launching legacy BIOS bootloaders (e.g. GRUB "i386-pc"). You can also just install GRUB "x86_64-efi" additionally.