Book Excerpt

Set BIOS options for Linux: task 2.1

Task 2.1: Set BIOS Options

The BIOS is a low-level set of software functions that were designed in the 1980s to simplify the creation of OSs such as Microsoft's original Disk Operating System (DOS). The BIOS would handle functions such as keyboard input, screen output, and even low-level disk input/ output. Over the years, as computers and OSs grew in complexity, the BIOS became less and less important in handling these I/O tasks. Nonetheless, the BIOS remains important because it controls the computer's initial boot sequence and hardware initialization. If the BIOS doesn't know your hard disk exists, or if it configures your hard disk incorrectly, the computer won't boot. Improper BIOS settings can also cause unreliable operation, clocks that are set incorrectly, an inability to access on-board hardware devices, and other problems. Thus, care should be taken when setting BIOS options, and checking these options is a wise precaution whenever putting a new computer into operation.


You've just assembled a new computer from parts. Before booting it and attempting to install Linux, you want to check its BIOS options to see that they're sensible. You should pay particular attention to the disk options and to the system clock setting. When assembling a computer from parts, you are responsible for setting basic BIOS options. When you buy a pre-assembled computer, in theory the BIOS should be set correctly; however, errors do sometimes appear, so checking the BIOS options is a sensible precaution. The clock is likely to need adjustment even with a store-bought computer.

Scope of Task

This task is a fairly short one, but you may need to do some research to complete it successfully. You must understand more about your hardware than is necessary for completing most other tasks in this book.


This task can be completed in 15 to 30 minutes; however, you must first know a bit about your hardware (as described in the next section, "Setup"). You're unlikely to need to perform this task very often once a computer is up and running, although you may need to do it when you add or remove hardware.


You need a minimally functional x86or x86-64 computer. This computer needs to be able to start up far enough to enter its BIOS utility, but it doesn't need to have Linux—or any other OS—installed. (You may use a computer with a working OS, but this isn't required.)

You must know something about your hardware and, in particular, your disks (both hard disks and floppy disks). You should know the make, model number, and capacity of all your hard disks and know how they're connected. In the case of the more common Advanced Technology Attachment (ATA) drives, you should know if you have the older Parallel ATA (PATA) or the newer Serial ATA (SATA) drives. Some drives are Small Computer System Interface (SCSI) devices, which work on different principles and usually connect via a separate SCSI host adapter. You should know which, if any, of the motherboard's on-board devices (sound, video, Ethernet, etc.) you're using.

If you're assembling a computer from parts, as described in "Scenario," you should know this information because you designed the computer. If you're using an existing Linux computer as a stand-in, you may need to dig out the computer's documentation or skip ahead to Task 2.2 to learn this information.


Adjusting BIOS settings inappropriately can make a computer unbootable. Although you're unlikely to damage the Linux installation, in the sense of the data on the hard disk, you could be in for some frustration if you make changes and can't remember what they were. Thus, you should take careful notes of any changes you make.

Although all mainstream x86 and x86-64 BIOSs provide similar options, details differ substantially from one computer to another. The examples shown here should therefore be considered rough guidelines only; you may need to consult your motherboard's manual or study the onscreen display, experiment, and apply your intelligence to figure out how to perform the tasks described here.


To perform this task, you must boot (or reboot) your computer, but bypass the Linux boot process to enter the low-level BIOS utilities. There you can check and, if necessary, change a host of settings related to your hardware.

Entering the BIOS Setup Utility

When you boot an x86 or x86-64 computer, you'll see a series of text-mode (and sometimes graphical) displays, the details of which vary depending on your computer. Prior to the beginning of the Linux boot process, you're likely to see the name of the motherboard or computer manufacturer, a simple RAM check that counts up the amount of memory installed in the computer, a display of your installed PATA hard disks, and perhaps information on some of the devices built into the motherboard (RS-232 serial ports, parallel printer ports, and so on). Unfortunately for your comprehension of this information, these displays are likely to appear and disappear so quickly that you may have trouble reading them all. A recent trend has been to hide most or all of this information behind a graphical display, but some computers provide BIOS options to do away with the graphics and show the traditional text-mode information.

One of the pieces of information that's likely to be displayed, albeit for just a second or two, is a prompt for how to enter the BIOS setup utility. Typically, you must press one or more keys at some point during the boot process, such as Delete or F12. If your computer is currently running, shut it down, start it up again, and look for a prompt for how to enter the BIOS setup utility in the first few seconds of the boot process. If you don't see such a prompt, consult your computer's or motherboard's manual for the information, or try pressing the Delete key; that's a common method for entering the setup utility.

Touring the BIOS

Upon successfully entering the BIOS setup utility, you'll see a screen that provides a menu of options, as shown in Figure 2.1. (Some BIOS utilities jump directly into option-setting screens, with some way to select other screens among the options.) Take a few moments to peruse the options. In the case of Figure 2.1, most of the main categories, such as Standard CMOS Features and Integrated Peripherals, give some clue as to the functions contained within them, but they aren't entirely clear to the uninitiated.

FIGURE 2.1 BIOS setup utilities provide a menu of options from which you can select the features you want to adjust.

To move among the options, you typically use the keyboard's cursor keys, as prompted in the list of keyboard shortcuts near the bottom of the screen. You can then press the Enter key to enter a submenu or change an option. Once you enter a submenu, press the Esc key to exit from that menu. If these keys don't have the desired effects, though, you may need to use other keys; consult the onscreen prompts or your documentation for details.

Try perusing the options for your system now, but don't change anything. Some of the options should make at least some sense to you, but others will most likely be confusing. Don't try to figure out what every option means; the goal is simply to give you a general idea of what features your motherboard supports and what you can adjust, not for you to learn what every option does.

Setting Disk Options

The first option you should check for this task is your disk settings. In the BIOS depicted in Figure 2.1, these options are accessible from the Standard CMOS Features menu, so select that option from the main screen if your BIOS uses this layout. The result (for this BIOS) is depicted in Figure 2.2. This screen enables adjustment of both disk and time options.

Integrated Device Electronics (IDE), aka PATA, hard disks are auto-detected by most motherboards and so should appear in the list of disks. Figure 2.2 shows two hard disks detected: a Maxtor 91024D4 and a Western Digital (WDC) WD800JB-00ETA0. These are configured as the master and slave drives on the primary PATA controller. If a hard disk you've installed doesn't appear, you can try selecting the drive (by primary/secondary and master/slave location) and selecting the auto-detect option in the menu that appears. If this doesn't work, chances are a cable is loose, the drive isn't connected to the power supply, or its master/slave setting is misconfigured. Shut down the computer, check the connections and settings, and reboot into the BIOS utility.

FIGURE 2.2 PC BIOSs enable you to adjust hard disk and system clock settings.

If the computer still doesn't auto-detect a PATA drive, something more serious could be wrong. A few very old drives might not be detected correctly, and the BIOS enables you to move the setting off of Auto onto User or various drive-specific settings. Unless your hard drive is a refugee from the early 1990s or before, though, you shouldn't need to set these options.

Figure 2.2 shows a CD-RW drive as the secondary slave device. On rare occasion, CDROM, CD-RW, and similar drives aren't detected correctly. If this happens to you, select the device by position and move the selector off of Auto and onto CDROM. This should fix the problem—assuming, of course, that a more fundamental misconfiguration or loose cable isn't the root cause of the problem.

In addition to hard drives, the BIOS enables you to configure your floppy drives. Unlike hard drives, floppy drives aren't auto-detected. To tell your BIOS about your floppy drive (or drives), move the cursor to the text to the right of Floppy Drive A or Floppy Drive B, press the Enter key, and select the appropriate drive type. Figure 2.2 shows one 3.5-inch and one 5.25-inch drive installed, but of course your system may be different.

Most BIOSs provide some form of boot device option. The BIOS depicted in Figures 2.1 and 2.2 places this option on the Advanced BIOS Features screen under the name Boot Sequence. You can select which device the BIOS attempts to boot first, second, and third and whether or not the BIOS should look on other devices after that. This option is a very useful security feature because it can prevent an intruder from booting a floppy or other removable disk to gain access to the computer. To be a truly useful security feature, though, this option must be combined with a BIOS password. Even then, if the intruder can open the computer, the hard disk could be stolen or modified. Nonetheless, setting the computer to boot only from a hard disk can be part of an overall security strategy.

Setting the Clock

All x86 and x86-64 computers include a clock on the motherboard to keep the time while the computer is shut down. You can set your motherboard's clock by moving the cursor to the appropriate items on the System Time and System Date lines and adjusting them. Most BIOSs require you to enter the time in a 24-hour format, so be sure to make the appropriate conversion.

Before you set your clock, though, be aware that Linux keeps time based on Coordinated Universal Time (UTC), which is closely related to Greenwich Mean Time (GMT). If your computer boots only Linux, your best bet is to set the motherboard's clock to UTC/GMT. Check for the current time as GMT. If your Linux installation currently works, though, you might do well to not adjust your motherboard's clock, even if it's set for local time; such a change would necessitate a change in your Linux configuration.

If your computer boots both Linux and an OS that keeps its time as local time, you can set your hardware clock to local time and Linux can make the adjustment internally. This feature is normally set at system install time.

It's possible to set the hardware clock from within Linux. To do so, use the hwclock command. Typing hwclock --show or hwclock -r displays the current hardware clock time; hwclock --hctosys or hwclock -w sets Linux's software clock based on the value of the hardware clock; and hwclock --systohc or hwclock -s sets the hardware clock based on the software clock. Ordinarily you don't need to use these commands, although they are used in system startup and shutdown scripts to set the software clock from the hardware clock when booting and to set the hardware clock from the software clock when shutting down. If you find your hardware clock has drifted badly off the current time, though, you can type hwclock --systohc to correct the problem once you set your software clock appropriately. You can do this with the Network Time Protocol (NTP, for a long-term solution or on a one-time basis via the date command.

Enabling and Disabling On-Board Devices

Modern motherboards usually contain a plethora of devices that were, in years past, implemented as separate plug-in cards—sound "cards," network ports, Universal Serial Bus (USB) ports, RS-232 serial ports, parallel ports, and so on. Not everybody wants to use all of these features, though, and some of them offer configuration options that you might want to adjust.

To do so, you must access the appropriate BIOS utility screen. In the case of the BIOS depicted in Figure 2.1, you should select the Integrated Peripherals menu. The result is the screen shown in Figure 2.3, in which you can enable or disable the floppy disk (FDC Function), RS-232 serial ports, parallel ports, and more. (This area's options won't fit on one screen; they continue as you move the cursor down the list.)

FIGURE 2.3 Modern BIOSs enable you to disable on-board devices if you so desire.

Disabling on-board devices disconnects them electronically from the rest of the motherboard. The result is that Linux won't be able to use those devices. The advantage is that they also won't consume valuable interrupt request (IRQ) lines and other resources.

Additional BIOS Options

Most BIOSs provide options I don't describe here. Power management, RAM and PCI bus timing options, CPU speed, and more can all be controlled from the BIOS. Most such options are of interest to those who want to tweak the best possible performance from their computers, sometimes at the cost of reliability. If in doubt, leave the options at their factory defaults. Some BIOSs, including the one depicted in Figure 2.1, provide an explicit option to reset the configuration to the factory default (Load BIOS Setup Defaults in Figure 2.1) or to a high-performance state (Load High Performance Defaults in Figure 2.1). Such options can be useful emergency tools; if you tweak some settings, find that they don't work, and can't seem to get the BIOS working as you like it again, use the restore function.

You can also set a BIOS password on most computers. Using one will prevent somebody without the password from accessing the BIOS or perhaps booting the computer. This can be a useful feature in a high-security installation, but it's a bit inconvenient if the computer must be rebooted regularly.

One important option (or set of options) relates to exiting from the BIOS utility. In most cases, at least two exit options exist: One saves your changes and exits, whereas the other discards your changes and exits. These options are the final two in the second column in Figure 2.1. When you're done perusing (and possibly modifying) your BIOS settings, you should select whichever of these options you believe is most appropriate. The computer will then reboot normally—into Linux if it's installed. If you've made any changes to the BIOS, try to verify that they've had the desired effect in Linux.

Criteria for Completion

To complete this task, you should peruse your BIOS and verify that the computer is configured correctly, particularly with respect to its hard disks, floppy disks, and on-board devices. If necessary, you should change these options and, if Linux is already installed, reboot into Linux and verify that any changes you made had the desired results.

Use the following table of contents to navigate to chapter excerpts, or click here to view Chapter 2 in its entirety.

Managing Linux hardware and the kernel
  Home: Introduction
 Part 1: Set BIOS Options for Linux: task 2.1
 Part 2: Know the hardware in your computer, task 2.2
 Part 3: Resolve hardware conflicts, task. 2.3
 Part 4: Configure USB devices to Linux, task. 2.4
 Part 5: Configure Linux Disk Drive, task 2.5
 Part 6: Configure and compile a kernel for Linux, task 2.6
 Part 7: Use Linux power management features, task 2.7
 Part 8: Configure X options for Linux, task 2.8
 Part 9: Manage X logins for Linux, task 2.9
 Part 10: Use X for day-to-day operations, task 10
Hit the ground running with the street-smart training you'll find in Linux Administrator Street Smarts: A Real World Guide to Linux Certification Skills. Using a "year in the life" approach, it gives you an inside look at Linux administration, with key information organized around the actual day-to-day tasks, scenarios, and challenges you'll face in the field. This valuable training tool is loaded with hands-on, step-by-step exercises covering all phases of Linux administration. Purchase the book from Wiley Publishing
Roderick W. Smith left a career in academia to pursue his passion for computers. He is particularly interested in Linux and Open Source Software, and has written several books.

This was first published in January 2007

There are Comments. Add yours.

TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: