MacOS – OSX 10.7.5 renaming attached Firewire drive

external-diskhard drivemacos

My Mini was running out of disk space, so I attached an external Firewire drive and moved all the Home directories (a bunch of users on a home machine) to it. I'm pretty sure that was done correctly, as it worked fine for all accounts for about 9 months. Then, the OS started renaming the volume on its own, usually adding " 1" to the volume name; thus, the OS couldn't find any of the home directories on that Firewire drive upon login, even though I could open the drive manually, and one would get a generic startup desktop, because the volume names didn't match. I found that, using an admin account with a home directory on the startup disk, I could assign a fresh, new name to the Firewire drive, then get into each user's advanced settings, and re-point the OS at the user's home directory on the newly renamed attached drive. That would work for a couple of days, until the OS again renamed the Firewire drive, and I'd have to repeat those steps. Very annoying, and not something the other users, my family, are about to do.
So: why is the OS renaming that Firewire drive?
Somewhat contemporaneously, I've had about 3 hard crashes (grey text screen) requiring a shutdown and startup.
I've completely reinstalled the OS, BTW, which did not stop the disk-renaming. Otherwise, I've seen no problems with said Firewire drive; I have another external USB drive for backups, and that doesn't have any problems of which I am aware.

Best Answer

The problem comes from how OS X handles additional (non-startup) volumes. Say you have a volume named "FWDisk"; when OS X sees that, it mounts it at the unix path "/Volumes/FWDisk". If you put a user's home folder on it, the user's home path will be set to, say, "/Volumes/FWDisk/Users/fred". Fine so far.

But suppose fred logs in when the disk isn't connected (/mounted): the home path is still "/Volumes/FWDisk/Users/fred", which doesn't exist, so the OS creates it on the startup volume. You're working in a mostly-empty home folder without access to any of your files. So, you log out, and connect the external drive. What happens now is the mounter tries to mount it as "/Volumes/FWDisk", but discovers that that name is already in use, so it mounts it as "/Volumes/FWDisk 1" instead. This means that none of your users with home folders on that disk can find them -- they're looking for their homes at "/Volumes/FWDisk/Users/whatever", but they're actually at "/Volumes/FWDisk 1/Users/whatever". And it's going to stay that way forever unless you do something.

The solution is in 2 parts. First, to fix the immediate problem, you need to delete/rename/move that "/Volumes/FWDisk" folder that's preventing your external disk from mounting normally. You can do this logging out of all accounts with homes on that disk, logging into one with a home on your startup disk, unmounting the external disk. Then, use the Finder's Go To Folder feature (under the Go menu, or Command-Shift-G) to go to the hidden folder "/Volumes". Then rename or move the problem folder with the same name as your external disk. Remount the disk, and you should be back to normal.

The second part is figuring out what's causing the problem, or else it's just going to keep happening. This is going to be just a matter of paying attention to when the problem starts, and what leads up to it. Are you logging in when the external disk isn't attached? Is there something else triggering it? There's probably no reliable way to prevent it except for avoiding whatever event triggers it, so you need to find and avoid that trigger (/triggers).