Here is a procedure known to work when all else fails:
http://discussions.apple.com/thread.jspa?messageID=10049269�
(see my post)
Do not do this if you are trying to save your data!
You might be able to run diskutil repairVolume from the command line and fix the disk, if you
can first force a dismount (see my post).
The usual problem with a corrupt partition map is the system keeps trying to mount the drive,
but the invalid map (node structure) hangs the mount process. Manually forcing a dismount
(using the unmount or unmountDisk command) is required before repairs can be done.
once dismounted, run this command:
diskutil repairVolume /dev/disk0s2
here are basic diskutil commands,
run "man diskutil" for more info:
Betsy7:~ kj$ diskutil
Disk Utility Tool
Utility to manage local disks and volumes
Most options require root access to the device
Usage: diskutil [quiet] <verb> <options>, where <verb> is as follows:
list (List the partitions of a disk)
info[rmation] (Get information on a specific disk or partition)
listFilesystems (List file systems available for formatting)
u[n]mount (Unmount a single volume)
unmountDisk (Unmount an entire disk (all volumes))
eject (Eject a disk)
mount (Mount a single volume)
mountDisk (Mount an entire disk (all mountable volumes))
enableJournal (Enable HFS+ journaling on a mounted HFS+ volume)
disableJournal (Disable HFS+ journaling on a mounted HFS+ volume)
moveJournal (Move the HFS+ journal onto another volume)
enableOwnership (Treat as exact User/Group IDs for a mounted volume)
disableOwnership (Ignore on-disk User/Group IDs for a mounted volume)
rename[Volume] (Rename a volume)
verifyVolume (Verify the file system data structure of a volume)
repairVolume (Repair the file system data structure of a volume)
verifyPermissions (Verify the permissions of a Mac OS X volume)
repairPermissions (Repair the permissions of a Mac OS X volume)
eraseDisk (Erase an existing disk, removing all volumes)
eraseVolume (Erase an existing volume)
eraseOptical (Erase optical media (CD/RW, DVD/RW, etc.))
zeroDisk (Erase a disk, writing zeros to the media)
randomDisk (Erase a disk, writing random data to the media)
secureErase (Securely erase a disk or freespace on a volume)
resizeVolume (Resize a volume, increasing or decreasing its size)
partitionDisk ((re)Partition a disk, removing all volumes)
splitPartition (Split an existing partition into two or more)
mergePartitions (Combine two or more existing partitions into one)
appleRAID <raidverb> (Perform additional verbs related to AppleRAID)
diskutil <verb> with no options will provide help on that verb