now | writings | rss | github | twitter | contact

restoring case-sensitive hfs+ volumes with time machine

posted to writings on nov 11th, 2009 with tags mac and nerd, last updated on feb 24th, 2011 and commented on 14 times

i've always formatted my mac os partitions with case sensitivity enabled, which usually means formatting a new system and re-installing mac os x as soon as i get it. after installing the 10.6.2 update, i lost my system menu bar icons and was forced to restore from a 10.6.1 backup made the day before.

following apple's instructions, i booted to the snow leopard installation dvd, chose the "restore system from backup" option and thought i was on my way. about 50% into the recovery, the recovery application crashed:

Nov  9 19:27:08 localhost LCA[79]: Child exited with status 11
Nov  9 19:27:13 localhost Unknown[249]: Launching the Installer Crash Log Viewer
Nov  9 19:27:48 localhost ReportCrash[248]: Process:         Mac OS X Installer [148]
Nov  9 19:27:48 localhost ReportCrash[248]: Path:            /System/Installation/CDIS/Mac OS X Installer.app/Contents/MacOS/Mac OS X Installer
Nov  9 19:27:48 localhost ReportCrash[248]: Identifier:      Mac OS X Installer
Nov  9 19:27:48 localhost ReportCrash[248]: Version:         ??? (???)
Nov  9 19:27:48 localhost ReportCrash[248]: Code Type:       X86-64 (Native)
Nov  9 19:27:48 localhost ReportCrash[248]: Parent Process:  LCA [79]
Nov  9 19:27:48 localhost ReportCrash[248]:  
Nov  9 19:27:48 localhost ReportCrash[248]: Date/Time:       2009-11-09 19:26:34.635 -0800
Nov  9 19:27:48 localhost ReportCrash[248]: OS Version:      Mac OS X 10.6 (10A432)
Nov  9 19:27:48 localhost ReportCrash[248]: Report Version:  6
Nov  9 19:27:48 localhost ReportCrash[248]:  
Nov  9 19:27:48 localhost ReportCrash[248]: Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Nov  9 19:27:48 localhost ReportCrash[248]: Exception Codes: 0x000000000000000d, 0x0000000000000000
Nov  9 19:27:48 localhost ReportCrash[248]: Crashed Thread:  0  Dispatch queue: com.apple.main-thread
Nov  9 19:27:48 localhost ReportCrash[248]:  
Nov  9 19:27:48 localhost ReportCrash[248]: Application Specific Information:
Nov  9 19:27:48 localhost ReportCrash[248]: objc_msgSend() selector name: release

after rebooting back to the dvd, i noticed that during the recovery process, the first thing the utility does is format the drive being recovered without retaining the case sensitivity option that was present on it. since there's no apparent way to use the time machine restoration program without it re-formatting again, i had to restore the backup manually.

with the disk utility application on the dvd, i reformatted the system drive as a case-sensitive, journaled hfs+ partition. next, i opened terminal and did a full rsync from the last backup on the usb drive to the local drive.

note: because rsync is not available on the backup dvd, it has to be run from the backup's directory. and because the path is long and it has to be run twice, it's easier to assign it to a variable $RSYNC. also, the path on your backup will be different since it contains the hostname of your machine and your drive's name.

# RSYNC=/Volumes/backups/Backups.backupdb/(your hostname here)/Latest/(your drive name here)/usr/bin/rsync

# $RSYNC -avE --progress /Volumes/backups/Backups.backupdb/(your hostname here)/Latest/(your drive name here)/. /Volumes/(your newly formatted drive name here)/.

while this was running, rsync spit out warnings about not being able to write to /tmp because the filesystem (/tmp, which is on the dvd filesystem) is read-only. these are harmless (and there is probably a flag to rsync to avoid doing this, but whatever).

after the backup was completely copied from the usb drive, i rebooted and found that the system would just display the gray apple logo screen and then power off. after booting in verbose mode (command-v), i saw a message about not being able to access /dev just before the system powered off. apparently time machine doesn't backup /dev, so i needed to restore it from somewhere (no /dev/MAKEDEV on mac os i suppose).

i rebooted to the dvd again and just did an rsync of the dvd's live file system's /dev with:

# $RSYNC -av /dev/. /Volumes/(your new drive name here)/dev

i rebooted again and everything seemed to be back to normal, although itunes was telling me my computer was not authorized on my account. i'm assuming there is some kind of unique system id tied into the filesystem somehow, and when the system drive is reformatted, this unique id gets changed. i deauthorized my computer and re-authorized it and everything seems ok now.

the initial issue with the menu bar icons in 10.6.2 was apparently caused by my disabling of spotlight previously. i upgraded to 10.6.2 again and properly disabled spotlight and everything is working now.

for my next trick, i will try to re-install pgp whole disk encryption again once pgp finally comes out with a working version compatible with snow leopard, and then do a time machine restore from an encrypted backup drive.

Comments? Contact me via Twitter or e-mail.

14 Comments

Roger Gregory (authentic) on may 12th, 2010 at 08:28:29:

Have you bothered with the new PGP WDE? Their site suggests it now supports 10.6.x

Josh Anderson (authentic) on june 6th, 2010 at 14:41:06:

Thanks for this. I just had to use it, works perfectly.
I can't believe there is this kind of bug in the installer though. I really hope they've fixed it with newer SL disks.

dave mac (authentic) on june 13th, 2010 at 09:43:17:

worked for me as well thanks for the info dont understand how this big of bug got through testing

jason (authentic) on october 4th, 2010 at 07:09:37:

Wow, can't believe I stumbled across this. Surely my problem's related. I'm just the opposite, I initially formatted in case-sensitive but then after finding out that Adobe doesn't work, I reformatted in regualr hfs. Tried to restore from Time Machine (used different restore points) twice, and it got to the last 20 minutes or so and I get that same message.

Just to check, I tried to fire up the machine as I noticed it looked like in terms of space, it completed the restore. I'm typing on it now, but there are problems for sure.

I guess I'm going to try a fresh install, and then use migration assistant since the time machine isn't working.

mathis (authentic) on february 5th, 2011 at 07:36:24:

Hi Jason,
this is comming up for me. Due to Adobe and not googling before formating as case-sensitive.

So how did you eventually change back to case-INsensiitve? Does the migration assitant work well? I'd really like to avoid the whole setup..

Cheers from Berlin,
m.

Fred (authentic) on february 21st, 2011 at 11:29:51:

Hi Jason,

Just wanted to say thanks! I think your post may have dug me out of a big hole (still rsyncing so remains to be seen, but a step further than before!).



My problem was the exact same, only further complicated by being OsX Server 10.6, AND the Time Machine backup was on another server (which "should" be GoodBackupPractice101...), and having to deal with both remotely. So a couple of extra steps required but I think we're there:



  1. Boot off OsX 10.6 Server disk, (which luckily was still in X-serve)

  2. Login via screensharing (remembering the serial number as password)

  3. Format disk using Disk Utilities as you describe (HFS+, Journaled, Case Sensitive)

  4. Login to backup server and realise that backup is stored as a sparse image.

  5. Go back to X-serve and select "restore from backup" and click through to mount the remote Time Machine disk.

  6. Login to X-serve via terminal and enter rsync command as described.

  7. Realise that rsync doesn't appear to be in the usual paths on the OsX 10.6.3 server disk.

  8. Realise that rsync IS in the newly-mounted Time Machine Backup.

  9. Enter the gratuitously long command:

cspc10 root# /Volumes/Backup\ of\ cspc10/Backups.backupdb/cspc10/Latest/MacHD/usr/sbin/rsync -avE --progress /Volumes/Backup\ of\ cspc10/Backups.backupdb/cspc10/Latest/MacHD/. /Volumes/MacHD/. & 

(note the "&" to make it a background process and therefore not one that dies when you get kicked off the vpn...)

  • run rsync -av /dev/. /Volumes/smug/dev ... as described.

  • Thank Dog for Google and a man named Joshua Stein! :-)

  • ...and decide to kill two birds with one stone in documenting the procedure here so a) I can remember it next time, and b) it might help someone else as much as your article has helped me...


  • Thank you!

    Damien McKenna (authentic) on february 24th, 2011 at 00:56:24:

    FYI, when I was doing this to convert from a case-sensitive drive to a case-insensitive drive my OSX 10.6 install DVD did not have rsync on it, but the command was available from my TimeMachine backup in the path /Volumes/timemachine/Backups.backupdb/machinename/Latest/machinename/usr/bin/rsync and not the usr/sbin/rsync command as listed above. Hope this helps someone else.

    joshua (authentic) on february 24th, 2011 at 06:44:25:

    sorry, i forgot about that. i've updated the entry to reflect the full path of rsync.

    Damien McKenna (authentic) on february 24th, 2011 at 01:07:58:

    FYI, yes there will be a LOT!!!! of "send_files failed to open /tmp/..." errors, probably one for every single file on the system (I had 2m files).

    Damien McKenna (authentic) on february 24th, 2011 at 03:55:56:

    FYI the above instructions worked fine, after a few hours of rsync'ing my files I now have a fully working restoration of my laptop with a case-insensitive filing system. Thanks Joshua!

    Kinthamen (not authenticated) on july 15th, 2011 at 04:25:55:

    Thanks Man! So far so good on rsync but I had to use Fred's syntax because I kept getting an error. The error was because my backup drive's name is "Time Machine Backup" and the output was that it could not find "/Volumes/Time". Thanks again Joshua and Fred!

    curtis@ram9.cc (not authenticated) on september 5th, 2011 at 18:03:37:

    THANK YOU!

    I am so glad to see this - I tried to get something working on the first version of time machine - and now in the latest release it looks like the files are all there - I didn't think to use rsync - but now i know it works just fine!! (actually is a great way to restore in general - as long as apple keeps the regular style filesystem going.)

    Curtis@ram9.cc (not authenticated) on september 6th, 2011 at 06:11:12:

    I have noticed that rsync has dropped a lot of ._ files and has left all my directories read only.

    I'm wondering if this is broken?

    Rob (authentic) on april 3rd, 2012 at 03:12:55:

    Joshua, Thank you for sharing this. Worked beautifully. The only thing I had to do afterwards was to add a couple of entries to a MySQL database table, which somehow went missing. Genius Bar guy couldn't find anything about this in their database, and therefore didn't know if newer copies of the installation disk--which you can only now get online anyway--got fixed. Best Regards, Rob