HOW TO FLASH YOUR BIOS
BIOS flashing is destructive. If you don't understand what this means, start reading here and here. Read these documents and all related documents very carefully.
RELEASE COMPATIBILITY (Ubuntu x86/i386)
All versions of Ubuntu have been tested using the methods listed below (4.10 - 12.04).
Many vendors now include native Linux utilities to assist in a BIOS flash (or replacement). If you fit into this category then it is recommended to use the method provided by them. Another example: Dell has the biosdisk project. You can also try your luck with the flashrom project (more on flashrom below). If you know what you are doing, are feeling daring, or just want to know a little more about this topic, then continue reading.
Flashing a BIOS typically serves the following functions: to fix specific bugs, to support newer hardware, or to fix a damaged BIOS. Using Ubuntu Linux as our host OS, we will create a bootable floppy disk or CD using FreeDOS as our OS of choice. On this disk we will place a new BIOS image and any related files used for flashing. Once the disk has been created, reboot the system and allow your newly created disk to load automatically and begin the flashing process. See your particular BIOS vendor's web site for these files and for more information on the commands you will to need to use to begin the flashing process. In other words, read what your BIOS vendor has to say about flashing. READ the README file.
Learn more about your BIOS and its features (e.g., make, vendor, release date).
TIPS & WARNINGS (YOU SHOULD READ THESE)Code:sudo biosdecode sudo hwinfo --bios | less sudo dmidecode --type bios sudo lshw gksudo lshw-gtk
Flashing your BIOS is a potentially dangerous activity that can render your motherboard (and computer, for that matter) inoperable. Proceed with caution and fully understand what you are doing before attempting the commands below! The only way to reverse the commands below is to make a copy of your current BIOS configuration and re-flash or by reinstalling the original BIOS to your motherboard.
Some motherboards have CMOS Jumpers that need to be cleared to perform a successful BIOS flash. More on this topic here & here.
Sometimes these issues can be fixed by updating your BIOS. If after flashing your BIOS you still encounter power/fan/thermal problems, this thread will describe how to modify your DSDT file in an attempt at fixing common ACPI-related issues. More on ACPI here and here.
The third method uses the GRUB bootloader. It's meant to be used with original GRUB and not with GRUB 2.
If you need or want to use GRUB 2, check out The GRUB 2 Guide or the GRUB 2 manual for ideas. You can also alter GRUB 2 using Daniel Richter's "Grub Customizer" -- read more about it here, here, and here.
This method utilizes an app called flashrom to update your BIOS without having to reboot your system. It is a utility for identifying, reading, writing, verifying, and erasing flash chips (http://www.flashrom.org/Flashrom). It's often used to flash BIOS/EFI/coreboot/firmware images. Read the compatibility chart to see whether your BIOS is supported or if proposed workarounds have been suggested. Check the following links for more information. Pádraig Brady offers up this page as well. More info can be found at the main project site here, on wikipedia here, on apcmag.com here, and on desktoplinux.com here.
Unetbootin & USB Flash
Ideas on using unetbootin and/or USB flash drives, thumb drives, sticks, etc., can be found here and here. Some comments here discuss making bootable USB flash drives as well.
In cases where the new BIOS image and related files are larger than 1.44MB, you can go here or here to learn about creating or using customized boot disks of larger sizes to help in flashing your BIOS. As an alternative, you can try the third method listed below that uses GRUB to update your BIOS. See above for ideas on modifying config files if using GRUB 2 as your boot loader.
Still Not Sure?
If you don't know what you are doing or feel unsafe at this point, it is highly recommended to ask for help or consult a professional.
Carefully read through all methods.
Pick a method that best suits your situation.
Understand what you are doing before you begin.
Read the TIPS & WARNINGS section above for additional insight.
YOU WILL NEED THE FOLLOWING:
1a) FreeDOS, specifically, this image: http://www.fdos.org/bootdisks/autogen/FDOEM.144.gz
1b) Alternate download location: http://www.mediafire.com/file/26md8h...e/FDOEM.144.gz
2) New BIOS image + flashing tool to be found at the web site of your motherboard/BIOS/OEM vendor.
Unpack FreeDOS image → copy image to floppy disk → create temp floppy dir → mount floppy → copy flashing tool and new BIOS image to /tmp/floppy (see footnotes below) → reboot following vendor instructions
Note: "NewBiosFiles" listed below is pseudocode for the extracted location of the new BIOS image + related files that you just downloadedOnce the command has finished executing, mount the floppy and copy the new BIOS image + flashing tool onto it. That's all there is to it. Reboot, flash BIOS with commands provided by the BIOS vendor. Check the README file for exact syntax.Code:wget http://www.fdos.org/bootdisks/autogen/FDOEM.144.gz gunzip FDOEM.144.gz dd if=FDOEM.144 of=/dev/fd0 mkdir /tmp/floppy sudo mount /dev/fd0 /tmp/floppy sudo cp ~/NewBiosFiles/* /tmp/floppy
END OF METHOD
Unpack FreeDOS image → create temp dir → mount FreeDOS image to /tmp/cdr → copy flashing tool and new BIOS image to /tmp/cdr (see footnotes below) → unmount image → install mkisofs → create ISO → burn ISO to disc → reboot following vendor instructions
Note: "NewBiosFiles" listed below is pseudocode for the extracted location of the new BIOS image + related files that you just downloaded[note: in later releases, /usr/bin/mkisofs symlinks to /usr/bin/genisoimage]Code:wget http://www.fdos.org/bootdisks/autogen/FDOEM.144.gz gunzip FDOEM.144.gz mkdir /tmp/cdr sudo mount -t vfat -o loop FDOEM.144 /tmp/cdr sudo cp ~/NewBiosFiles/* /tmp/cdr sudo umount /tmp/cdr sudo apt-get install mkisofs mkisofs -o newBIOS.iso -b FDOEM.144 FDOEM.144 cdrecord -v newBIOS.iso
[note: in later releases, /usr/bin/cdrecord symlinks to /usr/bin/wodim]
Reboot from the CD and flash your BIOS with the commands provided by the BIOS vendor. Check the README file for exact syntax.
END OF METHOD
M3: GRUB (GRUB 2 users, read GRUB 2 links under TIPS & WARNINGS above)
Download FreeDOS image and unpack → create temp dir → mount image to temp dir → extract flashing utility and new BIOS image to temp dir → unmount image, remove temp dir → move image to new file to be used by GRUB → install syslinux to provide memdisk for booting → copy memdisk to /boot dir → reboot choosing biosupdate.img option from GRUB menu
Code:wget http://www.fdos.org/bootdisks/autogen/FDOEM.144.gz gunzip FDOEM.144.gz mkdir /tmp/floppy sudo mount -t vfat -o loop,quiet,umask=000 FDOEM.144 /tmp/floppy unzip newBIOS.zip -d /tmp/floppy sudo umount /tmp/floppy rmdir /tmp/floppy sudo mv FDOEM.144 /boot/biosupdate.img sudo apt-get install syslinux sudo cp /usr/lib/syslinux/memdisk /boot/Now add the following to your GRUB menuCode:sudo vim /boot/grub/menu.lstEND OF METHODCode:title BIOS upgrade kernel /boot/memdisk initrd /boot/biosupdate.img
HOWTO:Flash Your Bios...
No DOS/Windows, No floppy...
You've likely downloaded an executable file (an .exe file) containing your new BIOS image and flashing utility. There may be other files that you wish to copy over, such as an AUTOEXEC.BAT file to automate the process. In addition, you'll probably find a README file of some sort that will describe the appropriate syntax to use when flashing. To get at these files, use unzip to de-archive the executable file. Install unzip via your favorite package manager.