In computing, booting
(or booting up
) is the initialization of a computerized system. The system can be a computer or a computer appliance. The booting process can be "hard", e.g., after electrical power to the CPU is switched from off to on (in order to diagnose particular hardware
errors), or "soft", when those power-on self-tests (POST) can be avoided. On some systems a soft boot
may optionally clear RAM to zero. Both hard and soft booting can be initiated by hardware such as a button press
, or by software command. Booting is complete when the normal, operative
, runtime environment is attained.
A boot loader
is a computer program that loads an operating system
or some other system software for the computer after completion of the power-on self-tests; it is the loader for the operating system itself. Within the hard reboot process, it runs after completion of the self-tests, then loads and runs the software. A boot loader is loaded into main memory
from persistent memory, such as a hard disk drive or, in some older computers, from a medium such as punched cards
, punched tape, or magnetic tape
. The boot loader then loads and executes the processes that finalize the boot. Like POST processes, the boot loader code comes from a "hard-wired" and persistent location; if that location is too limited for some reason, that primary boot loader calls a second-stage boot loader or a secondary program loader.
On modern general purpose computers, the boot up process can take tens of seconds
, or even minutes
, and typically involves performing a power-on self-test
, locating and initializing peripheral devices, and then finding, loading
and starting an operating system. The process of hibernating or sleeping does not involve booting. Minimally, some embedded systems do not require a noticeable boot sequence to begin functioning and when turned on may simply run operational programs that are stored in ROM. All computing systems are state machines, and a reboot may be the only method to return to a designated zero-state from an unintended, locked state.
In addition to loading an operating system or stand-alone
utility, the boot process can also load
a storage dump program for diagnosing problems in an operating system.
is short for bootstrap
or bootstrap load
and derives from the phrase to pull oneself up by one's bootstraps
.The usage calls attention to the requirement that, if most software is loaded onto a computer by other software already running on the computer, some mechanism must exist to load the initial software onto the computer. Early computers used a variety of ad-hoc
methods to get a small program into memory to solve this problem. The invention
of read-only memory (ROM) of various types solved this paradox
by allowing computers to be shipped
with a start up program that could not be erased. Growth in the capacity of ROM has allowed ever more elaborate start up procedures to be implemented.