Results 1 to 10 of 167

Thread: HOWTO: Flash BIOS, The Ubuntu Way

Threaded View

  1. #1
    Join Date
    Jun 2006
    Ubuntu 14.04 Trusty Tahr

    Post HOWTO: Flash BIOS, The Ubuntu Way


    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).
    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.

    CMOS Jumpers
    Some motherboards have CMOS Jumpers that need to be cleared to perform a successful BIOS flash. More on this topic here & here.

    ACPI-Related Issues
    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.

    GRUB 2
    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 ( 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 here, and on 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.

    Size Contraints
    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.

    1a) FreeDOS, specifically, this image:
    1b) Alternate download location:
    2) New BIOS image + flashing tool to be found at the web site of your motherboard/BIOS/OEM vendor.

    M1: FLOPPY

    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 downloaded
    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
    Once 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.

    M2: CD
    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
    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/mkisofs symlinks to /usr/bin/genisoimage]
    [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.

    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
    gunzip FDOEM.144.gz
    mkdir /tmp/floppy
    sudo mount -t vfat -o loop,quiet,umask=000 FDOEM.144 /tmp/floppy
    unzip -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/
    sudo vim /boot/grub/menu.lst
    Now add the following to your GRUB menu
    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.
    Last edited by ciscosurfer; May 11th, 2012 at 03:31 AM. Reason: Release compatibility

Tags for this Thread


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts