Mac – How to repair a corrupt Time Machine sparsebundle that is only showing the most recent backup

nasrestoretime-machine

I am trying to recover a nearly-2TB backup of a Mac, whose sparsebundle file was located on a NAS and suffered some corruption. I have followed the steps here, and the sparsebundle is now accessible by both Time Machine and Migration Assistant. However, they only show me one choice for recovering the backup (the most recent one).

Mounting the sparsebundle in Finder shows me backups from 4 dates, which is correct, and I am interested in any of the earlier 3. Additionally, here is the data from the file com.apple.TimeMachine.SnapshotHistory.plist, which also shows the 4 backups:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Snapshots</key>
    <array>
        <dict>
            <key>com.apple.backupd.SnapshotCompletionDate</key>
            <date>2013-11-21T17:37:20Z</date>
            <key>com.apple.backupd.SnapshotName</key>
            <string>2013-11-21-123720</string>
            <key>com.apple.backupd.SnapshotTotalBytesCopied</key>
            <integer>2011005404937</integer>
        </dict>
        <dict>
            <key>com.apple.backupd.SnapshotCompletionDate</key>
            <date>2013-11-22T08:04:32Z</date>
            <key>com.apple.backupd.SnapshotName</key>
            <string>2013-11-22-030432</string>
            <key>com.apple.backupd.SnapshotTotalBytesCopied</key>
            <integer>7208602218</integer>
        </dict>
        <dict>
            <key>com.apple.backupd.SnapshotCompletionDate</key>
            <date>2013-11-22T23:58:38Z</date>
            <key>com.apple.backupd.SnapshotName</key>
            <string>2013-11-22-185838</string>
            <key>com.apple.backupd.SnapshotTotalBytesCopied</key>
            <integer>111986052</integer>
        </dict>
        <dict>
            <key>com.apple.backupd.SnapshotCompletionDate</key>
            <date>2013-12-04T21:16:16Z</date>
            <key>com.apple.backupd.SnapshotName</key>
            <string>2013-12-04-161616</string>
            <key>com.apple.backupd.SnapshotTotalBytesCopied</key>
            <integer>53164333190</integer>
        </dict>
    </array>
</dict>
</plist>

How do I go about repairing the sparsebundle so I can have Time Machine restore one of the earlier backups? My last resort would be copying everything over by hand, but this would be messy, as well as incredibly time-consuming due to the large amount of data. I have spent many hours on this and have had headache after headache, any help is extremely appreciated!

Best Answer

Not completely sure if it will works since I don't know when the snapshot was taken (before or after an update). You can go into your system preferences, spotlight, privacy tab, add your hard drive, reboot, remove the hard drive from spotlight and let the spotlight re-index (this can take a while). Try going into time machine again.

Updates have messed up Time Machine when doing a clean install and upgrade for quite a few people and this was the fix.