Gptgen is a tool to non-destructively convert hard disks partitioned in the common, "MSDOS-style" MBR scheme (including extended partitions) to use a GUID partition table (GPT).
I just registered so I could give this product a glowing review! The only part lacking on this product is documentation and what to expect when using the product. Therefore I will give my experience on a Windows 2012 R2 Server. Please Note that you do not want to use this on the system (os) drive, only for data drives. To begin with, the process is as anticlimactic as it is simple. I also used the dd program (also open source) to back up the drive partitions just in case something went wrong. Step 1: Open a command prompt and type diskpart. Step 2: Once in diskpart, type list disk. Locate the number of the drive that you wish to convert. For me, the drive was 3, so I will use that as the example. Type exit to exit out of diskpart. Step 3: Download and unpack diskpart and the Windows version of dd. Open a command prompt and use the cd command to change into the gptgen folder. Step 4: Once in the gptgen folder you extracted, type the command (yes, exactly like as written) gptgen.exe \\.\\physicaldrive3 (substituting your drive number for the 3 shown in the example). This basically creates two test files instead of modifying the drive partitions and outputs a few lines, but the important ones should look like these: Write primary.img to LBA address 0. Write secondary.img to LBA address 5368709087. Please note the second line will likely be different than shown above. Write the LBA address of the second line down as you will need it later in Step 9. Step 5: Type dir to see the list of the "test" files gptgen created. The two you are interested in are called primary.img and secondary.img. look at the number of bytes of each file. For me, primary.img was 17,408 bytes and secondary.img was 16,896 bytes. Yours may differ, so please do not use these numbers in the next step without checking yours first. We will do nothing further with these files, them having served their purpose to let you know how big the alterations to the drive will be and where on the drive address-wise they will take place. Step 6: Now that you have all the info you need about what gptgen will modify and where on the drive it will make those modifications, you will next use a program that is often used in the Linux world called dd to back up the sections that will be modified by the gptgen program. This ensures that if a problem occurs you can restore those sections back to their original state, should gptgen not work as expected. Open a command prompt and use the cd command to change into the extracted dd directory. Step 7: Next you must do some math- The dd command will be instructed to image in 512 byte sectors when you initiate the command, so you must first divide the number of bytes you found for primary.img and secondary.img by 512 to get the number of 512 byte sectors dd will copy. In the dd command this is called a count. For me the number was 34 counts for primary.img and 33 counts for secondary.img. Yours may differ, so please do the math Step 8: Issue the following command: dd.exe if=\\.\\physicaldrive3 of=primary-backup.img bs=512 count=34 (substituting your drive number for the physical drive and your count for the count you got for primary.img in step 7). This will create an image file called primary-backup.img in the dd directory. Step 9: Issue the following command: dd.exe if=\\.\\physicaldrive3 of=secondary-backup.img bs=512 count=34 skip=5368709087 (substituting your drive number for the physical drive, the count for the count you got for secondary.img in step 7, and the replacing the LBA address shown with LBA address you wrote down from Step 4). This will create an image file called secondary-backup.img in the dd directory. Step 10: Goody, you now have a backup of what is going altered by gptgen. You should now have some confidence that if issues occur, you can now undo what has been changed. Now, open a command prompt and cd once again into the gptgen folder. Type gptgen.exe -w \\.\\physicaldrive3 (substituting your drive number for the 3 shown in the example) and after the 3 seconds it takes to inform you of the changes it has made you can then reboot your computer. Amazing! without destroying the data, in 3 seconds the task is complete! If you do end up an issue, your due diligence of backing everything up will come in handy now. You can simply open another command prompt, cd into the dd directory again and issue the following commands, which are essentially the reverse of steps 8 and 9 with some important changes: dd if=primary-backup.img of=\\.\\physicaldrive3 bs=512 count=34 dd if=secondary-backup.img of=\\.\\physicaldrive3 bs=512 count=33 seek=5368709087 (here you are substituting your drive number for the physical drive, the count for the counts you got for primary.img and secondary.img in step 7, using seek instead of skip and replacing the LBA address shown with LBA address you wrote down from Step 4.) Note that in this instance dd will seek the LBA address mentioned in the command before writing, so the command differs as shown. In closing, I hope this guide is helpful to someone.. I'm not much of a programmer, so this is the best I can do to pay all these wonderful people back for making my life a little easier. A special thanks goes out to Andrew Brampton for sharing this backup strategy. In addition, I would like to personally give a heartfelt thanks the dd community for providing this most simple and yet excellent tool that I have used for everything from making floppy disks to cloning hard drives, to burning Dreamcast CD's (yah, waaay back), and to the gptgen folks for making such a simple reliable and concise tool that when run does exactly what you want it to do in no time at all; no cost, no adware, no frills, no bullsh*t!
Just used this to convert MBR to GPT on a running Win2008R2 VM on top of VMware. Worked great with no down time! I took a snapshot of the running VM before running just in case.