Ubuntu – Error: partition table requires a separate partition for boot loader code (EFI issue)

boot-partitioninstallationmacmacbook prouefi

The Issue

I'm trying to install Ubuntu 12.04 (64-bit, Mac alternate) on my 13" MacBook Pro (model 7,1. Mid-2010). The MacBook Pro is running OSX 10.8.3 and I'm trying to make it dual-bootable (i.e., so I can boot into Ubuntu or OSX). When booting from the live CD and selecting "Try Ubuntu," I made the allegedly necessary partition tables and was ready to install. Through the installation process, I selected my newly created "ext4" partition, changed it (in the installer) to "Use as ext4 journaling file system," and pressed continue. However, the following window popped up:

The partition table format in use on your disks normally requires you to create a separate partition for boot loader code. This partition should be marked for use as a "Reserved BIOS boot area" and should be at least 1 MB in size. Note that this is not the same as a partition booted on /boot. If you do not go back to the partitioning menu and correct this error, boot loader installation may fail later, although it may still be possible to install the boot loader to a partition.

Below is a snapshot of my partition table in GParted.

GParted partition table setup

Below is a snapshot of the installation window.

Installation window

The Hypothesis

@Seth and I are geared towards thinkhing this is an issue with Ubuntu not detecting that my computer is using EFI instead of BIOS. I think that if we somehow get Ubuntu to recognize that I'm running a computer that uses EFI, the installation will run smoother. However, because I'm running on a MacBook Pro, users who've had similar problems with Windows won't have the same solutions for me (or other future problem-havers) to use.

Things Tried & Investigated

Below are things that I've tried and looked into. I'll be updating it as this issue progresses.

  1. I've tried researching this issue, and came across this thread as well. After discussing this issue with people in the chat room, though, I'm — we're — pretty sure it's a hardware issue.
  2. Additionally, I tried this wiki, but the wiki looks geared towards Windows and, again, I'm pretty sure this is a hardware-specific issue. Update: I went ahead and tried the section I linked to, and it didn't entirely workout. When following the instructions, I wasn't able to click onto the "GRUB location" tab because it was disabled: grub location disabled
  3. Another untried option @Seth and I went over was bypassing the error, then running the boot-repair program listed above. There are concerns about this being dangerous, though, so I'd be glad to hear another opinion.
  4. I've tried the solution provided by @rod-smith. However, as apparent in the comments on his answer, I ran into some issues. When trying the alternate steps under step 10, booting up just got me a blank screen that wouldn't go away (the most recent amount of time that I've spent on that screen was about 40 minutes until I rebooted). Continuing to follow the instructions, before step 18 shows up (which it never does), I get the following error:

    WARNING: no console will be available to OS
    error: no suitable video mode found.
    (see image)

  5. While keeping the partitions/all settings as setup by my explanation in the fourth item (above), I tried the link in the second item above because GRUB was installed. I could access the menu and I ran through everything needed to be done. However, upon reboot, I ran into the same indefinite blank screen.

  6. In accordance with @TheMysteriousMan's post, I've also tried selecting /dev/sda1 to install the boot loader on, but I received the same error.

  7. The Ubuntu 13.04 (64-bit, Mac alternate) has been tried also, but again, the same error is received.

  8. Something I've noticed is that when double clicking on a partition (while in the installation process seen in the 3rd photo of this post) and bringing up the "Edit partition" window, under the "Use as:" drop down (where options like "Ext4 journaling file system" appear), I have the option "Reserved BIOS boot area." I'm wondering if the error is asking me to do something with the option. If it is asking me to use this option, should I create a new partition and set this option on it? How big should the partition be? Or do I put it on an existing partition?

TLDR & The Question

The main question here is: how do I get by this error message? Is there some configuration I have to do that I haven't already? Or is this a safe error message to bypass?

Best Answer

Read the whole answer before following the instructions below.

In order to fix this issue you need to create an extra partition.

  1. Install rEFIt or rEFInd1 in Ubuntu.
  2. Start Mac OS X.
  3. Launch OS the Disk Utility application.
  4. Make sure to have already resized your "Macintosh HD" partition so that you have room for the new partitions (~50 GiB is what I chose).
  5. Restart using a Ubuntu Live CD.
  6. Select "Try Ubuntu".
  7. Start the application named GParted.
  8. Create a new partition called "bootloader" with file system ReiserFS. I made this partition 500 MiB. I'm not exactly sure if the file system or size matters. According to Wikipedia BIOS Boot partition page, this partition can be as small as only 1 MiB.
  9. Create a new linux-swap partition that's about 1 GiB. I called this one "swap".
  10. Create an ext4 partition called "primary" using the rest of your unallocated space.

After following the instructions above, GParted should look similar to the following image. Keep in mind that I took this after installation. The labels for my linux-swap and ext4 partitions disappeared and the key/exclamation icons were added after installation by Ubuntu. Also, no need to set a bios_grub flag for the ResiserFS partition, this was also automatically added post- (or during-) installation. GParted

Now that the partitions are set up, go back to the desktop, click on "Install Ubuntu 12.04" (this should also appear in the menubar on the left if it's not on the desktop), and follow along below

  1. Go through the options (personalizing them however you like) until you get to the "Installation type" screen that asks you how you want to install Ubuntu.
  2. On the "Installation type" screen, select "Something else" and continue (press "Install Now").
  3. You'll now arrive at a window that lists all the partitions you have. Identify the "bootloader" partition (if the labels don't show, identify it by the device, type, or size columns) and double click on it.
  4. A window that says "Edit partition" should popup. Select the option field next to "Use as:" and click on the value that says "Reserved BIOS boot area" (figure below). Press "OK." Select "Reserved BIOS boot area"
  5. Identify the ext4 partition you just created and bring up the "Edit partition" window.
  6. Set the "Use as:" value to "Ext4 journaling file system," check the format option. Make sure to also set the mount field to /. Press "OK."
  7. Go ahead and continue the process, personalizing the results as you desire.

From here, everything should work fine. Make sure to have rEFIt or rEFInd installed so that you can boot into Ubuntu later1.

1. It turns out that if you get stuck while booting, instead of using a program like rEFIt and it's predecessor, you can just hold the alt/option key to boot into a partition/disk/whatever.

Related Question