2 Replies Latest reply: Nov 6, 2008 6:22 PM by Drew Reece (Re:co)
The Guy with 12 Macs Level 1 Level 1 (30 points)
I have a Mac that will not boot. I have tested the Mac and the hard drive with TechTool Pro. The volume is corrupt, and neither TechTool Pro nor DiskWarrior have been able to repair the volume.

I have been able to recover data with data recovery software, however, I would like to be able to browse the volume in Finder so that I can get the files recovered with the structure intact, rather than needing to rearrange all of the files.

I can connect the Mac with the damaged volume structure to my MacBook Pro and it shows up in the System Profiler in Target Disk mode- the proper hard drive size and name of the volume show up, however, I cannot get the disk to mount. Is there a Terminal command line that would force the volume to mount on my desktop?

MacBook Pro, Mac OS X (10.4.11)
  • Kenichi Watanabe Level 7 Level 7 (30,465 points)
    I once had disk corruption that DiskWarrior was not able to repair. TechTool Pro did not have any better luck. However, on the Report window in Disk Warrior, there is a very useful feature. Although Disk Warrior told me it could not repair the damage, it fixed the volume enough to use the Preview button on the Report window.

    Normally, this feature is used to visually compare the new optimized disk directory with the existing one before clicking on Replace. But in this case, it let me mount the damaged volume (in Preview mode) on the Desktop like any other volume. Using Finder, I could open the volume just like any other volume.

    What I did was run Disk Utility (with DiskWarrior still running) and make a disk image of the still mounted damaged volume, and saved the image file to another drive. After making sure I could mount and access the disk image, I erased (reformatted) the drive with the original (damaged) volume. Then I used Disk Utility's Restore tab to restore from the disk image (source) to the now empty internal drive (destination), and it worked.

    I tried to restart from the restored volume in the internal drive, but unfortunately, the system would no longer boot because of the files missing from the previous damage. However, all I had to do was run an +Archive and Install+ option installation (using my Mac OS X installation disc) on the drive. This gave me a fresh system while preserving my user data, and I was able to restart with my user account and most of my user data intact.

    So this is an example of how DiskWarrior saved the day, even when it failed.

    Note: I was able to run Disk Utility and DiskWarrior at the same time because I have an external emergency/maintenance boot drive with a basic Mac OS X installation and a few utilities such as DiskWarrior and TechTool Pro. You may NOT be able to do the same thing if you are starting up from the DiskWarrior bootable optical disc.

    What you CAN do is install DiskWarrior on your MacBook Pro, if you have not already. Be sure it is the latest version that fully supports running on Leopard. Start the Mac with the damaged volume in FireWire Target Disk Mode again, and connect it to the MacBook Pro as an external FireWire drive. Run DiskWarrior on the MacBook Pro. It should (hopefully) see the damaged volume and be able to act on it to attempt the repair. It may not be able to repair the damage, but hopefully it can repair it enough to mount it in Preview mode. Then, you can do what I did, or simply use Finder to copy off the files with the directory structure in place to another drive.
  • Drew Reece (Re:co) Level 2 Level 2 (310 points)
    Kenichi Watanabe, that is an ingenious use of the Disk Warrior preview, smart.

    There is a command you can run in Terminal it is actually 'diskutil' another way to access the features of the Disk Utility.app

    $ diskutil help - will list help for the command
    $ diskutil mount - will list help about mount (because of missing args)
    $ diskutil list - will list connected drives (whether mounted or not)
    from that list select the identifier to mount eg…
    $ diskutil mount disk0s1
    $ diskutil mountDisk MyDriveName

    I assume you know that the $ is not needed & can understand using the Terminal.
    If disk utility the Application won't mount because of damage the terminal version may not either.



    PS
    'diskutil mountDisk BackupDrive' is handy when used in a shell script prior to making automated SuperDuper! clones. You can also eject them when done too.