paperlined.org
sysadmin > boot
document updated 15 years ago, on Jan 28, 2009
Some USB drives take longer than others to initialize. When you're trying to boot from them, this can cause special problems, because the BIOS or other boot-code that looks for available boot devices doesn't see the device you want.

You can confirm this by plugging the drive into an already-booted machine, and count how long it takes before the drive appears on the drive list. Some USB devices clearly take several seconds longer than others before the drive icon appears.

The solution to this is to find some way to delay the booting, long enough that USB can finish initializing.

BIOS setting

Some BIOSes have a USB boot delay setting that's configurable.

Pause key

Some BIOSes support the 'pause' key, and will stay paused until it's pressed again.

disable Fast Boot

Sometimes disabling fast boot will insert enough time.

find a 'loop'

Some BIOSes allow you to do some sequence of operations that can be done one or more times in a 'loop', that have the effect of simply delaying booting. For instance, my Compaq laptop allows me to press F9 to go into the "choose which boot device you want" menu, press Ctrl-Alt-Del, and wait for it to get to the F9 screen again. By that time, the drive has always finished initializing.

However, another computer I have always resets the USB bus when you ctrl-alt-del, so the same procedure isn't successful there.

use GRUB

If you're using GRUB (or a similarly capable bootloader) to boot, you can initially boot into GRUB from a second (faster) USB drive, and then use GRUB to look for and boot an OS located on the slower USB drive after it's had time to initialize.