How do I (re)mount missing Firewire drives? Why do they vanish? I have several Firewire drives that occasionally "go missing" even though they are connected to my Mac and powered on (the power light is illuminated). These drives do not appear in Disk Utility or when I run mount so there's no evidence of there existence that would allow me to use mount or diskutil to remount them. The only way I have found to re-mount them is to reboot my machine, or cycle the power the drive connected directly to my Mac (a very inconvenient process).

This issue has persisted over the course of several physical configurations (a change of Macs, rearrangement of the cabling, both FW 400 and FW 800, etc.) and is intermittent (it occurs most frequently during long periods of Mac sleep).

Why would my Firewire external drives "vanish" in this way? Is there a way to programmatically re-mount them in this case, or to prevent them from vanishing in the first place?



OS X 10.9 (issue present since 10.7, on several machine); G-Technology drives (various models); "put disks to sleep" setting is disabled; pmset reports:

Currently in use:
 standbydelay         10800
 standby              1
 womp                 1
 halfdim              1
 hibernatefile        /var/vm/sleepimage
 darkwakes            1
 networkoversleep     0
 disksleep            0
 sleep                1
 autopoweroffdelay    14400
 hibernatemode        3
 autopoweroff         1
 ttyskeepawake        1
 displaysleep         5
 acwake               0
 lidwake              1


Note also that this is not a question about preventing spin-down. I've found ways to prevent this where possible, but when it's not (e.g., when the mac itself is asleep and the drives spin down because they ignore system settings to prevent spin-down), my drives frequently also unmount, thus vanishing completely from the system. The question is about how to prevent or recover from that.
I can't see a way to change the OS directly, but here's how you would mitigate it:


set up a script to parse diskutil list and possible diskutil cs list and have it mount any volumes that are connected and unmounted
use a tool like Launch Control or Lingon to wrap that script in a launchd trigger mechanism to call it periodically.