Boot Leopard from an external hard drive - I had already used Carbon Copy Cloner to back up my Mac and so was able to use that. You may also be able to do it from the Leopard install DVD as I think that gives you a terminal too.
You'll also need rEFIt's partition inspector, simplest way is to download and install rEFIt and it'll be in Applications/Utilities
Assuming your internal disk is disk0 you can do the following:
Dismount the drive:
Code:
sudo diskutil unmountDisk disk0
Check out its partition tables, now I can't remember whether it was rEFIt's Partition Inspector or gpt that showed me partitions that existed in the MBR but not the GPT, so try both.
With rEFIt:
Applications > Utilities > Partition Inspector
With gpt:
Note that rEFIt shows you (in sectors) the starts and ends of your partitions, whereas gpt shows you the offsets and sizes. Save outputs of both programs because you will need to know this information.
One of the above methods will show you the MBR-only partition that Windows created. If not, delete the entries from your GPT table and try again. If your MBR is correct then you may want to remove all the GPT entries anyway and recreate them according to the MBR, much like gptsync in reverse.
Code:
sudo gpt remove -i 1 disk0
sudo gpt remove -i 2 disk0
sudo gpt remove -i 3 disk0
[...]
The -i option refers to the index in the GPT and may be different for you. The output from gpt show will tell you the indexes.
It seemed that every time I used the gpt command the (recognizable) volumes on the drive kept being remounted, which was a real pain. I ended up just pasting the unomunt command from the clipboard every time I used gpt.
Finally to recreate the GPT:
Code:
sudo gpt add -b 40 -i 1 -s 409600 -t efi disk0
sudo gpt add -b 409640 -i 2 -s 125829120 -t windows disk0
[...]
Replace the sector offsets for your own according to your MBR.
The man page for gpt details the options but in short:
-b is where the volume starts
-i is its index
-s is its size
-t is its type
That's pretty much all you will need. If you have copied from your MBR then there's no need for gptsync, and you should be immediately able to read the drives.
I know you're hoping to not have to format your drives but just for future reference - I've had trouble formatting NTFS volumes from Leopard's Disk Utility which I think is due to a permissions problem. Doing it from the command line with sudo solved this:
Code:
sudo diskutil eraseVolume "NTFS-3G" "Windows" disk0s2
Hope that helps, if in doubt post the results from Partition Inspector