External hard disks have become a very convenient way to not only expand the storage capabilities of a system, but also expand options for booting, cloning, and performing various diagnostics. As a result, people may have a number of different external drives that they keep attached to the system. Though in most cases this setup results in normal behavior, a few people have found that restarting the system with certain USB drives connected results in the system not booting.
When this happens, the system may sit at a gray or black screen without showing an Apple symbol or any other indication that the system is performing diagnostics or setup tasks such as searching for a boot drive.
This kind of behavior usually indicates the hang is happening because of a problem with the firmware, and not with any OS configuration problems. As a result, the issue may be caused by an incompatibility between the firmware of the drive and the firmware on the Mac that it is interacting with, which can be anything from the main EFI firmware to the firmware for the USB controllers on the system.
If this happens, one approach that might work is to try adjusting the way the firmware on the system is interacting with the attached device. You cannot directly manipulate the firmware, but you can make indirect changes by switching USB ports or using a USB hub to hopefully manage the connection differently (switching ports will change the USB location ID, or perhaps use a different USB controller if the system has more than one). If the drive supports alternative connections such as FireWire, then you can also try connecting it to your Mac through that port provided your Mac also has a FireWire port.
Performing a PRAM reset may also help by reverting some firmware settings back to their default states. To reset the PRAM, restart the system and immediately hold down the Option-Command-P-R keys all at once. Allow the system to cycle through a few resets while these keys are held (you should hear the boot chimes at each reset) and then release the keys and allow the system to boot normally.
In addition to resetting and adjusting firmware settings on the Mac, you can try resetting the drive's firmware as well. This can be done in most cases by unplugging it from the system and from its power source for a few minutes, and then plugging it back in; however, specific devices may have unique ways to do this, including pressing the power button at specific times or pressing a dedicated reset switch. Consult with your drive's manual to see if these options are available.
One last option you can try is to adjust the system's start-up disk selection. The start-up disk setting is read by firmware before the OS is booted, and if there is a problem with how the system is managing this setting then it may hang when trying to detect a boot disk. To set this option, disconnect the problematic drive and boot the system normally. Then go to the Startup Disk system preferences and ensure the built-in boot drive is the selected start-up disk. Even if it is selected, try selecting another device in the list ("Network Startup" should be an available option) and then reselect the default boot disk to ensure the setting is rewritten in the system's firmware.
If the problematic external drive was being used as a diagnostics drive or backup clone, be sure to test it again before relying on it as such. Copy any data off of it and then fully partition and format the drive using Disk Utility to ensure the partition tables and format files are fresh. Then try installing a fresh copy of OS X to the drive and boot off the drive. If the drive is functioning normally you should be able to boot off it, and also see it alongside other boot devices in the system's boot menu if you hold the Option key at start-up.
Since this problem is firmware-based, it may only show up for specific makes or models of drives. Be sure to check with the manufacturer for any firmware updates, and apply them if you are having these or similar performance issues with the drive. Sometimes even if a firmware update does not specifically address the problem at hand, updating may reset the incompatibility and have the drive working better overall.