Installation Error - The partition table format in use on your disks normally requires you to create a separate partition for boot loader code

30,662

Solution 1

Before you do anything else, determine whether your Windows is booting in EFI/UEFI mode or in BIOS/CSM/legacy mode! This information is critically important, since doing a mixed-mode install (Windows one way, Ubuntu the other) will lead to (Yoda voice) pain and suffering.

Your Windows boot mode is most easily determined by checking the partition table type for the Windows boot disk -- if it's GPT, Windows is booting in EFI mode; if it's MBR, Windows is booting in BIOS mode. A step-by-step in-windows procedure is on my Web page, here.

Once you've determined your Windows boot mode, plan to install Ubuntu in the same mode. You do this by controlling the boot mode of your Ubuntu installation medium. In most cases, you can do this by using the firmware's built-in boot manager. Selecting the option for the boot medium that includes the string "UEFI" boots in that mode, and selecting the option that lacks that string boots in BIOS/CSM/legacy mode. Older computers (those from before mid-2011 or thereabouts) are usually BIOS-only and so can boot only in that way. If you have problems booting in one mode or the other, you need to review how you created your boot medium. Many tools, especially older ones, omit the key EFI boot files, rendering the disk unbootable in EFI mode.

If you install in EFI mode, the Ubuntu installer will use GPT by default; and if you install in BIOS mode, the Ubuntu installer will use MBR by default. Your situation suggests that you partitioned the disk with GPT beforehand but booted in BIOS mode. Ubuntu can install in that way, but you need a BIOS Boot Partition for GRUB. I don't recall offhand if the Ubuntu installer uses that precise name for it; it might be called a "BIOS GRUB partition" or something similar by the installer. By whatever name, it's small (1MiB, typically) and does not carry a filesystem; simply create a small partition and identify it as being for use by GRUB, being a BIOS Boot Partition, or whatever. That said, it's probably better to use MBR for a BIOS-mode boot.

If Windows is installed in EFI mode, do not perform a BIOS-mode Ubuntu installation. If Windows is installed in BIOS mode, do not perform an EFI-mode Ubuntu installation. Remember: (Yoda voice) pain and suffering.

Also, in EFI mode, disconnecting disks to perform new OS installations is risky. The reason is that EFI relies on both on-disk information and information stored in NVRAM to boot an OS. When you disconnect a disk, many EFIs will erase the critical NVRAM information related to the now-disconnected disk. This is more of a problem when you disconnect a Linux disk than when you disconnect a Windows disk (because many EFIs hard-code the Windows boot loader as a fallback option), but you should keep this in mind in the future.

Solution 2

For the next people who wonder about this, you indeed have to match Ubuntu's boot system to your machine (BIOS or UEFI). The way to know is described in the post above. What wasn't so clear in the answer is that when you create the USB medium, you automatically create the 2 ways of booting. You have to choose BIOS or UEFI while booting on the USB, as described here.

Share:
30,662

Related videos on Youtube

jharri
Author by

jharri

Updated on September 18, 2022

Comments

  • jharri
    jharri over 1 year

    I'm trying to install Ubuntu 14 LTS on my external 1TB HDD, but I'm getting an error when I press "Install Now".

    Error Message

    My Partitions (Don't have enough reputation to post images)

    These are all of the partitions on the external HDD. I have Windows installed on the other HDD, which I unplugged just to make sure I don't wipe anything (which I did to my Mac when I was installing Ubuntu on it).

    I have looked this up but none of the answers seem to give a clear explanation of what I should do. I've installed Ubuntu before but that was on a Mac, so I'm new to it on Windows.

    Thanks

    • Terrance
      Terrance almost 9 years
      The bootloader needs to go into the MBR, which is at /dev/sda not in /dev/sda1
    • jharri
      jharri almost 9 years
      @Terrance I have tried /dev/sda as well, came up with the same error. Would it have something to do with secure boot?
    • Terrance
      Terrance almost 9 years
      Yeah, that can do it. I have heard that you should disable that for Linux OSes. Might be some helpful information here: help.ubuntu.com/community/UEFI
    • Terrance
      Terrance almost 9 years
      Also, there is no need for /boot, as that can go with the / root partition. Really, the only two needed for an Ubuntu installation is / and swap. Leaving /boot in / makes it so it is not limited when you're updating kernels.
    • jharri
      jharri almost 9 years
      Ok, I was thinking since I'm installing this when my Windows hard drive is unplugged (Only the HDD I want to install Ubuntu on is plugged in), I could just Erase Disk and Install, instead of Something Else?
    • Terrance
      Terrance almost 9 years
      That would be fine for that drive when you plug it in and it is the only drive.
    • jharri
      jharri almost 9 years
      @Terrance Ok, I'll just do that then if I don't have to mess around with partitions.. I should still be able to boot into Ubuntu and Windows in BIOS right?
    • Terrance
      Terrance almost 9 years
      Yes, as long as that drive is in the boot order after the other drive. The bios should search and find that drive and boot to it. Some BIOSes have boot other device as an option to try when other drives are plugged in when the primary can't be found.
    • jharri
      jharri almost 9 years
      @Terrance Ok, thanks a ton for your help! I'll try out installing it with only the Ubuntu drive plugged in, and hopefully that goes well.
  • jharri
    jharri almost 9 years
    Wow, that was a lot of info. Thanks so much for all of the help. I'm pretty sure that Windows was booting in EFI mode because I installed it from a CD, but then again I have no idea what I'm talking about when it comes to this. But I think I managed to get it working properly. I installed Ubuntu on the second HDD and Windows was already installed on the first HDD. After that I played around in Ubuntu for a while, but wanted to make sure that Windows would boot normally. And it did. All that I have to do is press F12 upon boot to select what I want to boot into.
  • jharri
    jharri almost 9 years
    And on the boot device selection screen (pretty sure is BIOS, but not really sure) it had a selection which was just "Ubuntu", not EFI:harddrivename. So I'm pretty sure that means the BIOS recognised it. But again, I have no idea what I'm talking about so only making assumptions. Only side-effect is that Windows boots a lot slower than before. Anyway thanks for the reply!