Fix Time Machine Sparsebundle NAS Based Backup Errors

Time Machine

This is a modification of an original post for use when you have a corrupt sparsebundle backup on a NAS (as opposed to an external drive attached to a router) and it needs to be repaired. The NAS is likely a hardware product from the likes of Netgear, Synology, Buffalo or QNap – or for those of us with a home-grown backup server running FreeNAS.

The error you may see is “Time Machine completed a verification of your backups. To improve reliability, Time Machine must create a new backup for you.” This can be fixed by following the below.

From your Mac, connect to the network share that houses the sparsebundle.

At the top level of the drive are the various sparsebundles that make up your individual computer backups.

Do not double click on these sparsebundles or try to repair with Disk Utility.

Open Terminal and then switch to root by typing

sudo su -

and then enter your password.

The verication that has already run has marked your sparsebundle as bad, so first we need to make it look normal.

From the command line

chflags -R nouchg /Volumes/{name of your network share}/{name of}.sparsebundle

This may take a little while.

Now type

hdiutil attach -nomount -noverify -noautofsck /Volumes/{name of your network share/{name of}.sparsebundle

You will then see something like

/dev/diskx Apple_partition_scheme
/dev/diskxs1 Apple_partition_map
/dev/diskxs2 Apple_HFSX

Where x is the disk id for the external disk. You are interested in the one labeled Apple_HFSX or Apple_HFS. It might be 2, 3, 4 or higher.

At this point, I have found that the filesystem check is already happening. You can check for activity by tail’ing the fsck_hfs.log

tail -f /var/log/fsck_hfs.log

If fsck is going then in my experience it will be able to repair the sparsebundle. Go away for a few hours and let it chug away.

When it is done, you will either see

‘The Volume was repaired successfully’

or

‘The Volume could not be repaired’

If the latter you can run disk repair again:

fsck_hfs -drfy /dev/diskxs2

(Optionally if you have the available RAM, you can set a RAM cache in the command above to help speed up this command like so:

fsck_hfs -drfy -c 750 /dev/diskxs2

This will use 750MB of RAM – feel free to change this amount to best fit your system (amount of RAM vs size of your Time Machine Sparsebundle). If you are unsure about this, use the first command.

Make sure to replace x with whatever number your disk is from the output above.

The letters “drfy” tell the filecheck utility different things. d for ‘Show Debug’ – r for ‘Rebuild Catalog Tree’ – f for ‘Force’ and y for assume ‘yes’ to any prompts.

Now go do something for an hour or two. Come back and

tail -f /var/log/fsck_hfs.log

If all went well, the last output you will see is

‘The Volume was repaired successfully’

Now you need to type
hdiutil detach /dev/diskxs2

You can redo the above for any other Time Machine sparse bundles you have permission to modify while you have the network share attached to your computer.

Final step.

When complete, you need to edit an plist file within the sparsebundle that records the state of the backup. On the top level of the sparsebundle find a file called com.apple.TimeMachine.MachineID.plist. Edit it and remove these two nodes

<key>RecoveryBackupDeclinedDate</key>
<date>{whatever-the-date}</date>

Finally you want to change

<key>VerificationState</key>
<integer>2</integer>

to
<key>VerificationState</key>
<integer>0</integer>

Now you can eject the network share and have Time Machine give it another go. After the (long) verification step, backups should proceed once again.

Notes:

Ideally this should be done over a gigabit wired network connection. Do not attempt using Wi-Fi. You also want to make sure your machine does not go to sleep during the above operation.

[Update: 1.1.2013]

I appreciate all the warm feedback from people all over the world who have been helped by this post. This site helps to fund my hobbies, so if this post has helped you please consider a USD $1.99 donation to my hobby fund.

[Update: 12.23.2012]

If after running the initial

fsck_hfs -drfy /dev/diskxs2

command you get a message in the fsck_hfs.log along the lines of

RebuildBTree – record x in node y is not recoverable.

then try

fsck_hfs -p /dev/diskxs2

followed by

fsck_hfs -drfy /dev/diskxs2

And see if that works.  It did for me today.

207 thoughts on “Fix Time Machine Sparsebundle NAS Based Backup Errors

  1. Dablo

    Hello,

    Hopefully you can help…I am trying the above however I have no clue how to find the correct path to my TM backup on my QNAP NAS for the following terminal command from your guide above:

    chflags -R nouchg /Volumes/{name of your network share}/{name of}.sparsebundle

    So I keep getting ‘no such file or directory’

    Thanks for your advise!

    Regards,

    Dablo

    Reply
    1. Garth Gillespie

      @Dablo

      You can run

      ls -l /Volumes

      from the command line, after you have connected to your network share in the Finder in order to find the name of your network share

      Reply
  2. Austin

    Hi Garth,

    I am having this exact problem. like Billy above, I have a space and an apostrophe in the filename. When I run the first line of text, I get no results:

    See below:
    Austins-MacBook:~ root# chflags -R nouchg /Volumes/SynoVolume1/Austin’s MacBook.sparsebundle
    >

    When I try to run this command with quotes like you suggest above, I get the no file or directory like Billy.

    Any ideas?

    Reply
  3. Sander

    Thanks a lot for these instructions. It fixed my backup several times! I can report it also works for Mountain Lion although I had to use the above already two times in one week. I started off with a new backup sparsebundle.

    Reply
  4. Greg A. Woods

    Well, this never-ending problem recurred again this month.

    I finally got around to trying to fix it, and much to my surprise this time another slight new change to what I was doing made it work again.

    Every time the fsck failed I detached and then re-attached the virtual disk. This seemed to allow the fsck to produce a new result, and eventually it all worked OK.

    I think this may also hint at why so many layers of abstraction are a really bad idea and how hard it is to make everything work correctly, with all caches consistent, and all writes in order, etc.

    Reply
  5. Michael James

    Followed these instructions exactly and they worked perfectly. Looks like my problem started because the NAS didn’t properly support AFP 3.3 (used by Lion and Time Machine). So I’ll probably have to do this again in a couple months unless that gets fixed.

    Reply
  6. Mano

    Hi Garth,
    I tried as per your instructions and I get the following error after the 3 attempt. It looks like this cannot be repaired ? Please advice ?

    sh-3.2# fsck_hfs -drfy /dev/disk3s2
    ** /dev/rdisk3s2
    Using cacheBlockSize=32K cacheTotalBlock=32768 cacheSize=1048576K.
    Executing fsck_hfs (version diskdev_cmds-491.6~3).
    ** Checking non-journaled HFS Plus Volume.
    ** Checking extents overflow file.
    ** Checking catalog file.
    ** Rebuilding catalog B-tree.
    hfs_UNswap_BTNode: invalid node height (1)
    ** Rechecking volume.
    ** Checking non-journaled HFS Plus Volume.
    ** Checking extents overflow file.
    ** Checking catalog file.
    ** Checking multi-linked files.
    ** Checking catalog hierarchy.
    ** Checking extended attributes file.
    Overlapped extent allocation (id = 2540126, /Music/iTunes/iTunes Media/iTunes U/Financial Markets (2011)/Introduction.m4v)
    extentType=0×0, startBlock=0xc43add, blockCount=0×5, attrName=(null)
    ** Checking volume bitmap.
    ** Checking volume information.
    Invalid volume free block count
    (It should be 343638048 instead of 343638053)
    Verify Status: VIStat = 0×8800, ABTStat = 0×0000 EBTStat = 0×0000
    CBTStat = 0×0000 CatStat = 0×00000000
    ** Repairing volume.
    Look for links to corrupt files in DamagedFiles directory.
    ** Rechecking volume.
    ** Checking non-journaled HFS Plus Volume.
    ** Checking extents overflow file.
    ** Checking catalog file.
    ** Checking multi-linked files.
    ** Checking catalog hierarchy.
    ** Checking extended attributes file.
    Overlapped extent allocation (id = 2540126, /Music/iTunes/iTunes Media/iTunes U/Financial Markets (2011)/Introduction.m4v)
    extentType=0×0, startBlock=0xc43add, blockCount=0×5, attrName=(null)
    ** Checking volume bitmap.
    ** Checking volume information.
    Invalid volume free block count
    (It should be 343638048 instead of 343638053)
    Verify Status: VIStat = 0×8800, ABTStat = 0×0000 EBTStat = 0×0000
    CBTStat = 0×0000 CatStat = 0×00000000
    ** Repairing volume.
    Look for links to corrupt files in DamagedFiles directory.
    ** Rechecking volume.
    ** Checking non-journaled HFS Plus Volume.
    ** Checking extents overflow file.
    ** Checking catalog file.
    ** Checking multi-linked files.
    ** Checking catalog hierarchy.
    ** Checking extended attributes file.
    Overlapped extent allocation (id = 2540126, /Music/iTunes/iTunes Media/iTunes U/Financial Markets (2011)/Introduction.m4v)
    extentType=0×0, startBlock=0xc43add, blockCount=0×5, attrName=(null)
    ** Checking volume bitmap.
    ** Checking volume information.
    Invalid volume free block count
    (It should be 343638048 instead of 343638053)
    Verify Status: VIStat = 0×8800, ABTStat = 0×0000 EBTStat = 0×0000
    CBTStat = 0×0000 CatStat = 0×00000000
    ** The volume manbalas could not be repaired after 3 attempts.
    volume type is pure HFS+
    primary MDB is at block 0 0×00
    alternate MDB is at block 0 0×00
    primary VHB is at block 2 0×02
    alternate VHB is at block 2928282862 0xae8a0cee
    sector size = 512 0×200
    VolumeObject flags = 0×07
    total sectors for volume = 2928282864 0xae8a0cf0
    total sectors for embedded volume = 0 0×00

    Reply
  7. Norm

    This worked. I have a Synology NAS and I could not access the sparsebundle file. I finally gained access by renaming the file without any spaces or apostrophes and renamed it back after completion. Also to find that “Pline” file I searched it with Finder and then right clicked and used the Mac text editor and that worked fine too..
    Thanks for posting this. I have been creating new backups it seems like every 2 months for over a year it would error and want a rebuild, I hope it lasts a while. It seems to me since I have seen this issue happening to so many with all sorts of backup devices that it must be a Mac timemachine issue. When I originally called Apple they said it was my Synology that was corrupt causing the problem…

    Reply
  8. Eckart Hasselbrink

    Grath, I think the time needed for the filesystem check will significantly improve if you give fsck a decent sized cache to work with. Adding the option -c 2g will assign two gigabyte for it. If your machine can afford that, it will likely speed up things vastly, as the file system structure will be held im memory and not be read from the checked disk over and over again.

    Reply
  9. Grégory

    Thanks for this post ! It helped recover my Netgear Stora backup which has been breaking on a bi-monthly basis since I bought it last september.

    Reply
  10. other

    I’m getting the same error as Starkos, above: failed with error 7.
    http://www.garth.org/archives/2011,08,27,169,fix-time-machine-sparsebundle-nas-based-backup-errors.html/comment-page-2#comment-57027

    Here’s the full end of the log:

    ** Checking extended attributes file.
    hfs_swap_BTNode: invalid forward link (0xB0B3D200)
    /dev/rdisk2s2: hfs_swap_BTNode: invalid node kind (-75)
    /dev/rdisk2s2: hfs_swap_BTNode: invalid node height (179)
    /dev/rdisk2s2: hfs_swap_BTNode: invalid record count (0xD200)
    /dev/rdisk2s2: Invalid record count
    (8, 66372)
    /dev/rdisk2s2: ** The volume Time Machine Backups could not be verified completely.
    volume check failed with error 7
    /dev/rdisk2s2: volume type is pure HFS+
    /dev/rdisk2s2: primary MDB is at block 0 0×00
    /dev/rdisk2s2: alternate MDB is at block 0 0×00
    /dev/rdisk2s2: primary VHB is at block 2 0×02
    /dev/rdisk2s2: alternate VHB is at block 976767934 0x3a384bbe
    /dev/rdisk2s2: sector size = 512 0×200
    /dev/rdisk2s2: VolumeObject flags = 0×07
    /dev/rdisk2s2: total sectors for volume = 976767936 0x3a384bc0
    /dev/rdisk2s2: total sectors for embedded volume = 0 0×00

    Reply
  11. Ian Goldby

    Thank you – you saved my backup. This is the second time this has happened to me since I switched to wireless backups on a Synology NAS. The first time I accepted deleting the backup and starting again. I was not so willing to do that the second time.

    Now I’ve just got to find out what is causing this so I can stop it happening again. Some seem to think putting the Mac to sleep while a backup is in progress might be a cause.

    Reply
  12. Christof

    [EDIT - This is included for some who may find this easier - I'm not sure I subscribe to the theory that the corruption occurs in the most recent backup - but if this works for some, all the better.]

    A simple way to repair TimeMachine Backups on a NAS Storage

    (in this case a Synology DiskStation 210 j, typically used via WLAN from 2 MacBook Pros, running the latest version of Snow Leopard)

    When it first happened to me, I tried to follow Garth’s recommendations, but somehow I seem to be too inadept with the terminal.
    I then tried around, using some of the facts that he explains in his blog.
    Since then, it has worked for me twice.

    Here’s how:

    First, inactivate TimeMachine or chose a different backup disk.

    Next, you have to make the “broken” backup accessible by:

    1. Mount the NAS share on which the disk image resides. (There probably is a „locked“ symbol at the bottom left corner oft the image’s icon)

    2. Control-click the icon and select „Show Package Contents“. There probably are 2 files with a „locked“ symbol inside the package: „com.apple.TimeMachine.MachineID.plist“ and „token“.

    3. Select each one of them; call up the info window by either clicking „command-I“ or by using the menu. The checkbox „locked“ will be selected. Deselect it and close the info window. When you are done with both files, close the package window.

    Next, you have to mount the disk image, which can take quite some time and which is best done using a LAN cable.

    4. Navigate through the folder levels until you find the folders, which are named after date and time of each individual backup.

    5. Assuming that something went wrong during the last backup, throw the complete contents oft the „Latest“ alias into the trashcan. This usually requires unlocking several of the contained folders using info window as described above. Empty the trash.

    6. Just to be on the safe side, I always removed the 2 most recent folders as well, but I don’t know whether this is really necessary.

    7. Write down date and time of the most recent folder you leave behind.

    8. Next, run Disk Utility to repair the image

    9. Eject the image

    Now, you have to modify the „com.apple.TimeMachine.MachineID.plist“ file that you unlocked in step 3 to reflect the new status of the backup:

    10. Open the package contents

    11. Open the file with the “Text Edit” application.

    12. In the line “yyyy-mm-ddThh:mm:ssZ” adjust date and time to the date and time of the most recent folder left in the sparse bundle disk image.

    13. The line “number” may read “2”. Change it to “1”.

    14. Close and save the file.

    15. Close the package window.

    16. Activate TimeMachine and select the repaired NAS share. Option-click on the TimeMachine icon in the menu bar and select “Verify Backups”. After this has finished, you should be back in business.

    Reply
  13. Jens

    Thank you for your help…. I am not sure to be successful here. Typing “fsck_hfs -drfy /dev/disk4s2″ I get
    “Unable to open block device /dev/disk4s2: Resource busyjournal_replay(/dev/disk4s2) returned 16
    ** /dev/rdisk4s2 (NO WRITE)
    Using cacheBlockSize=32K cacheTotalBlock=16384 cacheSize=524288K.(….) ** Checking extents overflow file.
    ** Checking catalog file.
    ** The volume Time Machine-Backups was found corrupt and needs to be repaired.”

    Does this mean that the repairing has started, or does the NOWRITE make this impossible.

    I tried to attach a “readwrite” but get a “attach failed”.

    Can someone please help me????
    Thank you!
    JENS

    Reply
  14. Kyphos

    @ Chris K,
    Thanks for the tip about using Console to view the fsck_hfs log file. That was a big help. I don’t know what a tail is, but I do know how to use the Console app:-)

    @ Garth,
    THANK YOU so much for publishing the detailed recipe, and providing the blogspace for us all to exchange comments. Your procedure fixed my TM problem (Snow Leopard 10.6.8, TM backing up to Netgear ReadyNAS with 2x2TB Raided drives). My TM sparesbundle is around 400 GB. The fsck repair ran overnight, so more than 4 hours but less than 10. Fsck reported “invalid free block count”. Was 137781235, should be 137783098. Problem repaired.

    After following your procedure, I turned TM back on and started a backup. The pre-backup verification step took about 20 minutes, then TM successfully backed up about a gig of files that had been accumulating since it first went off the rails.

    My tip: I used TextWrangler to edit the plist file, which I found by Showing Contents of the sparseimage file on the mounted NAS volume.

    Reply
  15. Billy

    Hi, I’m having an issue to perform the first command and think that the issue is linked with the name of my sparse bundle file which is: (Volumes/BilSig_Server/BilSig’s iMac.sparsebundle)
    The error message I receive is the following:
    /Volumes/BilSig_Server/BilSigs iMac.sparsebundle
    hdiutil attach -nomount -noverify -noautofsck /Volumes/Volumes/BilSig_Server/BilSigs: No such file or directory

    I see that the <> is gone from the file name.
    Any idea to avoid this?
    Thx in advance for your answer

    Reply
    1. Garth Gillespie

      @Billy

      EDIT – General note for everyone – if your machine name has an apostrophe s, or a space in the name, you will need to enclose the entire path in quotes – i.e. “/Volumes/BilSig_Server/BilSig’s iMac.sparsebundle”

      But in general – life is much easier on the command line if you go into the ‘Sharing’ panel of System Preferences and make your machine name something short with no spaces.

      Reply
  16. David Cher

    it is taking very long to complete

    i am getting these:

    /dev/rdisk2s2: fsck_hfs run at Sat Apr 21 19:42:14 2012
    /dev/rdisk2s2: ** /dev/rdisk2s2 (NO WRITE)
    /dev/rdisk2s2: Executing fsck_hfs (version diskdev_cmds-540.1~34).
    QUICKCHECK ONLY; FILESYSTEM DIRTY

    /dev/rdisk0s3: fsck_hfs run at Sun Apr 22 03:39:58 2012
    /dev/rdisk0s3: ** /dev/rdisk0s3 (NO WRITE)
    /dev/rdisk0s3: Executing fsck_hfs (version diskdev_cmds-540.1~34).
    QUICKCHECK ONLY; FILESYSTEM CLEAN

    any idea?

    Reply
    1. Garth Gillespie

      @David Cher – Those are two different disks. You can sometimes get the ‘quickcheck only; filesystem clean’ message but you still want to run the fsck_hfs command to really start the repair process

      Reply
  17. Greg Haskins

    Your guide worked like a champ, thanks! (OSX 10.7.3 to Synology DSM 4.0 over wifi, persistent time-machine verification failure problem)

    -Greg

    Reply
  18. Joachim Büchse

    Hi Garth, thanks for the article have been referring to it several times already. Unfortunately using a SynologyNAS as TM replacement seems to be a lot less stable than one might wish. You may want to add the -readwrite option to your hdiutil attach call. Under LION I got the following without it:

    Unable to open block device /dev/disk2s2: Resource busyjournal_replay(/dev/disk2s2) returned 16
    ** /dev/rdisk2s2 (NO WRITE)
    [snip]
    ** The volume Time Machine Backups was found corrupt and needs to be repaired.
    [snip]

    fsck would not start. Adding the -readwrite allowed fsck to start.

    Reply
  19. Jason Bussell

    How can I find the network share that houses the sparse bundle? I am using a readyNAS. In Finder, the drive shows up as nas-0A-9E-81 (AFP). When I click on it, I see a folder marked “Backups” but when I click on that folder, it appears to be empty. “Get Info” also shows no data about the contents. At the top of the Finder window, it says that I am “Connected as Guest”. I can’t find the share volumes this way. Is there another way to connect so that it does not see me as a guest?
    Alternatively, when I enter “Time Machine” all my old backups are there and visible. When I close Time Machine, then Finder shows another option for “Devices” under which is the folder “Time Machine Backups”. When I click this, it shows a folder backups.backupdb, inside which is a folder with me the name of my computer. Opening this folder shows me a bunch of folders with titles like 2012-03-14-183718. I assume these are my backups, but how do I tell which one is the bad backup? Or is this not the right way to access the files anyway?

    Reply
  20. Jason

    Further info, I opened up Time Machine and all my backups were there. After that, Finder showed another option: on the left was a header for “Devices” and under that header is “Time Machine Backups”. Clicking this opens the folder to show backups.backupdb. When I click on that, it seems to have folders for all my backups. How do I know which is the one that is bad and needs repairing? Or is this not the right way to access the backups anyway?

    Reply
  21. Johannes

    Hi Garth,

    guess it’s a great article you wrote reading all those comments.

    My problem is though that I am not keen enough to spot the proper name of the network share and the sparsebundle.

    “ls /Volumes/” is showing me a list of 7 items with 2 named like “firstname name Time Capsu” and “firstname name Time Capsu-1″.

    “chflags -R nouchg /Volumes/firstname name time capsu/macbooksname.sparsebundle” causes a “No such file or directory” for “firstname”, “name”, “time” and “capsu/macbooksname.sparsebundle”.

    Have you got any hint where to find the correct writing of that share for dummies?

    Thanks a lot in advance!
    Johannes

    Reply
  22. Chris Kampmeier

    p.s. reading some of the comments above, a couple people are unfamiliar with `tail -f` and waited a long time for it to finish running… oops.

    For this guide, maybe it’d be easier to just have folks use Console.app—you can even start it with the right file open: `open -a Console /var/log/fsck_hfs.log`.

    Anyway, thanks for the post, super helpful.

    Reply
  23. Chris Kampmeier

    Gareth, Greg—
    I also noticed that fsck_hfs had started by itself after attaching the image with hdiutil, despite the -noautofsck option. I poked around a bit and saw that its parent was diskarbitrationd(8), a system-wide daemon started by launchd, i.e.

    $ ps -eoppid,pid,args |
    grep [f]sck_hfs |
    awk ‘{ print $1, $2 }’ |
    xargs ps -wwouser,ppid,pid,start,pcpu,pmem,command -p

    USER PPID PID STARTED %CPU %MEM COMMAND
    root 1 17 12:44AM 0.0 0.0 /usr/sbin/diskarbitrationd
    root 17 2341 3:00AM 9.4 12.7 /System/Library/Filesystems/hfs.fs/Contents/Resources/../../../../../../sbin/fsck_hfs -y /dev/disk2s2

    I don’t know much about the Disk Arbitration framework, but I wonder if diskarbitrationd started mounting the image even though we invoked hdiutil with the -nomount option. Not sure.

    Reply
  24. Mark S.

    Garth, I’m running a Synology NAS disk, having trouble determining the network share. How can I find that?
    This is what I’m entering on the terminal:

    Last login: Tue Mar 27 13:30:42 on ttys000
    You have mail.
    Mark-Schlander-MacBook-Pro:~ mdschlander$ sudo su -
    Password:
    Mark-Schlander-MacBook-Pro:~ root# chflags -R nouchg /Volumes/Mark-Schlander-MacBook-Pro/Mark Schlander MacBook Pro 1.sparsebundle
    chflags: /Volumes/Mark-Schlander-MacBook-Pro/Mark: No such file or directory
    chflags: Schlander: No such file or directory
    chflags: MacBook: No such file or directory
    chflags: Pro: No such file or directory
    chflags: 1.sparsebundle: No such file or directory

    Reply
  25. Stephane

    Hi Garth,

    Thanks for your excellent tutorial and all the time you have spent with all of us.

    I followed your instructions, and started a recovery from a DVD of Snow Leopard. It started well, and during the process, it stopped and crashed. There was a window showing many errors (I could start all over if you think it’s relevant)… what is the best way to recuperate my files from the backups.backupdb ? Because there are dozens of subfolders (different date) and inside of them, many many files… what is the most efficient way to recuperate all the data ?

    Thank you !

    Reply
    1. Garth Gillespie

      Stephane – everything you can do, you can do on the top level of the sparsebundle. You don’t need to worry about the sub-folders because the repair operation is recursive.

      Reply
  26. panik

    cheers to the nerds! it worked great for me running OS 10.7.3 and a Synology DS212j with DSM 3.2

    Reply
  27. Helmut

    Hi Garth,
    thank you very very much for this article.
    My sparsebundle is located on a QNap. Just when i had to restore a very important document the error occures and I could fix the problem with your description.
    This was very helpful.

    One more thing:
    You wrote: “If all went well, the last output you will see is
    ‘The Volume was repaired successfully’”
    But in my case it said:
    “** The volume Time Machine-Backups appears to be OK.”
    So I waited for a while, nothing more happened, so I followed the rest of your instructions, and after a reboot of the iMac everything was fine. :-) )

    Reply
  28. Editor

    I would like to thank you for saving me endless hours needed for recreating my backup, not to mention the data stored on my TM . If you ever come by to Poland, just let me know :) I will do my best to return the favor.

    Reply
  29. Dave

    This method worked superbly for me! Thanks, Garth, for making the instructions so clear and easy to follow. You da man!

    Reply
  30. Neil

    Fantastic, clear, complete directions! It worked perfectly, at least so far. Thanks very much for helping me save my backup history.

    Reply
  31. vitaly

    This tip nice work with WD World II over the Wi-Fi.
    It will be cool to write a automatic script!!! I try this step every week :(

    Reply
  32. Tom

    Worked for me. The only difficulty I had was that the plist file would not show up in Finder even with hidden files shown. So, I could not use my plist editor. It did show up with ls in the termini. I had to use the VI editor in the Terminal. Since I hardly ever use the VI editor, it took a few minutes to make the simple edits. Time Machine required some time to verify the back up, but all is well.

    Reply
  33. Dan

    Hi, just wanted to say thanks for fixing my backup!

    Also, the other Dan that has the Name???s MacBook Pro problem, I too had the issue but if you type the first letter of the spares bundle’s name and then press TAB it will correctly autocomplete it for you (Usually it is “Example\342\200\231s\ Mac\ Pro.sparsebundle/” without the ” “).

    Reply
  34. Dan

    Hi, just wanted to say thanks for fixing my backup!

    Also, the other Dan that has the Name???s MacBook Pro problem, I too had the issue but if you type the first letter of the spares bundle’s name it will correctly autocomplete it for you (Usually it is “Example\342\200\231s\ Mac\ Pro.sparsebundle/” without the ” “).

    Reply
  35. Patrick

    Garth,
    I am receiving the following message on my TM: Something wrong with the volume’s CNID DB, using temporary CNID DB instead .Check server messages for details. Switching to read-only.

    My TM is connected to a Buffalo Linkstation 2 terabyte NAS which is connected to an Airport Extreme (for 6 months now w/o problems). I realise now that’s probably not a good connection through wireless, but had no problems before now.

    The sparsebundle is located on the backup folder of the NAS.

    I have no clue how to repair the sparsebundle and am not very good at ‘programming’. Should I follow exactly what you have written or should I just delete the offedning sparsebundle in question? I would really appreciate your input

    Tks

    Patrick

    Reply
    1. Garth Gillespie

      Patrick,

      The CNID DB is part of the AFP network protocol and is a small database file on your Linkstation share that tracks metadata about the AFP share to your Macs.

      CNID DB corruption is not necessarily fatal, but I’m not sure how many tools you have available to fix it on the Linkstation.

      If your Linkstation is still under warranty, I would try contacting their support area and see if they can help.

      You might also check for a firmware update for your Linkstation.

      If you get to the point where you think you just need to re-format your Linkstation drive, the last ditch step to regenerate the CNID DB is to delete all the .AppleDouble and .AppleDB directories.

      Reply
  36. Greg A. Woods

    Last fall I had Time Machine trash my Macbook backups and either I flubbed something or things got into such a bad state that fsck_hfs tried once to repair the image and then subsequently would almost immediately give up and tell me that the volume could not be repaired. I ended up trashing the .sparsebundle and starting TM from scratch again.

    I just had to do this again, this time for my iMac, on a .sparsebundle containing over 940 MB on my Time Capsule.

    Two notes:

    1. you only have to remove the “uchg” flag from the .sparsebundle directory itself, and the file “token” within it. That saves a good deal of time!

    2. the fsck_hfs process ran even though I gave hdiutil the “-noautofsck” option — but that was OK for me this time because (a) I noticed it running before I tried to run it manually (though the manual run will fail gracefully and tell you that the volume is busy); and (b) it actually did the repair!

    The fsck_hfs process ran for almost 24 hours. That’s with the target being a Time Capsule, connected by gigabit ethernet.

    When I started Time Machine again the verify (another fsck_hfs run by TM) took almost 9 hours. I wonder if there’s a simple way to set the .plist file to indicate that all is well and no new verify is needed.

    Reply
  37. HAL1

    Hello Garth,

    Your article allowed me to save my Snow Leopard back-up, which I thought utterly beyond recovery!

    Thanks a lot! :-)

    Alain

    Reply
  38. Dan

    My computer is named ‘User Name’s MacBook Pro’. My spare bundle is named ‘User Name’s MacBook Pro.sparsebundle’ in Finder but shows up as ‘User Name???s MacBook Pro.sparsebundle’ in Terminal when I do ls -l.

    Both of these come back with ‘No such file or directory’ as an error message. Does anyone know how to properly type those file names in the command line? I am using quotes around the full path.

    Reply
    1. Garth Gillespie

      Dan – I think your apostrophe is really a smart quote, and a weird smart quote at that, so that is why it is showing up as question marks – the filesystem does not know how to read the quote.

      There are a couple things to try. The first is in your Terminal preferences, go to the bottom of the Advanced tab in Settings and make sure your character encoding is set to UTF-8 (you’ll need to restart Terminal to see changes) – if it is set to UTF-8, try some other character sets.

      The other option is to rename both your machine (in System Preferences->Sharing) and also rename the sparsebundle (via Finder) to the same thing.

      Reply
  39. Andreas

    Thanks for this!
    Works perfectly.
    But still the problem comes up after a few days again.
    It’s a bit annoying to do all of this again and again all the time.
    Does anyone know the reason why this happens?
    Is there no way to solve this once and for ever?

    Reply
  40. Julian

    I restarted the process and it seems to work now!

    Thanks for this amazing piece of information!

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>