How to Create a BIOS Flash USB Stick (Non-Linux Vendor Utilities)
By snmcdonald at 2012-12-15 14:42
***WARNING: ATTEMPTING TO FLASH YOUR BIOS CAN PERMANENTLY DAMAGE YOUR PC***
Most vendors do not provide support for Linux, which can be especially difficult when you want to update your BIOS.
I will be providing two methods for upgrading you BIOS.
2. Windows PE
The first option is for DOS utilities and the second is for Windows utilities. I recommend the first unless you are forced to use a Windows executable from your vendor
1. Download the FreeDOS live disk.
2. Plug in your USB replace /dev/sdb with /dev/[your USB] (if you do not know where your USB stick is try the command lsblk). Prepare to set up a partition table (Warning: this will erase everything on your USB stick.)
3. Add a file system:
mkpart primary 0% 100%
set boot on
4. Now install Syslinux to your USB stick: (refer to your distro package manage for downloading the syslinux package):
mkfs.vfat -F32 /dev/sdb1
5. Add a configuration file that will boot your FreeDos Image:
syslinux -i /dev/sdb
6. Copy memdisk to your USB stick. (if you cant find the syslinux lib try the command whereis syslinux.)
sudo mkdir /mnt/usb
sudo mount /dev/sdb1 /mnt/usb
sudo vim /mnt/usb/syslinux.cfg
7. Copy the FreeDOS image and your vendor executable image.
sudo cp /usr/lib/syslinux/memdisk /mnt/usb
8. Plug in your USB and boot up your machine. Syslinux should boot into FreeDOS. Type myBIOSflash.exe to upgrade your BIOS.
sudo cp ~/fdboot.img
sudo cp ~/myBIOSflash.exe /mnt/usb
WINDOW PE (Windows Portable Edition
If you've tried to flash your BIOS with FreeDOS and received "incompatible DOS file". This method is for you. Unfortunately, you will require a copy of Windows for this tutorial to work:
1. Download the Installation Kit and burn an ISO and install to Windows.
Download the Windows 7 Automation Installation Kit
Download the Windows Vista/XP/Server 2003 Automated Installation Kit
I have followed this Walkthrough from Microsoft, but have added necessary corrections.
Walkthrough: Create a Bootable Windows PE RAM Disk on UFD
2. Start the "Deployment Tools Command Prompt" from the start menu.
3. Create a Windows PE Image
4. Mount the Image:
copype.cmd x86 c:\winpe_x86
5. Add your BIOS flash files:
imagex /mountrw WinPE.wim 1 c:\winpe_x86\mount\
cp c:\acerBIOSflash.exe c:\winpe_x86\mount
6. Unmount the Image:
7. This step must be added (it is in the other walkthroughs). It will not boot otherwise.
imagex /unmount /commit c:\winpe_x86\mount
8. To partition the disk you must leave the "Deployment Tools Command Prompt". If you stay in the "Deployment Tools Command Prompt" it will not create a proper bootable partition. Start a separate command prompt with administrator privileges. Replace disk 6 with your USB.:
xcopy c:\winpe_x86\winpe.wim c:\winpe_x86\iso\sources\boot.wim /y
9. Copy to your USB. Change "F:\" to the location of your drive:
select disk 6
create partition primary size=<size of device>
select partition 1
format fs=fat32 quick
Once you boot, you get a command prompt in a Windows environment.
xcopy c:\winpe_x86\iso\*.* /s /e /f f:\
Now you can navigate to the location of flash utility and install.
I hope this tutorial helps anyone else. It took a while to compile various walkthroughs and Q&As.
1. You cannot add the flash utility directly to the ISO. It has to be mounted into the actual boot.wmi.
2. If the disk fails to boot ensure that the active flag (boot) is set in diskpart.
All times are GMT -5. The time now is 09:22 PM.