Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have installed Ubuntu 11.10 on a vista laptop, but Dell is providing the BIOS update in .exe format currently my bios version is A09 but on the driver download site the latest version of bios is A011.

Help me out to update the bios.

My laptop information:

Libsmbios version:      2.2.28
Product Name:           Studio 1537
Vendor:                 Dell Inc.
BIOS Version:           A09
System ID:              0x029F
Service Tag:            HBVV2BS
Express Service Code:   37723945096

Upon running sudo update_firmware I get the following set of errors:

E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2919-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2919
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2930-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2930
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2929-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2929
E: Unable to locate package pci-firmware-ven-0x1180-dev-0x0832-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x1180-dev-0x0832
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x294a
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2448
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2946
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2940
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2942
E: Unable to locate package pci-firmware-ven-0x1002-dev-0xaa28-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x1002-dev-0xaa28
E: Unable to locate package pci-firmware-ven-0x1002-dev-0x95c4-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x1002-dev-0x95c4
E: Unable to locate package pci-firmware-ven-0x14e4-dev-0x1698-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x14e4-dev-0x1698
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2936-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2936
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2935-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2935
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2934-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2934
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x293a-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x293a
E: Unable to locate package pci-firmware-ven-0x1180-dev-0x0822-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x1180-dev-0x0822
E: Unable to locate package pci-firmware-ven-0x1180-dev-0x0592-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x1180-dev-0x0592
E: Unable to locate package pci-firmware-ven-0x1180-dev-0x0852-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x1180-dev-0x0852
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x4232-subven-0x8086-subdev-0x1321
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x4232
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x293e-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x293e
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2a40-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2a40
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2937-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2937
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2938-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2938
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2939-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2939
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x293c-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x293c
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2a41-subven-0x1028-subdev-0x029f
E: Unable to locate package pci-firmware-ven-0x8086-dev-0x2a41
share|improve this question

8 Answers 8

Other answers posted to this question may work with older hardware, but I posted this after my experience of upgrading the BIOS of a Dell Inspiron 7520 (vintage 2012). Checking dates on unofficial Dell support web sites suggests that this may also apply to other Dell models since 2010 or even earlier.

The first step is to get information about your current system. In Ubuntu you can check the BIOS version with the following two commands:

sudo dmidecode -s bios-version
sudo dmidecode -s bios-release-date

You need information about your computer's hardware when querying the manufacturer's website. For Dell this is often printed somewhere on the underside in the form of a Service Tag and an Express Service Code. If this is not easy to read, the information can be obtained in the following way:

1) Install libsmbios:

sudo apt-get update
sudo apt-get install libsmbios-bin

2) Get the service tab etc. from the system:

sudo getSystemId

This will produce output like this:

Libsmbios version:      2.2.28
Product Name:           Inspiron 7520
Vendor:                 Dell Inc.
BIOS Version:           ANN
System ID:              0xNNNN
Service Tag:            NABCDEFN
Express Service Code:   NNNNNNNNNN
Asset Tag:              
Property Ownership Tag: 

with the key information in the BIOS version, the System ID, the Service Tag, and the Express Service Code.

Armed with the above information, go to the Dell web site and download the appropriate driver(s) for your particular computer.

So far so good, but you will notice that the download is a Windows executable. Just as this cannot be run under Ubuntu (or any other Linux), it also will not run under legacy versions of Windows, in particular MS-DOS or any emulation of MS-DOS. This is in spite of anything it may say on the download page about being compatible with earlier versions of Windows; using any legacy DOS-type environment the .exe runs, but exits without doing anything except printing out an annoying message.

So, here comes the fun bit: you need a Windows 7 (or later) environment in order to run the BIOS upgrade. And how do we do that on a single-boot Ubuntu machine (or even a computer running legacy Windows, like XP)?

The key ingredient at this point is a Windows 7 Repair Disk. There are several ways to obtain one, including buying one from sources on the internet, or making friends with someone who has a Windows 7 computer. If you are lucky your computer manufacturer bundled one with your box. I chose to make one on my Ubuntu machine, using a copy of Windows 7 running in VirtualBox, adapting the instructions for making a rescue disk from this web site.

The good news is that it does not seem to matter which version of Windows 7 the Repair Disk is obtained from. Since this is a BIOS upgrade it does not even matter whether you use 32-bit or 64-bit versions if your computer is 64-bit.

Once you have a Windows 7 Repair Disk, the rest is easy. You can make it into a bootable USB if you wish, but if your box has a CD drive this is unnecessary. Here are the steps:

  1. Put the downloaded BIOS upgrade .exe on an ordinary USB flash drive.
  2. Reboot you computer from the Windows 7 Repair Disk, hit the Space bar when prompted.
  3. Navigate to the command prompt. (Use Recovery Tools->Command Prompt).
  4. Find the correct drive letter for your USB (on the command line dir a: then b, c, etc. till you find the right one).
  5. Navigate to it on the command line (type the drive letter with colon).
  6. Run the file by typing its name (note tab auto-completion works :)).
  7. From there, just follow the on-screen instructions, and make sure your computer stays powered-on while the upgrade completes.

Note there are TWO automatic reboots before you get back to your Ubuntu startup screen.

share|improve this answer
Awesome answer, please note what just happened: your question got closed as a duplicate of this one, the answer you posted to your post got moved to this question, I have added a bounty to the question for "outdated answers" reason, the bounty will probably be yours if no one finds any other way of doing this without the Windows7 rescue disk. –  Bruno Pereira Jan 8 '13 at 15:39
Thanks @Bruno, I was not sure how to deal with the outdated answers which is why I risked duplicating the question, your solution of merging is excellent. –  Bobble Jan 8 '13 at 16:09
Added more detail about the download process and the upgrade process after doing this a second time with a new BIOS upgrade (A09). I confirm while the Dell download site says the file works with legacy Windows/DOS systems, this is not in fact the case. So far I have only succeeded in running the download file using a Windows 7 Repair Disk. (A Windows 7 Installation disk is no use). –  Bobble Jan 11 '13 at 11:30
I was able to do it with a Windows 98 boot disc image. I loaded Dell OptiPlex 760 System BIOS A16 (2008, 2014) along with the image attached to an Ubuntu forum post attachment onto a USB flash drive. Make sure your USB drive is unmounted. For example, if it's located at /dev/sdc, copy the Win98 image to the USB drive using this command: sudo dd if=./win98usb.img of=/dev/sdc conv=notrunc Then copy over the BIOS update. [1]: –  Michael McGinnis Jan 2 at 5:44
@MichaelMcGinnis That's good news. Two years ago when I wrote my answer no Dos/Windows images that I tried would work other than Win7. I'm including Freedos, XP, and Vista, but I have to say I could not lay my hands on a convenient copy of Win'98. –  Bobble Jan 2 at 19:34

You do not need Windows to install any firmware updates from their site, just follow the instructions posted here.

From the dell website:

1) Download the WIndows/DOS BIOS installer for your hardware from dell.com
2) Copy the Windows/DOS BIOS installer to a FAT formatted USB stick
3) Download the latest SystemRescueCD and burn it to a blank CD
4) Boot from the CD
5) Type in "freedos" at the boot prompt
6) When FreeDOS boots make sure you do NOT load HIMEM and EMM386
7) Change to the USB stick (typically C: if you do not have any FAT partitions on your HDD)
8) Run the installer

This worked perfect while updating the firmware of my DVD drive.

share|improve this answer
This works like a charm and i really don't understand why this is not answer N°1! I downloaded the latest SystemRescueCD (4.2) and created a LiveUSB what is explained very straight forward on their homepage. At the root of this fat32 stick simply made a dir (eg. media) and putted the .exe inside. Then boot from stick and choose "A) Run .. floppy .." → FREEDOS for this new version. I then chose option 2) "XMGR and UIDE.." obeying advice 6) from above. For those who don't know (WIN)DOS world: Change drive witch simple c: and run in this example cd media and [updatename].exe. (Vostro 3460) –  elf12 May 27 '14 at 18:41

Dell has a very nifty utility to download and apply latest BIOS to their computers that are using Linux. It should theoretically run without any problems and you can run it in Ubuntu.

Please visit their page for more information, there are precise instructions there

Here are the instructions from the linked page

sudo wget -q -O - http://linux.dell.com/repo/firmware/bootstrap.cgi | bash
sudo apt-get install firmware-addon-dell
sudo apt-get install $(bootstrap_firmware -a)
sudo update_firmware

Please note: I have not tested this myself, you might first drop an email to Dell support to ask them if this method deprecated or if there are any issues with it.

share|improve this answer
on running sudo update_firmware i m getting error , i have mentioned abt the error in my ques –  gunjan parashar Feb 3 '12 at 3:09
This does not seem to be current. On trying this the first instruction fails with the following message:the firmware respository is obsolete and unmaintained. Please use the OMSA repository instead for official updates. When I checked the script the message appears as the first executed line, followed by exit 1. Nuff said... –  Bobble Dec 30 '12 at 21:29
Having now checked out the OMSA offering, I find that there is no Ubuntu support at time of writing, and support of other distros is not reliable. I have now tried all the published methods of doing this, except for reinstalling Windows on my system, which I can't do because I don't have an installation disk (I wiped the install partition, too...). –  Bobble Jan 3 '13 at 11:40

First, I would not update the BIOS unless there is a specific problem that requires a BIOS update to fix (such as activation of Virtualization technology).

If a BIOS update goes bad your computer can be rendered a paper weight.

Personally I use FreeDOS, although there are other options.

I put it on a flash drive with unetbootin and add the bios_update.exe to the flash drive.

You then boot from usb and run the bios_update.exe from the DOS command prompt.

If you can to boot a usb, you can burn a CD.

The Arch wiki has great information with several additional options.

See : https://wiki.archlinux.org/index.php/Flashing_BIOS_from_Linux

share|improve this answer
thanks , i will not update as i am not getting any such problem –  gunjan parashar Feb 3 '12 at 3:15

I wanted to update BIOS on Dell Inspiron 1525 recently.

http://linux.dell.com/repo/firmware/ is dead and should not be used, according to dell -- "OBSOLETE! Community supported Dell firmware repository OBSOLETE!"

Instead use openmanage repository http://linux.dell.com/wiki/index.php/Tech/libsmbios_dellBiosUpdate

It worked for me without any issues.

share|improve this answer
I completed step 2 of the process outlined in the Dell wiki, but I was unable to proceed beyond step 3, because I found the header file I required was not in the repository. In fact, no BIOS upgrades appear to have been published to the repository for at least 18 months (time of writing this is January 2013). –  Bobble Jan 3 '13 at 11:11
I used the "latest" one (the one updated 18 months back). My laptop is around 5 years old so that one seemed newer to me. I tried the method around May 2012, I can't recall everything right now :( –  wisemonkey Jan 11 '13 at 21:54

My 7 Steps To Happiness without using any external drives

I've recently updated the BIOS of my Dell Latitude E6500 from version A27 to A29 under Linux Mint 17 KDE (= Ubuntu 14.04 LTS Trusty Tahr) with the CLI and here is what worked very well for me:

  1. Download the needed DELL Software sudo apt-get install firmware-addon-dell smbios-utils wine
  2. Check your BIOS version: sudo dmidecode -s bios-version My output: A27

  3. Download your BiosUpdateFile.exe (in my case E6500A29.exe) for your specific device from the DELL Support Page

  4. Switch to the directory which nests your E6500A29.exe and extract the *.hdr file from it with the command: wine E6500A29.exe -writehdrfile

  5. Update BIOS: sudo dellBiosUpdate -u -f E6500A29.hdr

  6. Reboot: sudo reboot now

  7. Check your BIOS version again: sudo dmidecode -s bios-version My output: A29

share|improve this answer

Have you seen the DellBIOS - Ubuntu Wiki article?? It seems to be quite thorough and answers your question on how.

share|improve this answer
Welcome to Ask Ubuntu! Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. –  Ringtail Jan 10 '13 at 6:05
Actually that was the first thing I tried when I was doing this. No, it doesn't work at least for my machine, because the Dell biosdisk is based on FreeDOS, and the recent (i.e. post-2010) Dell BIOS upgrades are made to run on the Windows 7 version of DOS. Please see my comments elsewhere in this thread about that. In fairness, the link you gave is where I got some of the tips about getting BIOS information from, so not all the information there is out of date. –  Bobble Jan 12 '13 at 10:01

For Older Dell Machines

I have an old Dell desktop (Dimension E520 circa 2006) running Ubuntu. To update the BIOS I downloaded the required .exe from Dell. Then I tried to run it using the following:

  1. Using a USB drive with FreeDos. The machine wouldn't boot into FreeDos and it gave a Device not ready error.

  2. SystemRescueCD - same problem as 1) above.

  3. Used a Windows 7 64 bit installation disc, booted into Windows command prompt environment but an error "image type is not present" is returned.

  4. In another thread I discovered that the error in 3) can be overcome using a 32 bit Windows disc. So I tried again with 32 bit. This time the exe ran, clicked the prompts etc. and no error messages, but the BIOS wasn't updating.

Finally, I tried the method outlined here on the Dell support forums.

  1. Download the Dell Diagnostic Distribution Package (DDDP)

  2. Run the DDDP & follow the prompts

  3. Navigate to the DIAGS folder created by the extraction

  4. Remove all files from the DIAGS folder except for the following:


  5. Add the BIOS .exe to the DIAGS folder

  6. Navigate to C:\Dell\Drivers\R174621\ and run the DDDP .exe.

  7. choose the Create a Bootable CD option (there is also an install to Flash Drive option, but I haven't tried this).

  8. Load the CD into the machine. Reboot, F12, boot from CD and run the BIOS .exe.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.