Upgrade Your Flash BIOS

Resolve system-level bugs and overcome feature limitations by upgrading your BIOS.

Sometimes a vendor learns of problems or limitations only after a product gets to market and is used in a lot of different situations. Nearly every system board and PC system on the market undergoes at least one significant revision of the BIOS after the product has been released for sale.

Most of us think nothing of seeking out the latest patches and updates for our application software and hardware drivers in hopes of solving a problem, gaining a feature, or boosting performance, but rarely do we think of updating the software and internal drivers that make our system board tick—the system BIOS.

I highly recommend visiting the web site of the manufacturer of your PC system or system board, or even ESupport.com’s web site, to learn what the latest revision of BIOS is for your PC and the issues the revision addresses. You may find one or more clues that can help you solve problems or gain new or proper functionality of your system for a few minutes of browsing and downloading time.


Note: Do not bother visiting the BIOS makers’ web sites looking for BIOS updates. AMI and Award/Phoenix supply only the tools and services for system board and PC makers to create their own BIOS code specific to each individual system board. You wouldn’t think of calling Microsoft, makers of the Visual Studio program development tools, about support or upgrades for software made by Adobe, Intuit, Symantec, or other software makers who use the Visual Studio tools. Nor would you call Sears about problems with your house built with a Craftsman hammer. And so it is with the BIOS companies. A good resource for identifying your system board is the www.motherboards.org web site.


In most cases, except getting a BIOS upgrade from ESupport.com, getting a BIOS update and the software program to load the update into your PC are free from every system board and PC maker’s web site. Because many of the devices you add to a system after the initial purchase are too new to be known to or supported by system board vendors, BIOS upgrades are issued to fix anything from an all-out serious bug that prevents some aspect of the system board from working to enhancing the detection or size of certain types of disk drives, or adding extra support for plug-and-play or power management functions. These items should be spelled out in a readme or BIOS revision description file associated with the particular BIOS version that you download.


Warning: Updating the system BIOS involves overwriting the BIOS code currently stored on the system board and replacing it with new code. This process has the potential to render your system board useless if there is an error or interruption while the update is occurring. If the BIOS file you download is incomplete or corrupt in any way, you will not be able to properly load the BIOS into the system board.Part of the overall BIOS upgrade process may include backing up the current BIOS onto disk. If your system does not behave correctly after the upgrade, you can flash it with a new, good BIOS file or use the original backed-up BIOS file to go back to a known good state. Depending on your motherboard’s capabilities, you may or may not be able to recover from a flashing accident. Intel provides a downloadable recovery BIOS, which can recover certain Intel motherboards after a failed BIOS upgrade. You can locate your recovery BIOS by visiting downloadfinder.intel.com, navigating to your motherboard, and selecting the recovery BIOS, if one is available.


A typical BIOS file can be as large as 4 MB, depending on features. They can be downloaded or used via a bootable CD containing the BIOS file and update program.


Note: Some BIOS upgrade programs are available for use under Windows; this approach, although convenient and more user-friendly, has the risk of failing due to a crash, conflict, or other instability within Windows. I recommend using a DOS-based BIOS upgrade program if it is available. A good bet is to use a USB flash DOS-bootable pen drive. For details, see www.bootdisk.com/pendrive.htm.


Some BIOS update programs create their own bootable diskettes and execute the upgrade process automatically so you need supply only the diskette. Once you have downloaded the BIOS file (usually a .BIN file extension type) and BIOS update program to your hard drive, follow the instructions provided with the upgrade (most users will start at the following Step 8 after launching a Windows-based BIOS updater) or all of the following steps to update your system’s BIOS.


Note: Be sure that your computer is plugged into a UPS (Uninterruptible Power Supply) or (if it’s a notebook) has a full battery charge. All it takes is a power outage during a BIOS upgrade to render your motherboard useless.


  1. If you need to install your BIOS upgrade from a DOS environment, prepare a formatted DOS boot diskette (otherwise, run the Windows-based upgrade program and skip to Step 8). Any version of DOS should do, but making a DOS 6.22, Windows 95, 98, or Me startup diskette would be most common. You can also make an MS-DOS startup disk using the format program in Windows XP (run format from the Command Prompt) or Windows Vista (run format from an Administrator Command Prompt [Hack #36]), or downloading boot diskette images from www.bootdisk.com.

  2. If in Windows, go to the A: drive.

  3. In DOS or Windows, delete the following files from the diskette to make room for the BIOS files:

    • All ASPIxxxx.SYS files

    • All BTxxxxxx.SYS files

    • OAKCDROM.SYS

    • RAMDRIVE.SYS

    • EBD.CAB

    • SMARTDRV.EXE

    • CONFIG.SYS

    • AUTOEXEC.BAT

  4. Copy the specific BIOS (.BIN) file to the diskette.

  5. Copy the BIOS upgrade program to the diskette.

  6. Restart the PC with the diskette in the drive so that the system boots from the floppy. You may need to change the boot device order first.

  7. At the DOS prompt type in the name of the BIOS upgrade program and press the Enter key to run it. You should be presented with a text menu of options.

  8. One of the options should be to copy the existing FLASH ROM BIOS to disk as a backup—do this. (Often the upgrade process will automatically prompt to copy a backup of the BIOS to disk.)

  9. Select the option to program the new BIOS file into the FLASH ROM. If you are presented with the option, and you did not already make a backup of the existing BIOS, do so now.

  10. Follow the prompts to upgrade your BIOS. In some cases, you need to provide the name of the new BIOS file and let the program copy the file into the FLASH ROM.

  11. When the programming process completes, remove the diskette from the drive and restart the PC. If your computer displays the BIOS version at boot time, you should notice the new BIOS version appear on screen.

  12. Go into the BIOS setup program. Verify or set the date, time, and other parameters that you’re familiar with and restart the PC. You’re done with the BIOS upgrade.


Note: Don’t forget to check the web site of your video card, disk drive, printer, and USB-connected product vendors for any BIOS or firmware updates for these devices.


— Jim Aspinwall, from PC Hacks (O’Reilly)

HACKING MULTIBOOT SYSTEMS

One of Windows’ more useful features is its ability to boot multiple operating systems. You may want to use multiple operating systems on your PC for a variety of reasons—your virtual private network (VPN) from work may work only with Windows XP, for example, but you run Windows Vista.Maybe you need to test software on different systems. Perhaps you’re a cross-platform developer, working in Linux as well as Windows.

Or, on the other hand, you might like to boot into multiple operating systems simply because you can. After all, there’s often great pleasure to be had in simply doing something for its own sake.

The keys to multibooting are Windows’ boot loaders and boot managers. After you create a multiboot system, when you start up your PC, one of these programs takes over, and displays a menu of choices of installed operating systems. Scroll to the one you want, select it, and you’re ready to go.

In this section of the book, you’ll learn how to hack multiboot systems. You’ll see how you can set up and run a dual-boot Windows XP-Linux PC, and a dual-boot Windows XP-Windows Vista PC, as well as how to hack startup options for multiboot systems.

There are similarities in how you customize Windows XP and Windows Vista multiboot systems—you can use the Msconfig.exe utility and the Startup and Recovery tab of the System Properties dialog box (Windows Vista’s version is shown in Figure 1-20) to edit multiboot as well as basic startup options for both, for example.


Note: To get to the Startup and Recovery tab in Windows XP, right-click My Computer, select Properties, select the Advanced tab, and click the Settings button in the Startup and Recovery section. In Windows Vista, right-click Computer, select Properties, click Advanced System Settings, and on the Advanced tab, click the Settings button in the Startup and Recovery section.


But the similarities are skin-deep. As you’ll see in [Hack #10] Windows Vista has introduced an entirely new startup and boot system, the Boot Configuration Data (BCD) store. The BCD store controls how Windows Vista starts, including multiboot configurations. In Windows XP, all this information was contained in a text file called boot.ini, which was far easier to edit than BCD. Msconfig.exe and the Startup and Recovery tab let you edit the basics of BCD. But to do more than that, you’ll have to wrestle with BCDEDIT, a command-line tool that is one of the most complex and confounding you’ll ever come across. Suffice it to say that even grown men and women have been known to weep just thinking of touching it. Fortunately, there are some alternatives.

Figure 1-20. Editing boot options in Windows Vista

Why did Microsoft make such a major change to the way Windows handles bootup? It wanted to develop a common way to handle devices not just with the traditional BIOS, but that use a new firmware model called the Extensible Firmware Interface (EFI). The boot.ini method couldn’t work on EFI. A BCD store, however, can be used on both systems. BCDEDIT can handle EFI as well as BIOS-based PCs.


Note: On a computer with a traditional BIOS, the BCD store is found in the \Boot\Bcd directory of the active partition. On an EFI-based system, it is found in the EFI system partition.

Tags: , , , ,