Updating the BIOS from an USB flash drive

In a previous post, I described how to upgrade my system’s BIOS without the need of any external media. Today’s solution is simpler, but it requires a dedicated USB memory stick, for all its contents will be erased (except if you make partitions, but that would make things a little bit more complicated). It also assumes that your BIOS will allow you to boot from a USB stick, which is the case for most modern systems but to for old systems.

As usual, a disclaimer : I am writing this just for my records and I do not recommend anyone else to follow these instructions. Flashing the BIOS is a potentially risky operation, if something goes wrong you computer may end up in an unusable state. Most likely you warranty will be void and you will have to pay all the reparation expenses from your own pocket. Be ware!

This time, I have upgraded the BIOS of my Tyan S7025 motherboard from version 1.03 to version 1.05.

INGREDIENTS:

1) A USB pen drive. I formated it to FAT16 and made it bootable using cfdisk in Linux. There are many other options.

2) Unetbootin.This nice program is now in the Debian repositories (at least for Squeeze).

3) The BIOS flashing utilities from my motherboard manufacturer.

PROCEDURE:

0) Download the BIOS flash utilities from your motherboard or computer manufacturer. Make sure that the downloaded version is more recent that the one you have installed (and that the fixes applied to the new version are relevant for you, otherwise it makes no sense upgrading the BIOS). In Linux, the command “dmidecode –type bios” (to be executed as root) will provide you some relevant information about your current BIOS. Other options for obtaining this info would implicate rebooting.

1) Format your pen drive with a FAT16 or FAT32 filesystem and make the partition bootable. I used cfdisk from Linux.

2) Install Unetbooting and use it to create a FreeDOS bootable USB memory stick. The nice thing about Unetbootin is that it does everything automatically, including downloading the required files from the FreeDOS website and so you do not need to care about that.

3) In the USB drive, create a new folder called FLASH (or whatever you like) and place there all the files you downloaded in step 0 (decompressed).

4) Unmount the USB drive and reboot.

5) You may need to configure your BIOS to boot from a USB flash drive (in my case, this was the default). Check the boot order in your BIOS configuration. Old systems may not allow you to do this and in those cases this procedure is useless. In such cases you can use a floppy drive, a CD (not recommended), or booting DOS from from the Grub menu as explained in my previous post.

6) Once you are in DOS, you will probably be in A: (floppy). Type C: plus Enter to go to the hard drive, type cd FLASH plus Enter and then execute the flashing script (normally is a .bat file). Remember that the DOS command to list files is “dir” and not “ls”😉. Wait for the flashing utilities to do their magic. Do not be surprised if the screen turns blank or flickers for a good while. The computer should reboot automatically at the end of the process (do not forget to remove the USB drive or you will end up in DOS again).

7) Certain manufactures recommend emptying CMOS to make sure that the old BIOS setup is cleaned. Please, refer to your manufacturer manual or website for instructions. In my own experience, this is rarely required.