MacOS – Understanding how safe boot fixed a boot problem

bootdisk-utilitymacossafe-mode

Background

My friend asked me to look at her early 2011 Mac Mini with OS X 10.8.3. She said that:

  • she installed software updates
  • she couldn't remember which updates were installed
  • when the Mac restarted, it hung at the Apple logo with the spinning gear wheel.

I used Disk Utility to check permissions and the disk. Both checks found a few errors, all of which were repaired. This did not help; after I rebooted, it hung at the same screen.

Several resets of the PRAM did not help.

Successes

A safe boot succeeded, the desktop appeared. I re-checked permissions and the disk; no errors.

Then a normal boot succeeded – this surprised me.

Question

Can anyone guess what was wrong and what was fixed?

Since it's not my Mac, and I don't know how it's really used, I can't guess.

I see Apple article HT1564, Mac OS X: What is Safe Boot, Safe Mode?, I'd like to understand more.

Best Answer

I assume that at least one of the updates required a restart.

As Disk Utility found problems with the file system, it's possible that:

  • some such problems existed before your friend attempted to install updates; and/or
  • some such problems arose from a forced shut down or forced restart during a problematic installation (before an automated restart), or force whilst awaiting progress following an automated restart (impatience with the spin).

No mention of force from you or your friend, so let's assume that:

  • HFS Plus file system problems were present but unknown before installation
  • those problems caused an apparently successful installation to have a problematic end result.

In the 2013-05-06 edition of Apple's article:

A Safe Boot deletes the dynamic loader shared cache at (/var/db/dyld/). A cache with issues may cause a blue screen on startup, particularly after a Software Update. Restarting normally recreates this cache.

Not only blue screens.

Alternative symptoms might include hangs of the type seen by you and your friend – the asynchronous progress indicator with the Apple logo.

Also, I do not find that a normal restart recreates that cache. To see whether the cache was recreated, at your friend's Mac in Terminal you might run the following command – be prepared for your friend to enter her administrative password at an on-screen prompt:

sudo update_dyld_shared_cache -verify

If the output indicates that a file does not exist, then there may be:

  • a problem with Apple's documentation (inconsistent with normal behaviour of the software); and/or
  • a problem with the software (abnormal behaviour).

If the command completes with no visible output, there's no problem (the file exists and is verified).

Reference

update_dyld_shared_cache(1) Mac OS X Manual Page