Recently a client had a crashed Mac and the partition tables were corrupted. Ouch. So they bought it to us to recover data, it's what we do.
The machine was brought to our lab and step one was to extract the physical discs from the system and do raw device dumps onto our storage array, just in case we break it further it helps to have a backup. Two 500GiB discs, good thing the storage array is 14TiB. Always backup before messing with partition tables! Especially if the discs are suspect!
This dumps the disc directly onto the server
dd if=/dev/sda |netcat sodium 6501
Sodium has a netcat listener like this
netcat -l -p 6501.
Ensure your Linux Kernel supports the OS X HFS+ partition types.
MAC_PARTITION=Y in the
make menuconfig do this
File Systems -*gt; Partition Types -*gt; Advanced Partition Selection -*gt; Macintosh Partition Map Support
cfdisk to examine the partition table. If it doesn't show what you expect you can use
testdisk to examine it further. Testdisk will even recognise partition tables even if the kernel does not support them. Testdisk works with direct access to the physical device.