When troubleshooting non-specific problems with your Mac, one of the first steps to take is to boot the system into Safe Mode, which loads the OS in a minimized “bare-bones” environment, avoiding third-party extensions, unnecessary extensions (even from Apple), and other add-ons that could be contributing to the problem.
In addition to a minimum environment, Safe Mode will run some basic cleaning routines and check the hard drive for errors, which can help iron out problems.
The common method of booting to Safe Mode is to simply hold the Shift key at startup, which will pass the appropriate boot arguments to the system for loading into Safe mode:
- Start or restart your system
- Hold the Shift key immediately when you hear the boot chimes
- Release the key when you see the gray progress bar
Using PRAM variables
While holding the shift key at startup is the most common method of booting to safe mode, if you are accessing a remote system via SSH or screen sharing, then you will not be able to hold the shift key. In these situations, or in situations where you would prefer the system always boot to Safe Mode (such as when troubleshooting potentially unstable third-party extensions), then you can set the PRAM to pass the Safe Boot argument to the OS X Kernel.
To do this, open the Terminal on the remote system and run the following command:
sudo nvram boot-args="-x"
Once set, this variable will persist until it is cleared, which can be done either by resetting the PRAM on your computer, or by running the following version of the above command in the Terminal:
sudo nvram boot-args=""
If you are looking to boot your system into Safe Mode, then keep in mind there may be a couple of limitations that can prevent you from doing so. The first is if you are using Apple’s FileVault encryption with your system. While FileVault secures your files, it prevents the system from passing boot arguments since the disk must first be unlocked at the initial login screen before the operating system loads. To start up in Safe Mode, you must first disable FileVault.
In addition to FileVault, if you have a firmware password set up on your system, then you will not be able to reset your PRAM. Therefore, be sure to disable any firmware password before resetting the PRAM.