When a computer is first started, the firmware interface activates all the hardware required by the computer to boot, including:
After the firmware interface completes this process, it transfers
control of the computer to the operating system. The firmware interface
implementation determines what happens next.
-
With BIOS-based computers running Windows XP and earlier versions of Windows, Ntldr and Boot.ini
are used to boot into the operating system. Ntldr handles the task of
loading the operating system, and Boot.ini contains the parameters that
enable startup, including the identity of the boot partitions. Through
Boot.ini parameters, you can add options that control the way the
operating system starts, the way computer components are used, and the
way operating system features are used. -
With BIOS-based computers running Windows Vista and later versions of
Windows, Windows Boot Manager and Windows Boot Loader are used to boot
into the operating system. Windows Boot Manager initializes the
operating system by starting the Windows Boot Loader, which in turn
starts the operating system by using information in the BCD store.
Through the BCD parameters, you can add options that control the way the
operating system starts, the way computer components are used, and the
way operating system features are used. -
With Itanium-based computers, Ia64ldr.efi, Diskpart.efi, and Nvrboot.efi
are used to boot into the operating system. Ia64ldr.efi handles the
task of loading the operating system, whereas Diskpart.efi identifies
the boot partitions. Through Nvrboot.efi, you set the parameters that
enable startup. -
With other EFI-based computers, Bootmgfw.efi manages the boot process and passes control to the Windows Boot Loader. Through Bcdedit.exe, you set the parameters that enable startup. -
With UEFI, UEFI boot services provide an abstraction layer.
Currently, this abstraction layer is wrapped around BIOS or EFI. A
computer with BIOS in its underlying architecture uses a BIOS-based
approach to booting into the operating system. A computer with EFI in
its underlying architecture uses an EFI-based approach to booting into
the operating system. -
With WOA, UEFI boot services provide an abstraction layer. Windows
Boot Manager initializes the operating system by starting the Windows
Boot Loader, which in turn starts the operating system by using
information in the BCD store. Information needed to configure the device
is stored in tables.
Working with Firmware Interfaces
When you power on most computers, you can access the firmware
interface by pressing the button shown for Setup in the initial
display. For example, you might press F2 or Delete during the first few
seconds of startup to enter the firmware interface. Firmware
interfaces have control options that allow you to adjust the
functionality of hardware. You can use these controls to do the
following:
-
Adjust LCD brightness (on laptop computers) -
Adjust the hard disk noise level -
Adjust the number of cores the processor is using and their speed -
Change the boot sequence -
Change the complementary metal oxide semiconductor (CMOS) date and time -
Restore the firmware interface to the default configuration -
Turn on or off modular add-on devices
Firmware interfaces have the ability to report basic configuration details, including information about the following:
-
AC adapter capacity (on laptop computers) -
Battery charge and health (on laptop computers) -
LCD type and native resolution (on laptop computers) -
Firmware version -
Memory -
Processors -
Storage devices -
Video chipsets
Most firmware
interfaces allow you to create supervisor, user, and/or general
passwords that are not accessible from the operating system. If a
supervisor password is set, you need to provide the password before you
can modify the firmware configuration. If a user password is set, you need to enter the password during startup
before the computer will load the operating system. If you forget these
passwords, you might not be able to operate the computer or change
firmware settings until you clear the forgotten passwords, which
generally also clears any customization you have made to the firmware
interface.
A firmware interface update can often resolve problems or add
features to the computer’s firmware interface. If you are not
experiencing problems on a computer and are not aware of any additional
features in the firmware interface that are needed, you might not need
to update a computer to the latest version of the firmware interface. An
additional cautionary note is that if a firmware interface update is
not performed properly, it can harm the computer and prevent it from
starting.
Examining Firmware Interfaces
The information and configuration options available in the firmware
interface depend on the computer you are working with, the type of
firmware interface, and the version of the firmware interface. Most
desktop computers have more configuration options than laptop computers
do.
A popular firmware interface at the time of this writing is the Phoenix
SecureCore. As configured on my laptop computer, this interface
provides several menu pages offering information and controls, including
Main, Advanced, Security, and Boot. The Main page provides basic
information about the computer’s configuration, including
-
System time and date -
System memory size -
Extended memory size -
Memory speed, such as 1,333 MHz -
CPU type, such as Intel Core i5-2430 -
CPU speed, such as 2.40 GHz -
CPU Cache levels for L1 cache, L2 cache, and L3 cache -
Hard disk type and model, such as WDC WD5000BPVT-75HXZ 500 GB -
Optical disk type and model, such as PLDS DVD +/- RW DU 8A-(S1) ATAPI -
System BIOS version, such as A02 -
AC adapter type, such as 65 W -
Serial tag number -
Asset tag number -
Product name
On the main page, you can set the system date and time using the
options provided. The Advanced page provides additional configuration
information and allows you to manage important settings. On this page,
you can view or set the following:
-
Intel Multiple
Monitor status as Enabled or Disabled. When this setting is enabled, the
computer’s integrated graphic card and add-in graphic card may be able
to work together in the operating system. When disabled, only one
graphic card (either the integrated card or a plug-in card) can be used
in the operating system. -
Intel SpeedStep status as Enabled or Disabled. When this setting is
enabled, the CPU can operate in multiple performance states. When
disabled, the computer is prevented from adjusting the processor’s
performance. -
Intel Virtualization status as Enabled or Disabled. When this setting
is enabled, a virtual machine monitor can use hardware virtualization
capabilities. -
Intel Turbo Boost status as Enabled or Disabled. When this setting is
enabled, processor cores can run faster than the base operating
frequency if they’re operating below temperature, current, and power
limits. -
USB PowerShare status as Enabled or Disabled. When this setting is
enabled, users can use the USB PowerShare port to charge external
devices using the stored system battery power even if the computer is
turned off. -
USB Emulation status as Enabled or Disabled. When this setting is enabled, firmware can handle USB devices during the POST process (which occurs before the operating system starts). -
USB Wake Support status as Enabled or Disabled. When this setting is enabled, USB devices can wake the computer.
The Security page allows you to view and set supervisor, user, and
hard-disk passwords. The status information tells you the current state
for each password, such as:
The following additional configuration options allow you to manage passwords:
-
Set Supervisor Password Controls access to the firmware interface -
Set User Password Controls access to the computer -
Set Hard Disk Password Controls access to the computer’s hard disk
To set a password, select the option, and then press Enter. When
prompted, type the new password, and then type the new password again to
confirm it. Press Enter to continue.
The Boot Priority Order allows you to view and manage the priority
order for boot devices. A sample boot priority order listing follows
from a Dell desktop computer:
-
Hard disk -
USB hard disk -
CD/DVD -
USB CD/DVD -
USB Floppy -
Network
When you power on the computer, the computer tries to boot using the
device listed first. If that fails, the computer tries the second boot
device, and so on. You can use the Up and Down Arrow keys to select a
device and then use the plus sign (+) or the hyphen (–) to move the
device up or down in the list.
The Exit page allows you to exit the firmware interface and resume startup of the computer. As with most firmware interfaces, you have several options:
-
Exit Saving Changes Exits the firmware interface and saves your changes -
Exit Discarding Changes Exits the firmware interface and discards your changes -
Discard Changes Discards your changes without exiting the firmware interface -
Save Changes Saves your changes without exiting the firmware interface
Regardless of which menu page you are working with, you have a set of options that are standard in most firmware interfaces:
-
Press F1 to get help. -
Press the Up or Down Arrow key to select an item. -
Press Enter to select the current option on a submenu. -
Press the Left or Right Arrow key to select a menu page. -
Press + or - to change values. -
Press F9 to apply setup defaults (you must confirm when prompted). -
Press Esc to exit (and then select an option to save or discard changes). -
Press Enter to apply or execute a command. -
Press F10 to save changes and exit the firmware interface. (When
prompted to confirm, Yes is selected. Press Enter to save changes and
exit. Press the spacebar to select No, and then press Enter to remain in
the firmware interface.)
As you can see, the configuration options here aren’t very extensive.
In contrast, desktop computers can have a dizzying array of options and
suboptions. When you are working with a desktop computer, you’ll likely
find options that serve similar purposes. However, because there are
few standards and conventions among firmware interface manufacturers,
the options might have different labels and values.
Power States and Power Management
To better understand the hardware aspects related to boot issues,
let’s dig in and take a look at Advanced Configuration and Power
Interface (ACPI). A computer’s motherboard-chipset, firmware, and
operating system must support ACPI for the related advanced power state
features to work. ACPI-aware components track the power state of the
computer. An ACPI-aware operating system can generate a request that the
system be switched into a different ACPI mode, and the firmware interface responds by enabling the requested ACPI mode.
As shown in Table 1, there are six different power
states, ranging from S0 (the system is completely powered on and fully
operational) to S5 (the system is completely powered off). The states
S1, S2, S3, and S4 are referred to as sleep states, in which the system
appears off because of low power consumption but retains enough of the
hardware context to return to the working state without a system reboot.
Motherboard-chipsets support specific power states. For example, one motherboard
might support the S0, S1, S4, and S5 states but not the S2 and S3
states. In Windows operating systems, the sleep power transition refers
to switching off the system to a sleep or a hibernate
mode, and the wake power transition refers to switching on the system
from a sleep or a hibernate mode. The sleep and hibernate modes allow
users to switch systems off and on much faster than the regular shutdown
and startup processes.
Thus, a computer is waking up when the computer is transitioning from the Off state (S5) or any sleep state (S1–S4) to the On
state (S0). The computer is going to sleep when the computer is
transitioning from the On state (S0) to the Off state (S5) or one of the
sleep states (S1–S4). A computer cannot enter one sleep state directly
from another; it must enter the On state before entering a different
sleep state.
Table 1. Power States for ACPI in Firmware and Hardware
STATE |
TYPE |
DESCRIPTION |
---|
S0 |
On state |
The system is completely operational, fully powered, and completely
retains the context (such as the volatile registers, memory caches, and
RAM). |
S1 |
Sleep state |
The system consumes less power than the S0 state. All hardware and processor contexts are maintained. |
S2 |
Sleep state |
The system consumes less power than the S1 state. The processor loses
power, and processor context and contents of the cache are lost. |
S3 |
Sleep state |
The system consumes less power than the S2 state. Processor and
hardware contexts, cache contents, and chipset context are lost. The
system memory is retained. |
S4 |
Hibernate state |
The system consumes the least power compared to all other sleep
states. The system is almost at the Off state. The context data is
written to the hard disk, and no context is retained. The system can
restart from the context data stored on the disk. |
S5 |
Off state |
The system is in a shutdown state and retains no context. The system requires a full reboot to start. |
When you are working with firmware, you can go to the Advanced/Power
Management screen or a similar screen to manage ACPI and related
settings. Power settings you might see include the following:
-
Restore AC Power Loss or AC Recovery
Determines the mode of operation if a power loss occurs, for which
you’ll see settings such as Stay Off, Last State, and Power On. Stay Off
(or Power Off) means the system will remain off after power is
restored. Last State restores the system to the state it was in before
power failed. Power On means the system will turn on after power is
restored. -
Wake On LAN From S4/S5 or Auto Power On
Determines the action taken when the system power is off and a PCI
Power Management wake event occurs. You’ll see settings like Power On or
Power Off. You also may see Enabled or Disabled. -
ACPI Suspend State or Suspend Mode
Sets the suspend mode. Typically, you’re able to set S1 state or S3 state as the suspend mode.
Note
Above, I provide two standard labels for each setting because your computer hardware might not have these exact labels. The firmware variant you are working with determines the actual labels that are associated with boot, power, and other settings.
Because Intel and AMD also have other technologies to help reduce
startup and resume times, you might also see power settings such as
these for Intel:
-
Enhanced Intel SpeedStep Technology (EIST), which can be either disabled or enabled -
Intel Quick Resume Technology Driver (QRTD), which can be either disabled or enabled
EIST (also known as SpeedStep) allows the system to dynamically
adjust processor voltage and core frequency, which can result in
decreased average power consumption and decreased average heat
production. When EIST or a similar technology is enabled and in use, you
see two different processor speeds on the System page in Control Panel.
The first speed listed is the specified speed of the processor. The
second speed is the current operating speed, which should be less than
the first speed. If EIST is off, both processor speeds will be equal.
Advanced Settings for Processor Power Management under Power Options can
also affect how this technology works. Generally speaking, you should
not use this technology with Windows 8 (although you might want to use
this technology with Windows Vista).
QRTD allows an
Intel Viiv technology-based computer to behave like a consumer
electronic device, with instant on/off after an initial boot. Intel QRTD
manages this behavior through the Quick Resume mode function of the
Intel Viiv chipset. Pressing the power button on the computer or a
remote control puts the computer in the Quick Sleep mode, and you can
switch the computer to the Quick Resume mode by moving the mouse,
pressing an on/off key on the keyboard (if available), or pressing the
Sleep button on the remote control. Quick Sleep mode is different from
standard sleep mode. In Quick Sleep mode, the computer’s video card
stops sending data to the display, the sound is muted, and the monitor
light-emitting diode (LED) indicates a lowered power state on the monitor, but the power
continues to be supplied to vital components on the system, such as the
processor, fans, and so on. This technology was originally designed for
Windows XP Media Center edition, and generally should not be used with
Windows 8. (In many cases, it does not work with Windows Vista. You
might need to disable this feature in firmware to allow Windows Vista to properly sleep and resume.)
After you look at the computer’s power settings in firmware, you should also review the computer’s boot settings in firmware. Often, you can configure the following boot settings:
-
Boot Drive Order
Determines the boot order for boot devices. -
Boot To Hard Disk Drive
Determines whether the computer can boot to fixed disks. Can be set to Disabled or Enabled. -
Boot To Removable Devices
Determines whether the computer can boot to removable media. Can be set to Disabled or Enabled. -
Boot To Network
Determines whether the computer can perform a network boot. Can be set to Disabled or Enabled. -
USB Boot
Determines whether the computer can boot to USB flash devices. Can be set to Disabled or Enabled.
On some computers, you may simply have a list of bootable devices and be able to select which to boot.
As for power settings, your computer might
not have the exact labels shown here, but the labels should be similar.
You need to optimize these settings for the way you plan to use the
computer. When you use BitLocker Drive Encryption, you should enable
Boot To Removable Devices, USB Boot, or both to ensure that the computer
can detect the USB flash drive with the encryption key during the boot
process.
|