How to Create a BIOS Flash USB Stick (Non-Linux Vendor Utilities)
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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.
1. FreeDOS
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
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.)
Code:
parted /dev/sdb
mklabel msdos
mkpart primary 0% 100%
set boot on
3. Add a file system:
Code:
mkfs.vfat -F32 /dev/sdb1
4. Now install Syslinux to your USB stick: (refer to your distro package manage for downloading the syslinux package):
Code:
syslinux -i /dev/sdb
5. Add a configuration file that will boot your FreeDos Image:
Code:
sudo mkdir /mnt/usb
sudo mount /dev/sdb1 /mnt/usb
sudo vim /mnt/usb/syslinux.cfg
DEFAULT FreeDOS
LABEL FreeDOS
LINUX memdisk
INITRD fdboot.img
6. Copy memdisk to your USB stick. (if you cant find the syslinux lib try the command whereis syslinux.)
Code:
sudo cp /usr/lib/syslinux/memdisk /mnt/usb
7. Copy the FreeDOS image and your vendor executable image.
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.
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.:
Code:
diskpart
list disk
select disk 6
clean
create partition primary size=<size of device>
select partition 1
active
format fs=fat32 quick
exit
9. Copy to your USB. Change "F:\" to the location of your drive:
Code:
xcopy c:\winpe_x86\iso\*.* /s /e /f f:\
Once you boot, you get a command prompt in a Windows environment.
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.
Note:
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.
I admire the effort and creativity in the original answer, but I think this is the way to go.
And, WIN PE is not approved by Microsoft for use as a stand-alone operating system. It requires no stretch of the imagination to conceive of Microsoft Corporation building a motherboard bricking function into Win PE just to discourage it's use for that purpose.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
Regards Glenn
The easier method works with both CD and USB.
Making the DOS CD is the same except for the dd command. Instead, use these commands:
And, WIN PE is not approved by Microsoft for use as a stand-alone operating system. It requires no stretch of the imagination to conceive of Microsoft Corporation building a motherboard bricking function into Win PE just to discourage it's use for that purpose.