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.
Thanks, this worked great!
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
@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
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?
@Austin – you need to quote the entire path so
chflags -R nouchg “/Volumes/SynoVolume1/Austin’s MacBook.sparsebundle”
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.
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.
Awesome! It worked great!!
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.
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
@Mano – yes, I think that one cannot be repaired.
This worked beautifully, even on my drive connected to my Airport Extreme. Thanks so much for the great instructions!
Thank you sir for this very helpful post. It fixed my backup residing on an UnRaid NAS.
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…
Thanks for this. While I wait for it to finish, question: Do you have any idea why this failure happens in the first place?
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.
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.
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
@Starkos & @Other – Those ‘invalid node’ errors are not fixable.
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.
[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.
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
@ 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.
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
@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.
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?
@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
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
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.
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?
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?
@Jason – you really should be doing this from the command line – there isn’t anything you can fix inside your Time Machine sparsebundle.
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
Johannes – try enclosing the entire path in quotes, i.e.
chflags -R nouchg “/Volumes/firstname name time capsu/macbooksname.sparsebundle”
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.
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.
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
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 !
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.
thanks for this! saved me from my third rebuild.
cheers to the nerds! it worked great for me running OS 10.7.3 and a Synology DS212j with DSM 3.2
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.
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.
This method worked superbly for me! Thanks, Garth, for making the instructions so clear and easy to follow. You da man!
Fantastic, clear, complete directions! It worked perfectly, at least so far. Thanks very much for helping me save my backup history.
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
Worked perfectly. Thank you very much for the instructions, much appreciated.
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.
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 ” “).
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 ” “).
Worked great!
The fsck end msg changed a bit, but everything works fine now,
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
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.
make that 940 GigaBytes
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.
Garth,
Thanks for the write up. Certainly a mega time and headache saver!
-Jason
Hello Garth,
Your article allowed me to save my Snow Leopard back-up, which I thought utterly beyond recovery!
Thanks a lot!
Alain
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.
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.
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?
I restarted the process and it seems to work now!
Thanks for this amazing piece of information!