编辑于 2015 年 10 月

编辑于 2015 年 10 月

我已经在 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

答案1

编辑于 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、服务标签和快速服务代码等关键信息。

掌握以上信息后,请访问戴尔网站并下载适合您的特定计算机的驱动程序。

到目前为止一切顺利,但你会注意到下载的是 Windows 可执行文件。正如它不能在 Ubuntu(或任何其他 Linux)下运行一样,它也不能在旧版 Windows 下运行,特别是 MS-DOS 或任何 MS-DOS 模拟版本。尽管下载页面上说它与早期版本的 Windows 兼容,但情况仍然如此;使用任何传统的 DOS 类型环境,.exe 都会运行,但会退出,除了打印出一条烦人的消息外不执行任何操作。

那么,有趣的部分来了:您需要 Windows 7(或更高版本)环境才能运行 BIOS 升级. 那么我们如何在单启动 Ubuntu 机器上(或者甚至是运行旧版 Windows,如 XP 的计算机)做到这一点?

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

好消息是,修复盘来自哪个版本的 Windows 7 似乎并不重要。由于这是 BIOS 升级,因此如果您的计算机是 64 位的,则使用 32 位还是 64 位版本都无关紧要。

有了 Windows 7 修复盘后,剩下的就简单了。您可以根据需要将其制作成可启动的 USB,但如果您的机器有 CD 驱动器,则无需这样做。步骤如下:

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

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

答案2

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

来自戴尔网站:

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

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

在此处输入图片描述

答案3

Dell 有一个非常实用的实用程序,可以下载最新的 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

请注意:我自己还没有测试过这个,您可以先给戴尔支持部门发一封电子邮件,询问他们这种方法是否已被弃用或者是否存在任何问题。

注意:截至 2020 年,这已过时。firmware-addon-dell 不适用于 Ubuntu 20.04,并且最后一次提交到 firmware-addon-dell 的 github repo (https://github.com/dell/firmware-addon-dell) 于2011年。

答案4

无需使用任何外部驱动器即可获得幸福的 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. 从以下网址下载适用于您特定设备的 BiosUpdateFile.exe(我的情况是 E6500A29.exe)DELL 支持页面

  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

相关内容