如何更新戴尔笔记本电脑的BIOS?


33

我已经在Vista笔记本电脑上安装了Ubuntu 11.10,但是Dell以.exe格式提供BIOS更新,当前我的BIOS版本是A09,但在驱动程序下载站点上,BIOS的最新版本是A011。

帮助我更新BIOS。

我的笔记本电脑信息:

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

运行时sudo update_firmware,出现以下错误集:

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

Answers:


30

编辑2015年10月

在Win7之后的时代,这个答案已经失去了作用。首先看看其他答案。除非您有时间刻录,否则请勿继续阅读。

该问题的其他答案可能也适用于较旧的硬件,但是在升级Dell Inspiron 7520(2012年年份)的BIOS经验之后,我发布了此答案。在非官方的Dell支持网站上查看日期表明,这也可能适用于2010年或更早以来的其他Dell型号。

第一步是获取有关当前系统的信息。在Ubuntu中,您可以使用以下两个命令检查BIOS版本:

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

查询制造商的网站时,您需要有关计算机硬件的信息。对于戴尔来说,它通常以服务标签和快速服务代码的形式印在底面上。如果这不容易阅读,则可以通过以下方式获取信息:

1)安装libsmbios:

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

2)从系统获取服务选项卡等:

sudo getSystemId

这将产生如下输出:

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: 

以及BIOS版本中的关键信息,系统ID,服务标签和快速服务代码。

有了上述信息,请访问Dell网站并为您的特定计算机下载适当的驱动程序。

到目前为止一切顺利,但是您会注意到下载是Windows可执行文件。就像它不能在Ubuntu(或任何其他Linux)下运行一样它也不会在旧版Windows(尤其是MS-DOS或MS-DOS的任何仿真版本)下运行。尽管可以在下载页面上说出有关与Windows早期版本兼容的任何信息;使用任何旧式DOS类型的环境,.exe都可以运行,但是除了打印出令人讨厌的消息外,什么都不做就退出。

因此,有趣的是:您需要Windows 7(或更高版本)环境才能运行BIOS升级。以及如何在单启动Ubuntu计算机(甚至是运行旧版Windows(如XP)的计算机)上执行此操作?

此时的关键要素是Windows 7修复盘。有几种获取方法,包括从Internet上的来源购买一种方法,或与拥有Windows 7计算机的人交朋友。如果幸运的话,您的计算机制造商会在您的包装盒中捆绑一个。我选择使用在VirtualBox中运行的Windows 7副本在Ubuntu计算机上制作一个,并改编了从该网站制作应急磁盘的说明。

好消息是,修复磁盘从哪个版本的Windows 7似乎并不重要。由于这是BIOS升级,如果您的计算机是64位的,则使用32位还是64位版本都没有关系。

拥有Windows 7修复盘后,其余的操作就很容易了。您可以根据需要将其放入可引导的USB中,但是如果包装盒中有CD驱动器,则没有必要。步骤如下:

  1. 将下载的BIOS升级.exe放在普通的USB闪存驱动器上。
  2. 从Windows 7修复盘重新启动计算机,Space在出现提示时,单击该栏。
  3. 导航到命令提示符。(Use Recovery Tools->Command Prompt)。
  4. 找到适合您USB的正确驱动器号(在命令行中,dir a:然后按b,c等,直到找到正确的驱动器号)。
  5. 在命令行上导航至它(用冒号键入驱动器号)。
  6. 通过输入文件名来运行文件(注意选项卡自动完成功能:)。
  7. 从那里开始,只需按照屏幕上的说明进行操作,并确保升级完成后您的计算机保持开机状态。

请注意,在返回Ubuntu启动屏幕之前,会自动进行两次重启。


3
很棒的答案,请注意发生了什么:您的问题已作为该问题的重复部分而关闭,您发布到您的帖子中的答案已移至该问题,我为该问题添加了悬赏,以奖励“过时的答案”如果没有Windows7应急磁盘,没人能找到任何其他方式来做到这一点,那将是您的责任。
布鲁诺·佩雷拉

1
感谢@Bruno,我不确定如何处理过时的答案,这就是为什么我冒着重复问题的风险,您的合并解决方案非常好。
Bobble

2
@Boble-我尝试了您的方法-当我执行BIOS文件(6430SA15.exe)时,出现错误消息:“不存在需要支持映像类型的子系统”。看来这是32/64问题:(-任何想法?
xhudik

1
戴尔可能会重新编译他们的exe文件,并且它们现在正在DOS模式下工作(如我上面提到的1条评论所述,没有win64)-表示此答案不再有用。RAOF的答案(USB上的FreeDos)帮助了我
xhudik 2015年

1
@xhudik我希望在后win7时代,戴尔已经意识到他们需要一些面向未来的产品。敢于说这是Windows 10带来的好处:) ?? 鉴于您的评论,我将编辑我的答案,以使人们不会因为现在已成为历史的好奇心而被遗忘。
2015年

23

您不需要Windows从其站点安装任何固件更新,只需按照此处发布的说明进行操作即可。

从戴尔网站:

  1. 从dell.com下载适用于您的硬件的WIndows / DOS BIOS安装程序
  2. 下载最新的SystemRescueCD并将其刻录到空白CD或将其安装到USB闪存驱动器
  3. 将Windows / DOS BIOS安装程序复制到FAT格式的USB记忆棒或安装了SystemRescueCD的USB记忆棒。
  4. 从CD或闪存驱动器引导。
  5. 在软盘映像菜单中选择从FreeDOS引导。
  6. 确保不加载HIMEM和EMM386内存管理器。
  7. 更改为USB记忆棒(通常为C:如果硬盘上没有FAT分区)。
  8. 运行安装程序

为E7240计算机运行A14更新时的示例。

在此处输入图片说明


1
这就像一种魅力,我真的不明白为什么这不能回答N°1!我下载了最新的SystemRescueCD(4.2)并创建了LiveUSB,其主页上对此进行了非常简单的说明。在fat32根目录下,只需制作一个目录(例如媒体),然后将.exe放入其中。然后从摇杆启动,然后选择“ A)运行..软盘..→FREEDOS以获取新版本。然后,我按照上面的建议6)选择了选项2)“ XMGR和UIDE ..”。对于那些谁也不知道(WIN)DOS世界:更改驱动器女巫简单c:并且在这个例子中运行cd media[updatename].exe。(Vostro 3460)
elf12 2014年

起初我以为这是行不通的,因为BIOS更新实用程序适用于Windows,但事实证明它也可以在FreeDOS中运行。凉!
gertvdijk 2015年

天哪...经过几天的尝试,终于可以了!!!
dorien 2015年

对于我将Dell D630更新到A19而言,这就像是一种魅力。我必须弄清楚这里没有提到的几件事:我选择了选项0,该选项不用于内存管理器,并且当我重新启动时还必须安装带有.exe的USB密钥,否则无法识别。
布赖恩

从A02升级到A08的Dell XPS 13 L321X失败。它声称该系统将关闭以进行“胶囊更新”,但它只是关闭电源而根本不做任何事情。
杰夫·伯吉斯

6

戴尔有一个非常漂亮的实用程序,可以将最新的BIOS下载并应用到使用Linux的计算机上。理论上,它应该可以正常运行,并且可以在Ubuntu中运行。

请访问他们的页面以获取更多信息,那里有确切的说明:

这是链接页面上的说明

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

请注意:我自己尚未对此进行测试,您可能会首先向Dell支持小组发送电子邮件,询问他们此方法是否已弃用或是否存在任何问题。


在运行sudo update_firmware即时通讯时出现错误,我在我的问题中提到了abt错误
gunjan parashar 2012年

3
这似乎不是最新的。尝试此操作时,第一条指令失败,并显示以下消息:the firmware respository is obsolete and unmaintained. Please use the OMSA repository instead for official updates.当我检查脚本时,该消息显示为第一条执行的行,后跟exit 1。纳夫说...
泡泡

现在检查了OMSA产品后,我发现在撰写本文时不提供Ubuntu支持,并且其他发行版的支持也不可靠。现在,我尝试了所有已发布的方法来执行此操作,除了在系统上重新安装Windows 之外,由于没有安装盘,我无法执行此操作(我也擦除了安装分区...)。
Bobble

4

首先,除非有特定问题需要BIOS更新来解决(例如,激活虚拟化技术),否则我不会更新BIOS。

如果BIOS更新失败,则可以为您的计算机增加纸张重量。

我个人使用FreeDOS,尽管还有其他选择。

我将其放在带有unetbootin的闪存驱动器上,然后将bios_update.exe添加到闪存驱动器。

然后,您从USB启动,并在DOS命令提示符下运行bios_update.exe。

如果可以引导USB,则可以刻录CD。

Arch Wiki包含许多其他选项,提供了丰富的信息。

参见:https : //wiki.archlinux.org/index.php/Flashing_BIOS_from_Linux


谢谢,我不会更新,因为我没有遇到任何此类问题
gunjan parashar 2012年

4

最近的Dell BIOS具有内置的升级模块。

  1. 从Dell网站下载适当的.EXE升级程序。
  2. 将此文件写入USB驱动器。
  3. 插入所述USB驱动器,然后重新启动。(注意:如果您的计算机以UEFI模式启动,则可以将.EXE放在/ boot / efi分区中:应自动找到它)
  4. 当出现Dell徽标时,按F12键进入“一次性启动菜单”
  5. 在此菜单中,选择“ BIOS更新”。如果未出现此条目,则说明您的BIOS没有内置升级模块。
  6. 在升级模块中,找到USB磁盘上的.EXE升级程序。
  7. 启动升级过程。

3

我最近想在Dell Inspiron 1525上更新BIOS。

根据戴尔的说法,http://linux.dell.com/repo/firmware/已死,不应该使用-“ OBSOLETE!社区支持的Dell固件存储库OBSOLETE!”

而是使用openmanage存储库http://linux.dell.com/wiki/index.php/Tech/libsmbios_dellBiosUpdate

它对我没有任何问题。


我完成了Dell Wiki中概述的过程的第2步,但是我无法继续进行第3步,因为我发现所需的头文件不在存储库中。实际上,至少有18个月(撰写本文的时间是2013年1月),似乎没有BIOS升级发布到存储库。
Bobble

我使用了“最新”版本(该版本在18个月前更新)。我的笔记本电脑大约有5年的历史,因此对我来说似乎是新的。我在2012年5月
前后

1
截至20150415年,Openmanage回购为404
Broam

3

不使用任何外部驱动器的“我的7个幸福步骤”

我最近通过Linux Mint 17 KDE(= Ubuntu 14.04 LTS Trusty Tahr)在CLI下将Dell Latitude E6500的BIOS从A27版本更新为A29,这对我来说非常有效:

  1. 下载所需的DELL软件 sudo apt-get install firmware-addon-dell smbios-utils wine
  2. 检查您的BIOS版本:sudo dmidecode -s bios-version我的输出:A27

  3. DELL支持页面下载适用于特定设备的BiosUpdateFile.exe(在我的情况下为E6500A29.exe)。

  4. 切换到嵌套E6500A29.exe的目录,并使用以下命令从其中提取* .hdr文件: wine E6500A29.exe -writehdrfile

  5. 更新BIOS: sudo dellBiosUpdate -u -f E6500A29.hdr

  6. 重启: sudo reboot now

  7. 再次检查您的BIOS版本:sudo dmidecode -s bios-version我的输出:A29


我在旧的Dell D630上尝试过此操作,但没有成功更新到A19。硬件可能太旧了。BIOS更新程序安装的所有内容均表示运行时找不到固件。
布赖恩

3

对于较旧的Dell机器

我有一个运行Ubuntu的旧Dell台式机(尺寸E520,约于2006年)。要更新BIOS,我从Dell下载了所需的.exe。然后,我尝试使用以下命令运行它:

  1. 将USB驱动器与FreeDos一起使用。该计算机无法启动进入FreeDos,并且出现了设备未就绪错误。

  2. SystemRescueCD-与上述1)相同的问题。

  3. 使用Windows 7 64位安装光盘,启动到Windows命令提示符环境,但返回错误“不存在图像类型”。

  4. 在另一个线程中,我发现可以使用32位Windows光盘克服3)中的错误。所以我再次尝试了32位。这次exe运行了,单击了提示等,没有错误消息,但是BIOS没有更新。

最后,我尝试了Dell支持论坛上此处概述的方法

  1. 下载Dell诊断分发程序包(DDDP)

  2. 运行DDDP并按照提示进行操作

  3. 导航到提取所创建的DIAGS文件夹

  4. 除以下内容外,从DIAGS文件夹中删除所有文件:

    COMMAND.COM,DELLBIO.BIN,DELLRMK.BIN,AUTOEXEC.BAT和CONFIG.SYS

  5. 将BIOS .exe添加到DIAGS文件夹

  6. 导航到C:\ Dell \ Drivers \ R174621 \,然后运行DDDP .exe。

  7. 选择“创建可启动CD”选项(也有“安装到闪存驱动器”选项,但我没有尝试过)。

  8. 将CD装入机器。重新启动,F12,从CD启动并运行BIOS .exe。


您是如何“运行DDDP”的?您必须已启动Windows,还是.... ??
汤米·特鲁塞尔

对对对!!试过Windows修复8磁盘,但得到了“子系统不支持”等。。。这个答案在第一次尝试中一直很有效,而且非常快速的USB可引导性也很不错。@TommyTrussell,我在另一台计算机上运行DDDP以创建USB闪存。对于较新的机器,此答案也可能很棒。
crokusek

1

您是否看过DellBIOS-Ubuntu Wiki文章?它似乎非常详尽,可以回答您的问题。


2
欢迎来到Ask Ubuntu!虽然从理论上讲这可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。
Ringtail 2013年

1
实际上,这是我这样做时尝试的第一件事。不,它至少不适用于我的计算机,因为Dell biosdisk基于FreeDOS,并且最近(即2010年后)的Dell BIOS升级可以在Windows 7版本的DOS上运行。请在此主题的其他地方查看我的评论。公平地说,您提供的链接是我获取有关从中获取BIOS信息的一些提示,因此并非所有信息都已过时。
Bobble


1

在较新的机器上,我相信2015年之后,您可以简单地将.exe更新程序(即使官方描述仅提及Windows)放入/boot/efi/,重新启动,按F12键,然后选择Flash BIOS升级。我使用XPS 15 9950做到了这一点,它的工作就像一个魅力。另请参阅BIOS更新Dell

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.