gptgen.
Usage example: bramp.net - Converting MBR to GPT without deleting your partitions
In short:
gptgen.exe \\.\\physicaldrive1
Sample output:
gptgen.exe: Partition table converter v1.1 Boot: 0, Type: 0x7, Start: sector 2048, Length: 4093634560 sectors Writing primary GPT and protective MBR to primary.img... Writing secondary GPT to secondary.img... Success! Write primary.img to LBA address 0. Write secondary.img to LBA address 4093640671.
dir *.img
28-07-2012 10:44 17.408 primary.img 28-07-2012 10:44 16.896 secondary.img
Write secondary.img to LBA address 4093640671.
dd if=\\.\\physicaldrive1 of=primary-backup.img bs=512 count=34 dd if=\\.\\physicaldrive1 of=secondary-backup.img bs=512 count=33 skip=4093640671
gptgen.exe -w \\.\\physicaldrive1
If something went wrong, you can try to write the backup .img files back to the disk with the if= and of= values switched and seek= instead of skip=:
dd if=primary-backup.img of=\\.\\physicaldrive1 bs=512 count=34 dd if=secondary-backup.img of=\\.\\physicaldrive1 bs=512 count=33 seek=4093640671