I recently had to update my BIOS on my Toshiba Portege R705 laptop. Unfortunately, the updater can only be run on a Windows/DOS system. Luckily, I remembered reading this article on Linux Journal that described how one can boot into FreeDOS to update the system BIOS. I will outline what I did.
- Find a USB drive with a capacity < 2 GB.
- Using GParted, format the drive to be FAT16.
- Download fdbasecd.iso and install qemu (
sudo apt-get install qemu).
- Boot up FreeDOS with qemu:
qemu -hda /dev/sdb -cdrom /path/to/fdbasecd.iso -boot d(assuming usb drive is
/dev/sdb). Continue booting from “cd-rom” (iso file) and install FreeDOS to “harddisk” (usb stick) with default values.
- Do not reboot system after FreeDOS is done installing. Type following in DOS prompt:
fdisk /mbr 1 cd edit fdconfig.sys ## for line that starts with "SHELLHIGH...", change to "1234?SHELLHIGH..." ## save: Alt-f ## exit to Dos, exit qemu
- Test if USB drive will boot using qemu:
qemu -hda /dev/sdb -boot c
.exefile into usb drive. When I tried executing it in FreeDOS, it says it can’t because it is a Win32 file. I extracted the EXE file and read the README. It contained some files I can run in DOS.
- Restart system and boot with USB drive. On my Toshiba laptop, I had to press
ESCthen F12 to select USB drive.
- Once in DOS, run the command to update BIOS. NOTE: I take no responsibilities for your actions. Update your BIOS at your own risk. You can brick the machine if you aren’t doing things correctly or use the wrong BIOS file.