当前位置: 首页>>技术教程>>正文


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

, ,

问题描述

我已经在vista笔记本电脑上安装了Ubuntu 11.10,但戴尔正在提供.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

最佳解决思路

编辑2015年10月

在post-Win7时代,这个答案已经过时了。先看看其他答案。除非你有时间燃烧,否则不要再读。

发布到这个问题的其他答案可能适用于较旧的硬件,但是在我升级戴尔Inspiron 7520(2012年版)的BIOS体验之后,我发布了这个问题。检查非官方戴尔支持网站上的日期表明,这可能也适用于自2010年甚至更早的其他戴尔型号。

第一步是获取有关当前系统的信息。在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 web site并下载适用于您的特定计算机的相应驱动程序。

到目前为止一切顺利,但您会注意到下载是Windows可执行文件。正如这不能在Ubuntu(或任何其他Linux)下运行,它也不会在Windows的旧版本下运行,特别是MS-DOS或MS-DOS的任何仿真。尽管在下载页面上可能会说有关于与早期版本的Windows兼容的任何内容;使用任何传统的DOS-type环境,.exe运行,但退出时不做任何事情,除了打印出恼人的消息。

所以,有趣的是:您需要一个Windows 7(或更高版本)环境才能运行BIOS升级。我们如何在single-boot Ubuntu机器(甚至是运行传统Windows的计算机,如XP)上做到这一点?

此时的关键因素是Windows 7修复盘。有几种方法可以获得一个,包括从互联网上购买一个,或与拥有Windows 7计算机的人交朋友。如果你很幸运,你的计算机制造商将你的盒子捆绑在一起。我选择在我的Ubuntu机器上制作一个,使用在VirtualBox中运行的Windows 7副本,调整从this web site制作救援盘的说明。

好消息是,从哪个版本的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. 通过键入其名称运行该文件(注意选项卡auto-completion工作:))。

  7. 从那里,只需按照on-screen说明操作,并确保您的计算机在升级完成时保留powered-on。

请注意,在返回到Ubuntu启动屏幕之前,有两个自动重新启动。

次佳解决思路

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

来自戴尔网站:

  1. 从dell.com下载适用于您的硬件的WIndows /DOS BIOS安装程序

  2. 下载最新的SystemRescueCD并将其刻录到空白CD或将其安装到USB flash drive

  3. 将Windows /DOS BIOS安装程序复制到FAT格式的USB memory 棒或安装了SystemRescueCD的USB memory 棒。

  4. 从CD或闪存驱动器启动。

  5. 选择在软盘映像菜单中从FreeDOS启动。

  6. 确保不加载HIMEM和EMM386内存管理器。

  7. 更换为USB memory 棒(通常为C:如果您的硬盘上没有任何FAT分区)。

  8. 运行安装程序

运行E7240机器的A14更新时的示例。

dell,bios,ubuntu

第三种解决思路

戴尔有一个非常好的实用程序,可以下载并将最新的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支持部门发送电子邮件,询问他们是否弃用此方法,或者是否存在任何问题。

第四种思路

首先,除非存在需要更新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

第五种思路

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

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

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

它没有任何问题,对我有用。

第六种思路

我没有使用任何外部驱动器的7步幸福

我最近使用CLI在Linux Mint 17 KDE(= Ubuntu 14.04 LTS Trusty Tahr)下将戴尔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 Support Page下载适用于您的特定设备的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

第七种思路

适用于较旧的戴尔机器

我有一台旧的戴尔桌面(Dimension E520,大约在2006年),运行Ubuntu。要更新BIOS,我从Dell下载了所需的.exe。然后我尝试使用以下命令运行它:

  1. 使用带FreeDos的USB驱动器。机器无法启动进入FreeDos,它给出了设备未就绪错误。

  2. SystemRescueCD – 与上面1)相同的问题。

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

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

最后,戴尔支持论坛上的I tried the method outlined here

  1. Download the Dell Diagnostic Distribution Package (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. 选择Create a Bootable CD选项(还有一个安装到Flash Drive选项,但我没试过这个)。

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

第八种思路

最近的戴尔BIOS有一个内置升级模块。

  1. 从Dell网站下载相应的.EXE升级程序。

  2. 将此文件写入USB驱动器。

  3. 插入所说的USB驱动器并重启。 (注意:如果您的计算机以UEFI模式启动,您可以将.EXE放在/boot /efi分区中:应该自动找到它)

  4. 出现Dell徽标时,按F12进入One-time启动菜单

  5. 在此菜单中,选择Bios Flash Update。如果未显示此条目,则您的BIOS没有内置升级模块。

  6. 在升级模块中,找到USB磁盘上的.EXE升级程序。

  7. 启动升级过程。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2864.html,未经允许,请勿转载。