It seems as if most of the hardware world thinks that everyone is a Microsoft vassal. All BIOS updating software which I’ve encountered requires at least a DOS boot disk. The updates come with instructions for how to generate a Windows 98 or ME boot disk from a Windows setup. They don’t tell you how to do this in a pure Linux environment. That’s why I’m here. 🙂
First, you’ll need the updated BIOS file for your computer. You’ll have to get that from your motherboard vendor. Their web address should be in the documentation, or you can Google/Yahoo! search for it on the net. If you have an OEM computer, then check with your computer vendor. Make sure that you match the update to the BIOS part number installed on your computer. You can find this on the opening boot screen in the upper left corner. If it goes by too quickly, then either hit the Pause key when it’s displayed or turn off “Fast Boot” in the BIOS settings. Download and save the proper file to your hard drive.
Next, you’ll need a DOS boot floppy that includes a RAMDisk. Why? Because a floppy isn’t always fast enough to keep up with the BIOS burning software, and I’m assuming that you don’t have Windows on a hard drive. I recommend against trying to update your BIOS from a floppy disk directly. You can get boot floppy images from allbootdisks.com (Thanks, Chappy!) Chappy offers Windows 98 and Windows ME boot disks (amongst others), both with and without RAMDisks. (If you don’t have a floppy drive, he also offers the same images for CDs.) Just click on “Download Boot Disks” on the left side of the screen under the operating system of your choice, then Diskette Images on the next screen, then the disk of your choice from the list. Be sure to choose the image file and not the Automatic Boot Disk. The latter is a Windows executable file. I chose the WinME image with a RAMDisk, but Win98 will work just as well. Download and save the image to your hardisk, preferably either in /tmp or close to the top level of your /home directory (saves typing later).
Next we must “burn” that image to a floppy disk. I’ve found that the easiest way is from the terminal with the following command (make sure that you have a blank or expendable floppy disk in the drive first):
sudo dd if=/tmp/WindowsME.img of=/dev/fd0
This assumes that your floppy disk is linked at /dev/fd0 (common for Linux), and that the boot image file is called WindowsME.img and is located in your /tmp directory. Make the command suit your setup. This will create a suitable boot disk that you can use to update your BIOS.
Next, you need to extract and copy the BIOS Flash program and the new BIOS image to a different floppy disk. It will not fit on the boot disk.
WARNING: This would be a good time to read the doc file that came with the new BIOS image. Be sure to follow the execution instructions perfectly. If you mess it up, your computer will become a boat anchor. You’ve been warned!
Brief aside: What if you don’t routinely mount your floppy in Linux? You can do so quickly with the following command in the terminal:
sudo modprobe floppy
That will activate the drive under Linux for the current session. If you want to mount it every time but your system doesn’t do so automatically, edit /etc/modules by typing this (for Gnome) in the terminal:
gksudo gedit /etc/modules
Then just add the following lines to the file /etc/modules:
#To load floppy module
Save the file and you’re all set. OK, back to the boot disk.
NOTE BENE: Reflashing your BIOS will erase ALL of your BIOS settings. I highly suggest that you either write all of your custom settings down somewhere or print the screens so that you can accurately recreate your system settings after updating the BIOS. Some settings may have been earned in blood, and you don’t want to plow the same ground again. This is especially true of overclock settings.
Now we’re all set for the update, so put the new boot disk in your floppy drive. Restart your computer, enter the BIOS setup by hitting the appropriate key (usually DEL or F2), and set the floppy drive as your first boot device. (This is a good time to record your custom settings.) Save the settings (usually F10), then restart. This time your computer will boot the floppy. You’ll see menu items offering different boot options. I just picked the boot that also loaded the CD driver, but it doesn’t matter.
Pay attention to the screen to see which drive is your RAMDisk. If you have no Windows drives in the computer (like me), you will get a warning but everything will work fine. In that case, the RAMDisk will be C: After the boot finishes and you get the A:\ > prompt, take out the boot floppy and put in the floppy with your new BIOS file and the Flash burning software. Then, copy those files to the RAMDrive. In my case, that looked like:
A:\ > copy *.* c:
Once your files are on the RAMDisk, change to the RAMDrive:
A:\ > cd c:
Then execute the BIOS burn exactly in accordance with the instructions that came with your new BIOS files. In my case, this command was:
C:\ > afud408 A7350NMS.170
with afud408.exe being the Flash burning software and the A7350NMS.170 being the new BIOS image. Yours will certainly vary from this, but make sure that you read the doc file that came with your new BIOS file for the correct syntax.
That’s all there is to it. Mine burned the new BIOS from the RAMDisk in less than 30 seconds, but your time will be different. When the burn is complete, you will be returned to the drive prompt. At this point, you can reboot if your update instructions require no further steps.
When you reboot your system, your BIOS checksum will fail. That’s normal, and requires you to enter the BIOS setup screens (read the screen and follow the instructions to enter the BIOS setup). This would be a good time to return the BIOS to the settings that you recorded earlier. Also, return your primary hard disk as the first boot device (or whatever settings you normally use). When you are all done, save your settings (usually F10) and reboot. The computer should boot up normally through to your Grub menu.
Congratulations! You’ve updated your computer’s BIOS with no permanent Windows installation on your system.