Most of the time you won't need to worry about these special key combinations that you can use while turning on (booting up) your Mac. However, they can come in very useful at times, particuarly when you are having startup issues.
In order to be effective, you must press and hold these keyboard combinations immediately after you hear the startup chime. Let's jump into the list!
Table of Contents
Key: Press and hold Power (⎋)
Description: If your Mac hangs or freezes, you can do a manual restart or power down by pressing holding the power button.
Boot from CD/DVD
Key: Press and hold C
Description: Instead of booting from your hard-drive like normal, your Mac will boot from your CD/DVD player.
Key: Option (⌥)
Description: This allows you to select which disk you want your Mac to boot from.
Key: Command (⌘) + S
Description: On Macs, Single-User mode loads a very basic UNIX environment. You only have a basic text console with which to execute commands. It can be useful for troubleshooting for advance users.
Target Disk Mode
Description: Instead of loading macOS, your Mac will behave as if it's a USB-C or Thunderbolt external storage device. Very useful for copying files!
Key: Command (⌘) + V
Description: Instead of just seeing the loading progress bar and everything happening in the background, you'll see the text output of exactly what is being loaded/going on as your Mac boots.
Key: Shift (⇧)
Description: This mode disables all start up items and loads a minimum number of services and daemons. It can be very helpful for troubleshooting.
Key: Command (⌘) + R
Description: If you are having major issues with your Mac, this will load a menu that let's you run the Disk Utility and also completely reinstall macOS if you need to.
Internet Recovery OS
Key: Command (⌘) + Option (⌥) + R
Description: In contrast to loading the Recovery OS, which will install whatever version of macOS you were running at the time, "Internet Recovery OS" allows you to download and install the macOS version that you device shipped with from the factory.
Apple Hardware Test
Description: Your Mac will carry out various hardware tests in order to try and identify a problem with its hardware, should there be one.
Apple Hardware Test over the Internet
Key: Option (⌥) + D
Description: If your hard-drive is so damaged that you can't actually run a proper hardware test as above, you can use this command to try and run one remotely, via the internet.
Boot from NetBoot Server
Description: If there are other disks on your network that you want your Mac to boot from, you can select them here.
Boot from NetBoot Server Using Default Image
Key: Option (⌥) + N
Description: As above, this will attempt to boot your Mac from other disks on your network, but the default image will be used (you don't get to choose).
Eject Removable Media
Key: Media Eject (⏏), F12, mouse button or trackpad button
Description: If some removable media is inserted into your Mac, this option will boot it with that media being ejected (i.e. as if it wasn't actually inserted).
macOS Startup Volume
Description: If your Mac has somehow been set to boot from a non-Mac volume (like Windows) this will force it to boot from a Mac volume.
Prevent Login Items from Opening
Key: Hold down Shift (⇧) after clicking login on the login screen
Description: This will prevent all login and startup items from loading. Useful if one of them is causing issues and not letting you boot.
Prevent Automatic Login
Key: Left Shift (⇧)
Description: When you have set an account to automatically login to your Mac on each boot, this command will over-ride that and allow you to select an account to login with.
Key: Command (⌘) + Option (⌥) + P + R
Description: Press and hold all these buttons as soon as your Mac turns on to reset the PRAM/NVRAM. This can be useful to try if your Mac starts playing up or behaving strangely (like the bluetooth suddenly stops working).
Key: Left Shift (⇧) + Control (⌃) + Option + Power (⎋)
Description: Press and hold these keys until your Mac turns on. It will reset the SMC which is another useful troubleshooting function.