Some of my photos disappeared from iPhoto recently. I did not delete them or format the hard drive. I have been a mac user since 2003 and am fully aware of the mac os and how it stores files. However this issue is new to me I have searched all system folders and packaged contents of iPhotos but the folders are missing? and they are not in the trash can either. Its like there is no record of the photos ever being uploaded except for a blank event in iPhoto events where the photos were originally uploaded and I could view them. Not all photos are missing only the most recent upload. I do not have time machine backups, so can't use this method to recover files, as I have just purchased a new macbook pro and haven't got round to setting up time machine yet (I should have known better). I tried using a 3rd party data scan software package and the software can locate the missing photos! however it will charge me to recover these photos. I don't feel I should pay for a 3rd party solution, because if a 3rd party data recovery package can identify the missing photos, why can't my mac os? has anyone experienced this problem? and are there any data recovery options I have overlooked to restore the photos without using a 3rd party software package?
Missing photos from iPhoto
data-recoveryiphotophotos
Related Solutions
iPhoto has an internal file storage system where it saves all the photos for the events, albums etc.
You notice this, when you select an event and click "Show in folder". Then you see the whole folder with all the pictures in it.
You should treat events or albums as your folders. You can give them custom names and everything.
What I have done is:
- Import all photos to iPhoto
- Delete original files
- Just work with iPhoto (when I want to see the photos in a folder structure, I can choose "Show in folder".
Note: I have heard that you can have an external file storage for your photos with Apperture. This is iPhoto with more functionality for 200 USD, in case you do a lot of work with iPhoto this might be interesting.
I've resolved the problem, and it wasn't pretty.
It starts with iPhoto 8 ('09) on my iMac. This library had a bunch of "referenced" photos, ie, photos whos image files were outside of the iPhoto Library folder. In iPhoto 8 this was handled by creating an OS X alias file in the Originals folder within the iPhoto Library folder.
Then I wanted to move my library to my new MacBook Air running Lion and iPhoto 9 ('11). Forgetting that I had referenced files in my library I just copied the iPhoto Library folder from my iMac to my MacBook Air as the Apple support docs say (they don't mention anything about referenced files). Of course the referenced files were not copied to the MacBook, but everything appeared to be OK.
Start iPhoto 9 on my MacBook and it upgrades the library. It can't find the referenced images of course, but there's no warning or anything. iPhoto 9 has a totally different folder and database structure. All the information it needs about where to find an image is now in the Library.apdb SQlite database file in iPhoto Library/Database/apdb/. In that db there's a table called RKMaster which stores the info about each photo. RKMaster has a column called imagePath which is where the full path of the original image file is supposed to go. However, since my referenced images were not available during the iPhoto library upgrade it just set these all to Masters/<image file name>
, and stored the alias information from the iPhoto 8 database in a BLOB column called fileAliasData. When I worked out the referenced files were missing I copied them over to my MacBook, and the iPhoto was miraculously able to find them again because of the information in the fileAliasData column in the database.
However, iTunes and other apps that link to the iPhoto library don't access the iPhoto Library database directly. They use a file called AlbumData.xml in the iPhoto Library folder. iPhoto 9 re-creates this file every time you close iPhoto. Unfortunately, what it uses to build the full image path for putting in the XML file is what's stored in the imagePath column in the database, which by now is basically garbage. iPhoto can see all the files OK, but nothing else can.
The only solution was to painstakingly fix the RKMaster records for all my referenced files so that they pointed to the correct place. I took the opportunity to copy the files to the iPhoto Library folder in the process so that now all my images are in the iPhoto Library folder. This implied setting fileIsReferenced = 0
and fileAliasData = null
for those records aswell.
Now I finally have everything working again, but it was a very long and tedious process that can only be done with some knowledge of SQL databases. Apple should really warn people about this potential problem when advising on how to move your iPhoto Library.
Best Answer
The 3rd party software may scan the raw data for photo files and identify them by whatever signature it may find (JPEG or other). Mac OS X doesn't come with that feature since it naturally assumes the file system will work correctly and it does everything thru the file system. Data recovery software just isn't a standard feature of an operating system.
PhotoRec is a well-known multi-platform software that would probably be able to help in your case and is free/open source if you want to try that. http://www.cgsecurity.org/wiki/PhotoRec "PhotoRec ignores the file system and goes after the underlying data, so it will still work even if your media's file system has been severely damaged or reformatted."
Be aware, the more you write data to your hard drive, the more chance the underlying data that might be recoverable will be destroyed by overwriting. The best way to do it would be by removing the hard drive and using it as a secondary drive to another computer that's running PhotoRec to completely minimize the chance of overwrite damage.