How do I upgrade my bios?

I want to upgrade my bios from linux using utilities provided for windows (since there are none for linux). When I started searching for ways to accomplish this, every method I found involves an .iso or .IMG image. However the executable I have doesn’t seem to have such an image. When I use the cabextract command with the binary I’m given I see no .iso or .IMG image. I get a .exe file, a .sys file, a .SYS file and a .VXD file. If think that if there’s an image at all it is in the .exe file since it is the largest file.
I hope someone can help me.
Greeting, Ricardo.

It is extremely unfortunate that some OEMs and BIOS manufacturers have moved to requiring a Windows install to run that lame BIOS update tools. This pre-supposes the person has a Windows install, requires a hard drive (you can’t just use a USB floppy drive / bootable FreeDOS CD any more) and - worst of all - performs a critical operation from within a running OS. Astoundingly assinine.

There are a few things you can check: Sometimes BIOS has an updater built in, for example some Biostar BIOSes let you hit F12 and it will just read the BIOS off a USB floppy, and not have to run their Windows Afuwin.exe utility. This is not always documented, but you might want to look and see if yours supports it.

However, from the files you described the .exe most likely contains the BIOS image embedded. Bad.

It used to be you could create a DOS bootable CD, which also contained the BIOS image and executable as well, and run the flash utility this way. This is described at:

How to flash motherboard BIOS from Linux (no DOS/Windows, no floppy drive)? | LinuxInsight

Gentoo Forums :: View topic - How to flash your motherboard bios the easy way

However, those guides assume the flash utility is DOS - and sadly, these day some of them actually do require Windows, they are GUI driven and are not DOS based at all.

What motherboard (or what exact system if an OEM one) do you have and were exactly did you get the flash utility? If you post that in will provide some more clues on what route you can take.

Pete

I want to upgrade my bios from linux using utilities provided for windows (since there are none for linux). When I started searching for ways to accomplish this, every method I found involves an .iso or .IMG image. However the executable I have doesn’t seem to have such an image. When I use the cabextract command with the binary I’m given I see no .iso or .IMG image. I get a .exe file, a .sys file, a .SYS file and a .VXD file. If think that if there’s an image at all it is in the .exe file since it is the largest file.
I hope someone can help me.
Greeting, Ricardo.

Hello derhundchen. Let me say that upgrading your Personnel Computer BIOS should not be taken lightly and done only if there is a reason to believe it is not working properly and a BIOS update will fix the problem. If anything should go wrong during a BIOS update, it can render your computer useless and unable to boot any disk. If you decide to update your BIOS, you should only use methods supported by your manufacturer. Power failures during a BIOS update without good batteries or a good UPS are fatal.

Some recent methods I have used include:

  1. Booting from a Floppy disk loaded with DOS.
  2. Running a BIOS update from some sort of Windows Utility.
  3. Loading a BIOS update from a built-in BIOS setup update utility, were the actual new BIOS can be loaded from almost any disk, including Thumb Drives.

Item number three should be the choice if you have the option. Number two can only be used if you have a dual boot system using Windows. Number one does work, but bad floppy disks are common and can cause a update failure.

If you can answer yes to one of these, don’t do a BIOS update:

  1. You don’t really understand the BIOS update procedure.
  2. You don’t have any known Computer issue that can be fixed by the update.
  3. You do not have at your disposal any supported BIOS update method.
  4. You have lots of power failures and/or a bad Laptop battery and/or no UPS to protect your power connection.
  5. You are generally a very unlucky person with computers.

Feel free to comment on any of the issues I have mentioned…

Thank You,

#3 is very close to what I did. I used a BartPE live CD to boot a live Windows environment on the target PC, and then loaded the bios update off of a USB drive. Then I executed the bios update from within the BartPE session. This was on an older Dell I pulled out of a dumpster so I wasn’t too worried.

I happen to have Windows as a second OS, so I would use that.

If, however, I did not have Windows, then I would try UBCD (Ultimate Boot CD). There’s an option there to boot freedos from the CD, and most BIOS update programs will run under DOS.

Yes, okay, you need the iso of UBCD for that. I happen to have burned that to a CD already, so it would be easy for me.

(Just mentioning this as another possibility).

On Sat, 24 Sep 2011 00:16:02 +0000, nrickert wrote:

> I happen to have Windows as a second OS, so I would use that.
>
> If, however, I did not have Windows, then I would try UBCD (Ultimate
> Boot CD). There’s an option there to boot freedos from the CD, and most
> BIOS update programs will run under DOS.
>
> Yes, okay, you need the iso of UBCD for that. I happen to have burned
> that to a CD already, so it would be easy for me.
>
> (Just mentioning this as another possibility).

Another possibility that the OP might look into - if Windows is an
absolute requirement (and the EXE won’t run under DOS, which would be
most unfortunate) is BartPE.

Jim

Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

On 09/23/2011 11:16 PM, Jim Henderson wrote:
>
> Another possibility that the OP might look into - if Windows is an
> absolute requirement (and the EXE won’t run under DOS, which would be
> most unfortunate) is BartPE.

The only “gotcha” with BartPE is that you need a running Windows system and the
Windows DVD to write the BartPE disk, but you can use any computer with a CD
writer. I keep a copy of that CD just in case.

On 2011-09-24 06:16, Jim Henderson wrote:
> On Sat, 24 Sep 2011 00:16:02 +0000, nrickert wrote:

> Another possibility that the OP might look into - if Windows is an
> absolute requirement (and the EXE won’t run under DOS, which would be
> most unfortunate) is BartPE.

Or WOOS - it appears to be a free, windows compatible, system. It is listed
in google to be at www.woos.es, but the web page is dead now. A friend just
mentioned it to me over the phone, asking if I knew what it is.

http://www.youtube.com/watch?v=tWNt6AVIxIo


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

On Sat, 24 Sep 2011 15:47:18 +0000, Larry Finger wrote:

> On 09/23/2011 11:16 PM, Jim Henderson wrote:
>>
>> Another possibility that the OP might look into - if Windows is an
>> absolute requirement (and the EXE won’t run under DOS, which would be
>> most unfortunate) is BartPE.
>
> The only “gotcha” with BartPE is that you need a running Windows system
> and the Windows DVD to write the BartPE disk, but you can use any
> computer with a CD writer. I keep a copy of that CD just in case.

True, but most people probably have a friend who runs Windows who might
be able to help them out. :slight_smile:

WINE might also work, too, depending on the EXE’s requirements - though
I’m not sure that I’d be inclined to try it myself.

Jim

Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

You are right about that. I forgot you need a Windows partition and install disk to build the BartPE image. I tried building BartPE with wine once before and it was a disaster. You can find prebuilt BartPE torrents, but I’m sure they are illegal to distribute, and dangerous also.

Thanks to everyone who responded. I guess I’ll have to install windows. If I use the file command to find out what type of file the .exe file is, it says that it is a “PE32 executable for MS Windows (GUI)”. I think it wouldn’t run in ms-dos (or in freedos).

On Sun, 25 Sep 2011 18:06:02 +0000, derhundchen wrote:

> Thanks to everyone who responded. I guess I’ll have to install windows.
> If I use the file command to find out what type of file the .exe file
> is, it says that it is a “PE32 executable for MS Windows (GUI)”. I think
> it wouldn’t run in ms-dos (or in freedos).

It does sound like that’s the case.

Jim


Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

Thanks to everyone who responded. I guess I’ll have to install windows. If I use the file command to find out what type of file the .exe file is, it says that it is a “PE32 executable for MS Windows (GUI)”. I think it wouldn’t run in ms-dos (or in freedos).

If you gave us the exact computer make/brand & model number we could go and look-up your options if you would like the help.

Thank You,

Indeed it varies from PC manufacturer to PC manufacturer as to how one updates their BIOS.

Less than one hour ago, I just updated the BIOS in my main PC (an ASUS P6T Deluxe V2 (socket-1366 architechture)). My previous BIOS was version 0504, …and I noted over one half dozen updates on the Asus website, with the most current version 1108. So I decided I needed to update to that version.

BACKUP BIOS SETTINGS

The first thing I did (being the super conservative person I am) is boot to the BIOS, and take pix with my digital camera of EVERY setting that I had in place. EVERYONE. My guess was there was a strong possibility a BIOS update could (if I was not careful) wipe out all my old BIOS settings and I did not want to waste dozens of minutes tuning my BIOS.

DOWNLOAD BIOS UPDATE FILE

Now, I’m used to BIOS updates being conducted from MS-Windows only, so after making a record of my BIOS settings, without looking at this deeply I booted to MS-Windows (for the 1st time in months). That took a while, as I was immediately bombarded with requests to update Zone Alarm Firewall, update AVG anti-virus, install an MS-Windows update, … etc … So a couple more reboots later < sigh > I was able to download the version 1108 from the Asus support download site. It was a zip file, so I unzipped the file on the C: drive (NTFS). Since this was an MS-Windows boot I scanned it for virus. None.

REBOOT TO BIOS - DID NOT SUCCEED

I then rebooted and went into the Asus BIOS which has under ‘tools’ an “ASUS EZ Flash 2” menu item, for flashing the BIOS, from the BIOS ! I selected that BIOS menu item, and it gave me an ANSI style text display, with the Hard drive partitions recognized by MS-Windows (ie ONLY the C: drive showed up). However when I navigated in the C: drive to where the unzipped BIOS download was located, it refused to install it, saying “the boot loader is invalid” (or some error to that effect). Arrrrggggg … I was hoping this would be easy ! … NOT !

**REBOOT TO LINUX - SURF - DOWNLOAD AGAIN
**
So I exited the BIOS update utility, rebooted to openSUSE Linux, and surfed the web with firefox on that error and Asus bios. Turns out MANY people have encountered it. And it turns out the ASUS EZ Flash 2 utility in BIOS does NOT like an NTFS drive. A surprising number users had totally broken their PCs boot capability (with NO BIOS showing up - no boot ! after a failed BIOS attempt). NOT inspiring. I noted THE solution if one encountered that was to open up the PC, remove the battery, re-insert the battery, and a boot worked. I hoped it did NOT come to that for me. … I read some more and noted since NTFS was not workable for the ASUS EZ Flash 2 utility, that a FAT32 worked fine. Great, but I had not FAT32 and I was not keen on creating one just to update my BIOS. Another solution was to boot to a Floppy drive. GREAT, but I don’t have a floppy drive. Now I could ‘fool’ my openSUSE into thinking it had a floppy and boot to DOS via this method: User : Oldcpu/Boot DOS without Floppy - openSUSE … but before trying that, I noted some users had succeeded updating their BIOS from a FAT16/FAT32 formatted USB stick.

SETUP USB STICK

So I downloaded the BIOS 1108 (for my motherboard) from the ASUS site to a USB stick. I uncompressed the ZIP file on the USB stick (extracting the file inside).

**REBOOT TO BIOS - 2nd ATTEMPT
**
I then rebooted with the USB stick in place, and again entered the BIOS > TOOLS > ASUS EZ Flash 2 utility. This time I noted my USB stick was identified (it was called a D: drive). So I navigated in the ANSI menu of the ASUS EZ Flash 2 utility to the USB stick, and once on the USB stick navigated to where the unzipped 1108 BIOS update file was located. Selected it. The BIOS utility checked its quality, confirmed it ok, asked me to confirm to go ahead.

I said a few Hail Mary’s (and did a few other things for good luck) and then said YES.

The old BIOS was noted being removed <gulp>, the new BIOS installed, the new BIOS verified, and some more info painted the screen, until finally the update was noted as complete.

CHECK NEW BIOS SETTINGS

I then rebooted the PC. The PC stopped when the BIOS came up, noting I had a chose to go to BIOS setup, or go to BIOS default. Which to choose ? Then I read if I select SETUP old settings would be restored. THAT was what I wanted (I wanted my old settings). So I selected that, and the updated BIOS came up. Version 1108 in place (and my old 0504 was gone).

I then compared every BIOS entry against what I had on my digital camera. EVERYTHING was identical except:
(1) boot order was all wrong - I had to fix that,
(2) there were a couple new menu items that were not there before - I took the default values.

I then saved the BIOS changes, rebooted and openSUSE-11.3 (which I am still using) came up and booted ok! :slight_smile:

Once again a happy camper. Its possible the ‘Hail Mary’s’ were not necessary. :\

**FINAL CONFIGURATION
**
I note I now get this with “inxi -F” on this PC:


System:    Host: core-i7 Kernel: 2.6.34.10-0.2-default x86_64 (64 bit) 
           Desktop KDE 4.4.4 Distro: openSUSE 11.3 (x86_64) VERSION = 11.3
Machine:   Mobo: ASUSTeK model: P6T DELUXE V2 version: Rev 1.xx **Bios: American Megatrends version: 1108 date: 09/21/2010**
CPU:       Quad core Intel Core i7 CPU 920 (-HT-MCP-) cache: 8192 KB flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) 
           Clock Speeds: 1: 1600.00 MHz 2: 1600.00 MHz 3: 1600.00 MHz 4: 1600.00 MHz 5: 1600.00 MHz 6: 1600.00 MHz 7: 1600.00 MHz 8: 1600.00 MHz
Graphics:  Card: nVidia GT200 [GeForce GTX 260] 
           X.Org: 1.8.0 drivers: nvidia (unloaded: nouveau,vesa,fbdev,nv) Resolution: 1920x1200@50.0hz 
           GLX Renderer: GeForce GTX 260/PCI/SSE2 GLX Version: 3.3.0 NVIDIA 280.13
Audio:     Card-1: Intel 82801JI (ICH10 Family) HD Audio Controller driver: HDA Intel Sound: ALSA ver: 1.0.22.1
           Card-2: Logitech driver: USB Audio
Network:   Card-1: Marvell 88E8056 PCI-E Gigabit Ethernet Controller driver: sky2 
           IF: eth1 state: down speed: N/A duplex: N/A mac: 00:24:8c:7e:ee:38
           Card-2: Marvell 88E8056 PCI-E Gigabit Ethernet Controller driver: sky2 
           IF: eth0 state: up speed: 1000 Mbps duplex: full mac: 00:24:8c:7e:ee:39
Drives:    HDD Total Size: 1500.3GB (63.3% used) 1: /dev/sda ST31500341AS 1500.3GB 
Partition: ID: / size: 29G used: 13G (45%) fs: ext4 ID: /home size: 1.2T used: 854G (76%) fs: ext4 
           ID: swap-1 size: 6.82GB used: 0.00GB (0%) fs: swap 
Sensors:   System Temperatures: cpu: 45.5C mobo: 46.0C gpu: 55C 
           Fan Speeds (in rpm): cpu: 1962 psu: 0 sys-1: 0 sys-2: 0 sys-3: 0 
Info:      Processes: 239 Uptime: 0:29 Memory: 607.0/5974.0MB Client: Shell inxi: 1.7.23

oldcpu wrote:
> Indeed it varies from PC manufacturer to PC manufacturer as to how one
> updates their BIOS.

Does anybody know if there’s a list anywhere of which manufacturers
support which BIOS update mechanisms?

After some horrible experiences - I did need to flash 3 BIOSes from a floppy disk and all failed - I’ve become a build-it-yourself-believer and have always bought motherboards with a BIOS with built in update utility. Never regretted.

On 09/26/2011 03:16 PM, Knurpht wrote:

> I’ve become a build-it-yourself-believer
> and have always bought motherboards with a BIOS with built in update
> utility. Never regretted.

wow! i didn’t know there was such a thing…what magic words should i
look for in the spec text? (i may build up a box this winter…)


DD

I don’t know the ‘magic words’ but this is what it looks like in my ASUS P6T Deluxe V2 BIOS under ‘tools’ menu:
http://thumbnails35.imagebam.com/15116/f95a11151151977.jpg](http://www.imagebam.com/image/f95a11151151977)
[click on image above for larger view]

and when the BIOS “ASUS EZ Flash 2” menu item is selected:
http://thumbnails47.imagebam.com/15116/c2bf47151151985.jpg](http://www.imagebam.com/image/c2bf47151151985)
[click on image above for larger view]

I think that Ansi menu driven display is pretty obvious. One navigates their file system to find the BIOS update file that was downloaded.

The ASUS motherboard box is in 7 different languages with NO mention on the motherboard box of that feature. If one looks in the owners manual, the spec page states there is a “ASUSE EZ Flash 2” … which does not explain much ! Fortunately there is an ENTIRE chapter in the motherboard user’s manual devoted to the BIOS, including how to update (listing the various options). Of course, who (but me) reads the users’ manual ? :smiley:

maybe it is ‘standard’ on newer Asus boards…thanks for the info.


DD

Sadly, it is not. You would think BIOS manufacturers would include this with every BIOS, or the Function key during POST alternative that launches the same. But no.

As a complete aside: Dell makes BIOS updates for their servers available as a Linux binary - you just ran it and done. It just works. In fact they have repos you can use for Red Hat, Suse, etc. which will install firmware update tools for servers, storage arrays, etc. They make is very easy:
Dell Linux BIOS Update Documentation

It appears they are also using libsmbios to install .hdr BIOS updates which can be downloaded from Tech/libsmbios dellBiosUpdate - DellLinuxWiki

Interestingly, these packages are also available in the OSS repo:


S | Name                      | Summary                                            | Type   
--+---------------------------+----------------------------------------------------+--------
  | libsmbios-bin             | The "supported" sample binaries that use libsmbios | package
  | libsmbios-devel           | development headers and archives                   | package
  | libsmbios-unsupported-bin | Unsupported sample binaries using libsmbios        | package
  | libsmbios2                | Libsmbios shared libraries                         | package

And modinfo dell_rbu and dcdbas shows the kernel modules needed to update Dell BIOS is included with the 2.6.37.1-1.2-desktop kernel - nice.

I wish BIOS manufactures and OEMs followed this example and made such tools for Linux as available as Dell. Clearly the capability is there and with such tools as the above, could be readily implemented.

Cheers,
Pete