Converting MBR partition table to GPT

Almost everyone who tried installing dual boot operating system on windows 8 machine have faced this issue. The issue is more severe when you upgrade your windows 7 machine to windows 8 and then try to install ubuntu 14.04. The installation aborts with an error message stating that the installation cannot continue without GPT (GUID Partition Table). This posts lists the possible reasons for the errors and a way to resolve this problem for good.

Prerequisites:
Windows 8 onwards it is recommended to have UEFI enabled instead of our old friend BIOS. More details about UEFI and BIOS can be found at this link . One thing to remember is, MBR (Master Boot Record) partition table works for BIOS and UEFI requires GPT, reasons are detailed in the link above. If you have a single partition of ~300MB at the start of the disk, it is mostly MBR and if there are 2 partitions of ~100/200MB then it is mostly GPT.

Identify the issue:
If you are trying to install Ubuntu 14.04 or any other OS and the error asks for GPT partition table, you need to convert your partition table (which in most cases would be MBR) to GPT. If you have installed Ubuntu(or any other linux) successfully but are unable to login into it, you just need a boot-recovery. In the latter case, just follow the instructions at this link and that should fix the boot related issues.

Convert MBR to GPT:
1. Enable UEFI in the BIOS settings (if your computer hardware does not support UEFI, you probably don’t need GPT)
2. Enable boot from USB device from the BIOS settings
3. Start Windows, and turn off BitLocker if it is enabled.
4. Ensure that a partition of ~300MB is present at the starting of the disk, if that is not available you might have to reformat or repartition your HDD (which is out of scope of this post)
5. If you dont have a system repair disk, create one.

***NO TURNING BACK AFTER THIS STEP***

6. Download gptgen from http://sourceforge.net/projects/gptgen/
7. Run cmd with administrative privileges. then run the following command to crash your windows, assuming that drive0 is your drive with MBR partition table that needs to be converted to gpt. If not sure, use “wmic diskdrive list” to identify the drive.

gptgen.exe -w \\.\physicaldrive0

8. Restart the computer using a system repair disk
9. after selecting Language and preferences, browse to Repair Your Computer -> Troubleshoot -> Advanced Options -> Command Prompt
10. Run the partitioning tool, list the disks and select the appropriate disk

diskpart
list disk

Results:
Disk ### Status Size Free Dyn Gpt

-------- ------------- ------- ------- --- ---

* Disk 0 Online 256 GB 0 B *

11. Select the required disk

select disk 0

12. Check the partitions

list partition


Results:

Partition ### Type Size Offset

------------- ---------------- ------- -------

Partition 1 Primary 350 MB 1024 KB

Partition 2 Primary 254 GB 350 MB


13. Delete the first partition that stores MBR table and create new partitions for GPT

select partition 1
delete partition

create partition EFI size=100 offset=1
format quick fs=fat32 label="System"
assign letter=S

create partition msr size=128 offset=103424

list partition

Results:

Partition ### Type Size Offset

------------- ---------------- ------- -------

Partition 1 System 100 MB 1024 KB

Partition 2 Reserved 128 MB 101 MB

Partition 3 Primary 254 GB 229 MB

14. List the volumes and assign C as the volume label for windows volume. Change the number 1 to whatever number you see for your volume

list volume
select volume 1
assign letter=C
exit

15. Generate the boot partition data

bcdboot c:\windows /s s: /f UEFI

16. Restart.

Congratulations, you just avoided troubleshooting that might have taken more than 2 days and several reinstallations of windows for no reasons 🙂