Windows – Does Toshiba have a custom MBR

toshiba-laptopUbuntuwindows

I own a Toshiba U50D-A018 laptop and from day one there has been some issues that I've noticed. The main issue is the fact I can't install Ubuntu onto the laptop. I've just reinstalled windows after trying to install Ubuntu as the only OS, but the bios just said that the disk doesn't contain an operating system.

Now when I boot into Ubuntu with live boot, gparted shows the disk as empty (which isn't true, I've just installed Windows 8 onto a formated drive) it also provides an error message

enter image description here

Although the file manager shows the windows partition and I can go through it without an issue.

Does anyone know if Toshiba use some kind of custom Partition Table which windows knows how to handle?

Best Answer

The disk uses a "GUID partition table" (GPT), which is the standard partition table format for UEFI systems. It's not really 'custom', it is quite widespread even on BIOS systems due to the various improvements it brings, such as not having the mess that is extended/logical partitions.

(Confusingly, though, Windows refuses to use GPT on BIOS systems, and MBR on EFI systems...)

Now, most disks have both a MBR (on sector 0) and a GPT (starting with sector 1). The purpose of the MBR is to protect the GPT partitions from old disk management software – normally the "protective" MBR has one partition of a special type covering the whole disk, so that MBR-only partitioning tools won't mistakenly see the entire disk as "unallocated". (Additionally, on BIOS systems, the boot code in the MBR is still used, even if the partition table isn't.)

To clarify:

  • The MBR is in sector 0 and has two parts; the BIOS boot code and the MSDOS partition table.
  • The GPT starts at sector 1 and can have a special partition for UEFI boot code.
  • BIOS systems always use the MBR boot code, but can use any partition table that the bootloader supports. (Linux generally can use both; Windows insists on MSDOS partition table.)
  • UEFI systems always use the "EFI system partition", but can use either MSDOS or GPT partition tables. (Windows again insists on GPT partition table.)
  • In case it is required, most UEFI systems can behave like BIOS systems if the "BIOS emulation" or "Compatibility support module" is enabled.

In Ubuntu, install the gdisk tool (package 'gptfdisk'), run it on your disk (gdisk /dev/sda), and inspect both partition tables. First use the p command to dump the GPT. Then enter the x expert menu, and use o to dump the protective MBR. (Be careful to not accidentally overwrite the protective MBR, as o is different in the main and expert menus.)

What you should see is:

  • the GPT should have a partition of type EF00; the EFI boot/system partition,
  • as well as a partition of type 0700; the Windows partition,
  • and the MBR should have exactly one partition of type EE; the protective GPT partition.

If you see the correct partitions in the GPT, but nonsense in the MBR, use the xn command ("expert" → "create a new protective MBR"), and write it to disk using w. That should un-confuse GParted.

Related Question