Quick notes on fixing my mac main HD.
Context / symptoms
- 320GB OSX HD almost full (between 1 and 3GB free)
- Random shut down of the host (kernel panic ?)
- Boot to single user mode (cmd + s on start)
- Boot choice: press ALT at startup for boot menu.
Tests done / unsucesfful
Attempt standard boot
– display a progress bar (I suspect a fs check is done), then login screen is displayed but desktop never finishes to load.
– OS hangs, cannot launch anything nor open any menu.
– needs to shut down host by pressing power button several seconds.
Boot in single user mode
– same symptoms (cmd +s on start)
Boot from os x install DVD
– External Firewire enclosure. press ALT at startup for boot menu.
– Boot external drive.
– Run FS check through disk utility: FS corrupted. Attempted repair that failed.
– I cannot mount the HD anymore.
Fixed through Disk Warrior
– Make a USB bootable key from DiskWarrior DVD
– Startup this image
– Check drive and make it reparired by DW -> Works !
Other untested things:
– Boot from external drive and use cmd line to extract files to another drive.
– Install new HD and restore from old backup
You should to try to rebuild the catalog file (B-tree) on the specified file system (which is HFS+) by specifying -r option for fsck, for example:
$ fsck.hfsplus -fryd /dev/sdd2
This option currently will only work if there is enough contiguous space on the specified file system for a new catalog file and if there is no damage to the leaf nodes in the existing catalog file (in other words, fsck is able to traverse each of the nodes in the requested btree successfully).
Of course, do the backup (whole image disk dump) before performing any disk operations, if you don’t want to risk of corrupting any data further more.
See more by running man fsck.hfsplus.
If this won’t help, try using some other tools to repair your disk, e.g.:
It took me a while, but here’s how the problem was solved:
- I connected an external Fireware hard drive, and used it to install OS X.
- I bough Disk Warrior and ran it on my Internal Harddrive. I let it rebuild the directory, and I’m back in business!