I want to update the BIOS on Toshiba QOSMIO-G30. The
exe file that I downloaded from the manufacturer web site is supposed to be Operating System independent! Yet using Wine I could not execute the file to FLASH System BIOS. Is there any way to update the BIOS in Ubuntu?
Quoted from the same site:
So you've finally made the move to a Windows-free computer, you're enjoying your brand new Linux OS, no Trojans/viruses, no slowdown, everything is perfect. Suddenly, you need to update the BIOS on your motherboard to support some new piece of hardware, but typically the motherboard vendor is offering only DOS based BIOS flash utilities. You panic! Fortunately, this problem is easy to solve...
Below are the steps to follow:
Step 1: Download FreeDOS boot disk floppy image
Step 2: Copy your BIOS flash utility and new BIOS image to the mounted floppy disk image
Step 3: Burn a bootable CD which will emulate floppy device for use
Step 4: Reboot, flash, reboot, enjoy your new BIOS
I would highly recommend not flashing a BIOS with an .exe using Wine. Flashing a BIOS can potentially turn your computer into a large paperweight if something goes wrong.
Some manufacturers (I know Dell does for example) have alternative BIOS upgrade methods for Linux.
However if Toshiba does not offer any Linux compatible options, your best bet is to:
- Determine if you really need to do the update. If you aren't having any problems with the BIOS currently and don't require any new features from it you can probably safely ignore the update.
- If you do require the update, either create a DOS boot disk (Mitch's answer links to a good how-to for doing this), install DOS/freeDOS etc. onto a new partition, or -gulp- install Windows. If you have an extra old hard drive around you could also install this hard drive, put windows on it, flash the BIOS and then switch back to your hard drive with Ubuntu on it.
Flashing using only GNU/Linux
(No floppy disks, No CDs, No DOS, No FreeDOS, No Win*)
Usually there are two files:
a binary file which includes all the data (firmware) which is going to be transferred to the motherboard's rom chip,
a binary file which is an executable utility and is used to make the actual transfer of the firmware to the motherboard, plus some checks.
Manufacturers may combine these two binaries into one self extracted compressed executable file (.exe which is like a .zip file).
In this case a GNU/linux user can unzip the .exe file and extract the firmware file. Then using the flashrom utility can flash the new firmware to the motherboard.
I have tested this procedure using a Gigabyte GA-Z68MA-D2H-B3 (rev. 1.3) and an .exe file which included F10 firmware revision.
To make a backup of the old firmware:
flashrom -p internal -r backup.rom -o backuplog.txt
To make the writing of the new firmware, replace Z8MAD2H3.F10 with your new firmware:
flashrom -p internal -w Z8MAD2H3.F10 -o writelog.txt
To revert from an unsuccessful writing, if you completed the backup at the first step:
flashrom -p internal -w backup.rom -o restorelog.txt
That's not going to work.
Depending on the tool provided by Toshiba, you must either:
- run the exe file on a real Windows
- create a DOS boot disk
There is no such thing like OS-independent binary executables. As "exe file" probably means "a file whose name ends in .EXE", that's most likely either a Windows Portable Executable or an MS-DOS executable.
BIOS upgrade are really supposed to be something low-level you can do with a simple system, such as MS-DOS or FreeDOS.
So the first step here is to check whether the executable is an MS-DOS executable or a Windows executable. If it is a windows executable and it does not run under Wine, try to see if it is somehow extractable using an archiving tool (sometimes unzip may be able to help here), so you get the flash image and maybe MS-DOS flash tools (it would not be the first time MS-DOS tools are packaged inside a windows-only installer).
With no flash tools, there are generic flashers like Uniflash that are worth a try. If you want to run it and it is windows only, a good choice is probably to get a Windows Preinstallation Environment live CD, which has the basic system and will be able to run the flash tool, but unfortunately that requires a Windows license.
If you're lucky and you get a set of MS-DOS tools, just grab some FreeDOS live CD or floppy image and boot into FreeDOS to use the tools (although you will need to have the tools in a separate floppy/pen/CD). If you are even luckier, you may get a ready-to-boot disk image (as many people pack floppy images inside floppy image writers, that's possible, too).
If you don't have a Win-10 copy, and if you don't want to download a 5 Gb tryout version and install it, a Win-10 based rescue disk will do it. For example, this one allowed me to run the windows .exe file provided by HP. I used directly the "update the installed BIOS".
Simplier than the Free DOS solution, in my opinion.
Disconnect your Ubuntu system drive, connect an old spare or used drive, install Windows on it, and do the BIOS update (if, as Pilot6 explains, if you absolutely, positively, have to update the BIOS). Then, disconnect the old drive, put your Ubuntu OS drive back on, and you're ready to go, secure in the knowledge that Windows did not corrupt Linux (which happens often, sadly).