Header image  
Helping you rebuild your iPhoto Library  
  [ HOME ]
 
 

Now - you might think that I would plug my own application right out of the gate, but many iPhoto issues can be solved with less drastic measures first. Try the steps below (from least scary to more intense) until you get back to where you wanted to be... Good luck. Sean

Setup for Success
Before trying to fix anything on your machine, you should check the disk to see that it is healthy.
To do this either
- boot from an external device (like your install disk) and run Disk Utility to repair the disk
- or if you are feeling brave, you can boot into single user mode and run "fsck" until your machine reports nothing changed.
Once you have repaired the disk (if needed), you should repair permissions.

Apple has a number of articles on their web site that describes these processes - much better than I can.
Here are the links that I know of for these articles:
Running Disk First Aid
Running fsck
Repairing Permissions

Once these steps are done - see if your iPhoto problem got any better, if so - then obviously you are done :)

If not...

Try to get iPhoto to Fix itself:
Something to try first is the iPhoto Library rebuild function. There is no harm in doing this action (however - it does take a lot of time).

To get iPhoto to rebuild itself, you quit iPhoto, then launch it while holding down the:

  • "shift" and "option" keys (for iPhoto 4) or the
  • "option" and "command" keys (for iPhoto 5).

In iPhoto 4 it will ask you if you really want to rebuild. Say yes, tell it where to store the new library, and see what happens. Once it's complete, it might fix your issues, and this method will preserve the albums (but not the roll information). It also copies all the pictures into a folder with the current date, so all the pictures that were sorted in the respective year-month-day before, are all in one folder for the date in which you rebuild. Shouldn't be an issue, but for me, where I like to reuse pictures from iPhoto, I want the dates to reflect the picture date (but that's just me).

In iPhoto 5, a dialog with choices is presented . Choose the option to rebuild the library database (unless your issue is only thumbnail related - then those choices might work better for your situation). From my limited experience with this rebuild process, I'm very impressed with the data it preserves compared to previous iPhoto versions. Albums and roll information is preserved, and no picture files are moved inside the iPhoto library folders. Great job Apple - it may make my application obsolete.

New in iPhoto 5 is a better import by iPhoto. Before you try the iPhoto Extractor- you can create anew library (see notes below) and then import from your old iPhoto library directly without using iPhoto Extractor first. This import (unlike iPhoto of the past) does not import your thumbnails as their own pictures (yeah!). It will not preserve your roll names or albums. It will create numerous rolls based on the date of each folder in the iPhoto library you are importing from. So let's say you had pictures in folders for each of the days of Dec 24, 25 and 26. After the import, you would have rolls for each of those dates with pictures from each of those days. You might have made this one roll when you first imported them on Dec 26 (calling them a roll for Christmas pictures), and now you have 3 rolls. You'll also notice a roll named "originals". These are the original pictures you had altered. You can decide whether you want to keep these versions or not. You'll notice however that because these originals are no longer stored in a folder with the altered picture, you cannot revert to the original of an altered picture after this (or any) re-import of your library).

If iPhoto's rebuild can't fix your problem, try a manual rebuild with iPhoto Extractor:
The steps to rebuilding your library using iPhoto Extractor are:

  1. Quit iPhoto
  2. Use iPhoto Extractor, to copy all your pictures to a set of folders for re-import. In this extract, you would choose to extract from the iPhoto library that is causing you grief.
  3. Verify that all the pictures you expected to be extracted where. Do this by reviewing the log file generated by iPhoto Extractor, and paying attention to any file it said it skipped. Make sure you don't really want these pictures for the rebuild (or ever). If you do, you can adjust the extraction (by adding new file extensions to the list, or allowing it to extract files it doesn't think are pictures - see the preferences) and start again.
  4. Note: To start the extract again, first remove the folders iPhoto Extractor created and copied files into (then empty the trash). Don't worry about removing the folders that iPhoto Extractor created, since these are only copies of your pictures. The originals are still in the iPhoto library. Once you have cleaned up from the previous run, and you have the preferences set as you like, hit the "Extract" button again (or re-run the script if that is what you are using).

  5. Rename the current iPhoto Library (the one you extracted from) using the Finder, to something iPhoto doesn't expect (like "iPhoto Library Old").
  6. Check to see that you will have enough space on your machine to complete the steps. Use the "Get Info" to see how big the "Pictures" folder is that iPhoto Extractor created. Compare the size of this with the free space on your hard drive. See the pictures below.
  7. Launch iPhoto
  8. It will say that it can't find your library with three choices (cancel, create a new one, locate an old one). Use the option to create a new library. Name that library whatever you wish (or just use the default name when it appears). The new library will be empty (no pictures, and no albums) this is expected, and OK. Note that after getting your pictures back, there will still be no albums or roll info created as it had existed before. Since this is an all new library, none of that exists. Also - iPhoto Extractor does not extract album or roll information from iPhoto, so even after an import of pictures, these will not exist and you will have to recreate them (I'm investigating ways to overcome this, but no success yet).
  9. Import the pictures you extracted. You really only need to import the files in the "Pictures" folder that iPhoto Extractor created. You can either drag-n-drop the folder into the iPhoto window (a green "+" will appear on the arrow), or use the "Import" function from the "File" menu. Note that in iPhoto 5, rolls will be created for every folder imported. So, in a typical iPhoto Extractor "Pictures" folder, you'll have the Pictures folder 9and a roll named the same), and each of the "Duplicates" folders, which will also have rolls named the same. This is an interesting import side effect and may or may not help you find the pictures you need. Note however, that even though the rolls mimic the names of my folders (i.e. Duplicates) these are not necessarily duplicate pictures. They are only files who's name is a duplicate of another file. They may or may not be the same picture. Care must be taken if you decide to delete any of these. If you don't like my use of "Duplicates" as a folder name - you can change this in the application preferences.
  10. Clean-up. Once the pictures are imported into iPhoto, you can safely delete from the iPhoto Extractor results.
    - delete the log file
    - delete the "Pictures" folder. However, you might also want to back this folder up first for future use, or just to have a backup.
    - The "Originals" folder is not imported back to iPhoto, but you can back that up too (it's always good to have unaltered versions of pictures), and then delete it.
  11. If things are the way you want them to be, you can also delete the original iPhoto Library that you renamed in step 4 above. But again - make sure you have everything you want from this first, because when it's gone it's gone. If you have everything and feel you'll not need it anymore - delete it too and recover some disk space. I'm paranoid - so I even back up these pictures. Better to have 6 copies of a picture in different locations that to only have one - and then realize this after you delete it.