iPhoto Library Manager Icon

Disappearing iPhoto Libraries on External Hard Drives


If you have one or more iPhoto libraries on an external hard drive that have suddenly either disappeared (i.e. they appear in red and iPhoto Library Manager says that the library folder cannot be found) or are completely empty when you open them up in iPhoto, with no albums or photos being displayed at all, it's very likely you've been bitten by a problem that can occur to many programs on OS X when an external drive is either unplugged without first being "ejected" using the Finder, or when a system crash occurs that requires rebooting the machine. Read along for the detailed explanation of what happens, or you can just skip to the "Fixing The Problem" section below to get your libraries up and running again.

Whenever you connect a hard drive to your Mac, OS X "mounts" the hard drive at a certain path on your machine, and everything on that hard drive is accessible as a hierarchy underneath that path. External hard drives are mounted under an invisible folder called "/Volumes" which does not itself appear when you look at your hard drives in the Finder. For this discussion, we will say that you have an external hard drive whose name is "LaCie" - you can mentally replace that name with the name of your own hard drive. By default, OS X will mount that drive at /Volumes/LaCie. If you have a library on the hard drive named "iPhoto Library", that library would be located at /Volumes/LaCie/iPhoto Library, as you can see in the Location field when you select your library in iPhoto Library Manager.

The problem occurs if the hard drive is disconnected from the machine while a program (such as iPhoto) is still using files on the drive or otherwise expecting the drive to be there. Some programs, when they go to write out a file to somewhere under /Volumes/LaCie and it finds that nothing exists at that path anymore, will merrily proceed and simply created a new folder at that path, along with any other folders in the path, then go ahead and write its file in the newly created folder. In our iPhoto library example, if iPhoto is looking to write out its library data file to /Volumes/LaCie/iPhoto Library/Library6.iPhoto, but it does not find "LaCie" under /Volumes because the hard drive has been disconnected, it will simply create a new folder named "LaCie", then a new folder named "iPhoto Library" inside that folder, then write its data file into that newly created folder. Since the Volumes folder actually exists on your internal hard drive, these files and folders that are being created actually reside on your internal drive.

Once a folder has been created in /Volumes with the same name as your hard drive, the next time you plug in your hard drive, OS X can no longer mount the drive at /Volumes/LaCie since something already exists there, so it will instead mount the hard drive at /Volumes/LaCie-1. That extra "-1" being tacked onto the end means that any program that refers to any file or folder on that hard drive by using a simple path will no longer be pointing at the correct location. iPhoto itself uses a simple path to locate its current iPhoto library, so it will continue to use the stub library at /Volumes/LaCie/iPhoto Library instead of the real library which is now at /Volumes/LaCie-1/iPhoto Library.

Fixing the Problem

There are two steps that can be taken to fix this problem once it has occurred. The first is to get rid of the bogus "LaCie" (or whetever your external drives' name is) folder inside the Volumes folder. The trick is that the Volumes folder is normally invisible, so to get in there, you have to open up the Finder and select the "Go To Folder..." menu item in the "Go" menu at the top of the screen. When asked what folder you want to go to, enter in "/Volumes" and press return. You should see a folder that contains an alias for each hard drive/partition connected to your machine (including your internal hard drive), and then a plain folder icon named "LaCie" that will probably have some items in it. Now, if you've unknowningly done some work and have put some files into this folder (e.g. importing new photos into iPhoto that have gone into here instead of onto your external drive), then you'll probably want to pull any relevant items out of this folder for safekeeping. Once you've done that, drag the "LaCie" folder to the trash. Once you've done that, the next time you plug in your hard drive, it should be mounted at its original location at /Volumes/LaCie instead of the /Volumes/LaCie-1 location.

The second step will be to make sure your list of libraries in iPhoto Library Manager are all pointing to the correct location. Unlike iPhoto, iPhoto Library Manager uses aliases internally to keep track of what libraries go where, so most of the time, iPLM will be able to follow your libraries having been moved around because of the renaming of your hard drive, and will probably still point to the correct location for most libraries. If you have some libraries which are still not pointing at the correct location and are still displayed in red, fixing them is easy. For each library, simply click the "Remove Library" button to remove that item from the library list. Don't worry, this will not delete any files on disk, it will only remove it from iPLM's list of libraries that it's tracking. Next, use the Add Library button to add the library back to the library list. The location of the new entry will be pointing to the correct location, and you should be able to use that library fine from now on.

See also:

Troubleshooting & FAQ