Apple offers several alternative boot environments for OS X that can help you troubleshoot problems you might be experiencing, which can be invoked by holding various key combinations at startup. Of these, Safe Mode is perhaps the most common;it offers a limited boot environment and can be started by holding the
Shift key. In addition there is Single User mode (Command-S) for a command-line interface, Apple's hardware diagnostics tests (the "D" key), Target Disk mode (the "T" key), and holding the Option key will bring up the boot loader for choosing a startup disk.
These options can be invoked by holding their respective key combinations immediately when powering on the system; however, if you use Apple's Bluetooth keyboard, you could find that the system may ignore these inputs and boot normally. While you might assume that these options require a USB keyboard or other physical connection, this is not always the case. There are a couple of workarounds if you find yourself in this situation.
Apple's Bluetooth hardware controllers activate after all of the system's self-tests at boot complete and the EFI firmware loads successfully, which is indicated by the system playing the standard Mac startup sound. It is at this point that the system will accept boot variables, either stored in the PRAM or those being sent via keyboard inputs. These are then passed to the OS X kernel to invoke the desired startup sequence.
If any inputs are being sent via the Bluetooth keyboard before the controllers are active, then they will not be recognized by the system.
However, if these inputs are performed after the controllers are activated, then they will be properly read. Therefore, for Bluetooth keyboards, be sure to press the desired key sequences after you hear the boot chimes and not before.
While this approach for wireless keyboards should work, it may not in all situations. Should that happen, you can try various alternative approaches, such as using a spare USB keyboard to connect and send the
desired boot argument to your system. Alternately, you can manually adjust the system's PRAM variables to invoke these boot arguments the next time the system starts up.