为运行 debian 10 的 Thinkpad x260 更新固件时,我无法使用可启动 USB 驱动器。
到目前为止,我已采取的步骤无济于事:
从 Lenovo 支持下载了最新的 .iso。
使用 genisoimage 提取 BIOS 更新:
sudo genisoimage -o biosUpdate.img r02uj74d.iso
- 将此
.img
文件复制到 USB 驱动器:
sudo dd if=biosUpdate.img of=/dev/sdb
- 然后我重新启动,按 F12 进入启动菜单,并选择 USB 驱动器。
此时,屏幕会空白一两秒,然后返回到启动菜单。
USB 驱动器在设备列表中显示为“CDROM”。
我是否做错了什么,导致我无法从启动菜单启动 USB 驱动器?
编辑:为了清楚起见,有关如何执行此操作的多个指南都建议了上述内容。例如https://blog.raveland.org/post/thinkpad_update_bios/
答案1
https://download.lenovo.com/pccbbs/mobiles/r02uj74d.iso已经是 ISO 映像,请尝试将其直接添加到 USB。
如果它不起作用,也许您需要刻录一张实际的 CD/DVD 并从中启动。这是一个没有 UEFI 的经典 ISO 映像。
或者,我提取了他们的 Windows 更新程序并准备了文件以复制到 FAT32 格式的驱动器。只是下载文件并将其内容提取到您的 USB 驱动器。然后您可以从中启动并更新 BIOS。
答案2
我设法使用问题中的方法版本更新固件。
不同之处在于,genisoimage
我没有使用存储库中的 debian 软件包,而是使用了该软件包所基于的 perl 脚本(从https://userpages.uni-koblenz.de/~krienke/ftp/noarch/geteltorito/geteltorito/)。
将脚本替换geteltorito
为genisoimage
生成的.img
文件,当按上述方式闪存到 USB 时,该文件可以完美运行。
包裹可能有问题genisoimage
。
本指南详细介绍了使用脚本的过程:https://makandracards.com/operations/39925-lenovo-laptop-bios-update-with-linux
答案3
您可以通过编辑(或创建)文件/etc/grub.d/40_custom
并添加以下条目来创建 GRUB 菜单条目:
menuentry "BIOS Update" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
linux16 /boot/memdisk
initrd16 /boot/bios.img
}
您应该查找包含该行的现有文件exec tail <some id>
并在其下方添加条目。
笔记:
hd0,msdos1
是您的主 GRUB 分区,引导文件所在的位置。- 该文件是同名文件
memdisk
的副本。syslinux
复制到/boot
目录下。 - 该文件是您在图像上
bios.img
使用后的输出。复制到目录下。geteltorito
.iso
/boot
之后更新您的 GRUB(grub-update
命令)并重新启动您的计算机。您应该会看到一个名为的新 GRUB 菜单项BIOS更新。
更多细节:https://www.thinkwiki.org/wiki/BIOS_Upgrade#Booting_using_GRUB