How To Flash A BIOS With A USB Stick
Recently I had to upgrade the BIOS on my PC to the latest version to enable support for something specific to GIGABYTE motherboards called On/Off Charge. This isn’t a big deal as I’ve flashed more than a few BIOSes over the years, however the way this one was done was, shall we say, a bit unique.
1. Motherboard software utility or bootable USB?
Most motherboards have some sort of software utility that allows the reading of a BIOS image on a USB stick.
A few examples:
On GIGABYTE motherboards, the built-in utility is called Q-Flash, accessible via END key on your keyboard on boot.
On ASUS motherboards you can ordinarily mash F2 on boot and the utility to read a BIOS flash image from a USB stick should invoke.
On MSI motherboards, this takes a bit of explanation and just goes to show the b.s. you have to go through to get a BIOS flashed on a motherboard sometimes.
Okay, so for MSI you’re required to have a bootable USB stick booted into a “pure DOS” environment file system and nothing else in order to get the BIOS flash crap done. Does MSI provide you with a utility to make a pure DOS bootable USB stick? I couldn’t find one. Are you out of luck at this point? No, there is a workaround.
Pop in the USB you intend to use, download Unetbootin, run it and purposely select the distribution as FreeDOS, like this:
..and make your bootable stick from there. The download will be fast because it’s very small, and the utility will push the FreeDOS image over to your USB stick quickly as well.
When finished, you will have an MS-DOS compatible bootable USB stick that has the pure DOS environment needed to run the MSI stuff once booted from it. Once the stick is done being created, copy over the necessary MSI BIOS files and follow MSI’s instructions from there – assuming you’re using the correct USB port, covered in a moment.
2. Using the proper file system
Whether using a motherboard software utility or booting direct from a USB stick, the file system must be something BIOS utility can understand.
Your choices here are FAT16 and FAT32. Anything else usually will not work. It’s most likely true you’ll be using FAT32, which is the default file system used in Windows when formatting a USB stick.
3. Pick the right USB port
The general rule of thumb here is very simple to follow:
Always use a USB port that is directly off the motherboard.
What this means is that if you try to use the USB ports that are wired to the front of the case, or try to use a port that’s off a USB hub, the chances of it working for BIOS flashing purposes are slim to none. On attempt to use one, the BIOS utility simply won’t ‘see’ it at all.
The reason the front ports and hub ports don’t work in this specific instance is because they’re not active when you boot in this fashion.
Additional note: The same applies to those of you with USB 3.0 ports. Those probably won’t work booting in this fashion either, so stick to the 2.0 ports.
4. Don’t use a well-used USB stick
I ran into this problem personally.
I had a really old 512MB Sandisk Cruzer kicking around, so I figured I would use that to copy the BIOS image to. Well, Q-Flash (the GIGABYTE utility for my particular motherboard) didn’t like that at all and on attempt to read the BIOS image off the stick stated some type of file integrity error.
Side note: I was quite thankful GIGABYTE’s utility was smart enough to check file integrity of a BIOS image before actually using it.
I rebooted, copied the image to a much-newer 4GB Sandisk Cruzer, went back into Q-Flash and everything went through smoothly that time around. No read errors and the image was applied appropriately.
Additional side note: It’s also quite nice the Q-Flash utility allows you to backup the existing BIOS image before applying the new one, so if anything screws up, you can always go back to the old one easily.
5. Flash the BIOS
This is the easiest part of the process. BIOS flashing today is basically the same as it’s always been, but the way it’s done differs depending on make of motherboard.
Some BIOS flash utilities will auto-detect where your new BIOS image is and ask if you want to use it or not. Others will ask you where the image is, requiring you to navigate with your keyboard up/down keys and locate it that way (which shouldn’t be too difficult). And yet others, like the MSI utility, require you to directly type the name of the BIOS image file name with extension on the command line in order to apply it.
The rest of the process is pretty much universal. While the image is being applied, you’re given this huge nastygram warning to the effect of “!!! DO NOT REBOOT SYSTEM !!!” while the flashing of the BIOS is taking place.
Small side note: I do strongly recommend that whenever flashing a BIOS to have your system plugged into a UPS, be it laptop or desktop. If you lose power while a BIOS flash is taking place where the unit clicks off, bye-bye computer. Being plugged into a UPS prevents that from happening.
Once the new image is applied, everything is done and you’re prompted to reboot.
Why do motherboard OEMs still use a floppy as the primary means of flashing a BIOS?
You’d assume by now that no motherboard OEM today would even think of instructing anyone to use a floppy to flash a BIOS with, yet just about all of them do.
The 3.5-inch high density floppy format was introduced in 1987. Nobody uses floppies anymore and haven’t for years. In fact, we can’t even make bootable floppies natively via our OSes anymore even if we wanted to.
What’s the deal with motherboard OEMs telling us to use a storage technology that’s just one year shy of 25 years old that many of us don’t have – and tell us to make it bootable though we couldn’t even if we had the drive for it (much less the media itself)?
I tried to think up a good explanation for this, but I can’t. The fact almost all the motherboard OEMs keep telling us to use floppies to flash BIOSes with is just plain dumb; this is especially true considering motherboards all come brand new with a bare minimum of two USB ports whereas they don’t come provided with a floppy drive.