Scrivener projects won't open after drive backup

I backed up my drive to a disk image so I could resize my harddrive partition but when I copied my disk image back across none of my scrivener files will open, instead I get the message

"Update Project? (Project Possibly Corrupt)

The version of Scrivener in which this project was created could not be determined. This could be because it was created in Scrivener Gold (which did not store project version numbers) or because the project has become corrupt and certain crucial files have gone missing from within the file package.

If this project was created in Scrivener Gold, please continue by clicking on “Update Project”. If not, please contact with as much information as possible, including:

•Where this file is stored (on an external drive, in the ~/Desktop folder etc).
• Any synchronisation or backup software you use.
• Whether you have moved or copied this file prior to this problem occurring.
• Whether you have run any maintenance software recently.
• Anything else you think may be pertinent."

Now what’s really weird is I can load the project fine from the mounted backup disk image (hosted on my external drive) straight into Scrivener fine but as soon when I close Scrivener and copy the project to my harddrive it won’t open. If I copy it to another external drive it won’t open but it will open from my PC’s network drive when I copy it there. What’s going on? Even if I open it from the network drive or disk image and backup the project to my harddrive I can’t then open that project without the same error message occurring.

I used ccc to clone the drive to a ‘sparse bundle’ before I resized the partition and used ccc to put it back across afterwards.

I’m guessing that you reinstalled OSX after the partition resize. If you did, try this.

  1. Copy the scriv files to a folder in your home directory. I recommend all in one for now just to make it easy.
  2. Close all programs and open disk utility.
  3. Select your boot disk and click “Repair Disk Permissions”
  4. Try opening a project.
    This may not work for your specific case, but it is a good place to start.

If you didn’t reinstall OSX simple ignore everything above.

Nice tip

Hmm I copied the file to my OS partition and ran repair permissions and you’re right it works, but when I copy it to my data partition where my home directory lives it doesn’t work… This must be some weird permissions problem.

At least I can open and edit my thesis from my internal harddrive, even if it has to live in root (never a good place).

I wonder what to try next to get it back on my home directory…

Copy the project into home directory then run repair permissions. Does that get it?

Did you reinstall the OS?

So, when you load the project from the mounted backup disk, can you save it from Scrivener with File | Save As… ?

I didn’t reinstall the OS I just backed up the OS partition so I could resize it and then copied it back across. I used CCC to make the disk image and disk utility to copy it back. I used CCC to make and copy back the data partition.

I don’t have my home folder on the same partition as the OS I have it on the separate data partition so repairing permissions (which only works on a partition with the OS installed) won’t do any good. What’s more I don’t think it is a permissions issue any more because I started fresh copying the OS and data disk images back on to the internal after buggering things right up when trying some chmod voodoo in the terminal. When and copied the scriv file from the disk image to the OS partition it would open (having not run repair permissions which rules out permissions) but still not from the data partition. When I use ls -l to compare the permissions they’re the same.

I tried file -> backup (there is no save as) to save on to the data partition but that doesn’t work either.

Considering that you are fiddling with slices I’m going to assume that you are fairly comfortable with OSX and terminal access.

I believe what you are experiencing is an ACL issue related to you home dir being located on a secondary slice. I avoid this like a communicable disease for reasons that I think you are discovering (I firmly believe that “just because you can” doesn’t mean "you should). Because OSX really is intended to be a simple OS using a complex slicing strategy should be avoided.

That said drop into the terminal, provide long ls output, checksum, and ACL listing for both the working (root partition) and non-working (user partition) files. You should see your problem fairly quickly.

For what it’s worth the error had nothing to do with ACL or slices it was caused because I had foolishly selected hfs+ journaled case sensitive instead hfs+ journaled. Maybe that’ll help someone else.

I run a system with OS X and data partitioned separately so that my bootcamp partition can have full read write access to my data without any risk of windows doing something stupid in root. It also means I can wipe and reinstall either OS without interfering with my data.

That’ll do it!