“Building boot caches” error when changing startup disk

Once I tried to change the default startup disk on my Mac running Snow Leopard and the following error appeared: “you can’t change the startup disk to the selected disk. Building boot caches on boot helper partition failed”.

At first I was trying to figure what’s a boot helper partition and where do I find it, but eventually I decided to take a look at com.apple.Boot.plist file, which appeared to be non-existent in it’s regular place.

So I created one by myself. In Terminal:

sudo nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

There inserted the default code:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://
<plist version="1.0">
	<key>Kernel Flags</key>

(Cmd+X to save the file).

This solved the problem for me.

This entry was posted in Solutions and tagged . Bookmark the permalink.

23 Responses to “Building boot caches” error when changing startup disk

  1. Haravikk says:

    Many thanks for this! No idea how I managed to nuke that file, or even why OS X couldn’t just re-create the file itself. I suspect it has something to do with the fact that I tried to install Windows 7 onto an external drive. Which by the way is still a bloody pain to do (I failed); modern technology my ass, I’ve managed to install OS X onto practically anything with writable memory since v10.0!

  2. jashley says:

    Thanks! I just upgraded from a 10.4.11 server to 10.6 server and used the Transfer server data option… the old server did not have the com.apple.Boot.plist file either. Must not have been needed in 10.4.11

    Your fix worked great for me!

  3. I got this error upgrading from 10.4.11 and using the transfer option as well. Thanks it worked like a charm…

  4. hipwr says:

    Dude, you rock! After creating a restore image and saving it to a Firewire drive, I wiped my XServe drives and created a software RAID. After “restoring” the image back to the XServe and attempting to boot off the XServe’s internal drives, I received the above error message also. I copied and pasted the file contents you suggested into TextWrangler and created the file. When into Startup Disk and selected the XServes internal RAID, and presto, no more error message.
    Thank You.

  5. Piers Goodhew says:

    Yep, worked here too. Does not appear to mean anything at all is happening to/with any boot caches.

  6. L says:

    Just want to join the choir here… We upgraded from 10.4.11 server > 10.6 server and this stopped us in our shoes. The fix worked, and many thanks for that.

  7. wardo says:

    hi, I migrated an xserve 10.4.11 to a mac mini server 10.6.3 and got this same error after transferring data and settings. this quickly fixed it! thank you!

  8. Neechi says:

    Tried this fix and I’m still getting the same error. I believe this error is also stopping me from installing Mountain Lion over Lion Server because it starts the install process but when it gets to the point where it needs to restart it shuts off and then boots back into Lion rather than booting into the Installer and finishing the OS install. Any ideas? I’m running a Mac mini with two HDDs in RAID0 on Lion Server.

    • Dae says:

      When your Mac reboots, just after the starting chime, hold Option and manually choose the installer partition.

      • Neechi says:

        Yup I tried that. Also tried repairing Disk permissions and resetting PRAM. Couldn’t figure anything out so I ended up downloading Snow Leopard and doing a clean install which worked just fine.

    • Simon says:

      I have the same issue, I have added the text to the plist and still receiving the same issue although I can hold down Option to boot into the correct disk but unfortunately its about a 10min walk away from my office.

      Any other ideas?

  9. Shakti says:

    I have installed Windows 7 on boot camp (10.8.2) and it is the default upon startup. I cannot change it in the start up disc, and it gives me the error (above)
    I tried this and the terminal created the code you showed (above) however applying Apple X does not do anything except make the noise the computer makes when nothing is happening. Closing the window seems to cancel the operation. I do not know where to save the file if it actually necessary. I would assume that the terminal should create an operation, however I do not know how to do that.

    • Dae says:

      Alright, try the following.

      1) Make a new text file on Desktop called “Temp.txt” and put the XML code from my post into it:

      <?xml version="1.0" encoding="UTF-8"?>
      (copy from my post above)

      Save the file.

      2) Then, open Terminal and run this command:
      sudo cp ~/Desktop/Temp.txt /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

      3) Delete Temp.txt.

    • Matthew Loel T. Hepworth says:

      For what it’s worth, I’ve been having the same problem with 10.8.2, wherein selecting my system drive as the startup disk resulted in the ‘building boot caches failed’. After days of research and trial-and-error without success, I was finally able to resolve the problem by booting from a 10.7.5 backup HD, then choosing the 10.8.2 drive as the startup disk. Now when I restart, the MBP boots much more quickly AND the 10.8.2 disk is identified in the Startup Disk preference correctly.

    • Matthew Loel T. Hepworth says:

      One more thing: After you set the startup disk on a Lion-booted Mac, clearing the PRAM will set this whole problem back in motion. The PRAM reset also resets the startup disk. When you try to choose the 10.8.2 drive, the boot cache error will return, requiring yet another Lion boot to cure the problem.

  10. This, unfortunately, didn’t work for me. My file was there already and had the same markup as your code above. This started for me when I backed up the whole volume to an external drive via SuperDuper, added a new drive into my Macbook Pro’s DVD bay, and striped the two drives as a RAID.

    Restoring the image completes okay but as soon as I try and boot I get the flash question mark folder. And any attempt to select the volume in Startup Disk (while in Target Disk Mode) will get the error this article attempts to address.

    If anybody has any suggestions they’d be greatly appreciated.

  11. Cori says:

    Hello, I am having the same issue, but when I try

    sudo nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

    it says “sudo: command not found”
    I’m not very familiar with this but my boss left the school district I work at, leaving me as the only technician. I have a teacher’s computer, and the teacher has not backed up any files EVER, so I am trying extremely hard not to have to reinstall the operating system. if you can help at all I can give you more information that you need… Thanks

  12. Betha says:

    I just installed windows 7 with Bootcamp on my Mac Book air ( OSX 10.8.3).
    Everything is working all right but my mac is starting up by default on windows. :(
    I tried to change it in the start up settings but i got the same error as u got. I tried your manipulation in terminal and I even tried it using the Temp.txt on desktop but it stills start up on windows and i still can’t change it, do u have an other idea?
    thx a lot


    P.s. Apologies if my english isn’t perfect, it’s not my first language and u have to know that i’m kind of a noob using a computer :x

    • Dae says:

      You could try the following:

      1) Shutdown your computer.
      2) Press and hold the “Alt” button on your keyboard.
      3) Power on your computer while holding “Alt”.
      4) Once you see something like this:

      … you can release “Alt”.

      5) See those arrow up (↑) icons below the drives? Hold “Ctrl” button on your keyboard and you’ll see them turn into circular arrows (like ). Use your mouse to click on it (while holding “Ctrl” of course).

      6) When it boots OS X, try rebooting again and see if it’s permanent.

Leave a Reply

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