我已经在联想 Thinkpad R500 2732 上安装了 Ubuntu,并且必须更新 BIOS。
在联想网站上,我看到了以下内容:
适用于 Windows 7(32 位、64 位)、Vista(32 位、64 位)、XP 的 BIOS 更新可启动 CD - ThinkPad R500
我想我确实需要一张可以进行 BIOS 更新的可启动 CD。(不过仍然想知道为什么它会说“Windows”......如果它是可启动的,它不应该与操作系统无关吗?)
因为不想浪费 CD,所以我将图像复制到了我的 USB 记忆棒上:
sudo dd if=/home/nico/7yuj40uc.iso of=/dev/sdb1 bs=1M
确保 USB 位于启动顺序的第一位后,重新启动。
问题:无法启动。我是不是忘了一步?
ls -lh 7yuj40uc.iso
25M
file 7yuj40uc.iso
/home/nico/7yuj40uc.iso: # ISO 9660 CD-ROM filesystem data '7YUJ40US ' (bootable)
(向右滚动:显示“可启动”)
- UNetbootin 不起作用,因为它不是 Linux 映像。
- 网上有些人建议复制 ISO 的内容并执行其他步骤。此 ISO 没有任何 ISO 内容,因此无法使用。如果我挂载 ISO,我可以看到它包含零个文件。
答案1
https://wiki.archlinux.org/index.php/ThinkPad_Edge有以下过程:
- 抓取并解开https://gna.org/projects/grub4dos/(维基百科有一个旧链接)
- 在 grub4dos 目录中,
sudo ./bootlace.com /dev/sdb
cp grldr /media/USBSTICK
cp menu.lst /media/USBSTICK
cp /path/to/7yuj40uc.iso /media/USBSTICK
最后,你必须将以下代码添加到你的 pendrive 上的 menu.lst 中,以使 USB-Stick 启动由 lenovo 制作的 PC DOS 程序:
title Thinkpad-BIOS-UPDATE
find --set-root /7yuj40uc.iso
map /7yuj40uc.iso (0xff) || map --mem /7yuj40uc.iso (0xff)
map --hook
chainloader (0xff)
boot
就是这样了。
答案2
当我尝试从 Lenovo 的可启动 CD 的 iso 制作可启动的 USB 盘来刷新 Thinkpad X1 Carbon 的 BIOS 时,chx 的答案不起作用。Unetbootin、multiusb 等也不起作用,正如问题中所述。有效的方法是获取脚本盖特托里托,提取所谓的可启动映像并将该映像 dd 到 USB 闪存盘。可能还有许多其他工具可以从 CD 中提取 bootabe 映像,例如,ubuntu 的 genisoimage 包含一个二进制 geteltorito。
./geteltorito.pl -o g.img gruj08us.iso
dd if=g.img of=/dev/sdX bs=1M
# use lsblk to get the device, e.g., sdb; Not the partition, e.g., sdb1
# bs=1M is not necessary, just for speed
要查看映像,请获取其中包含的文件系统的偏移量(例如,使用 fdisk),然后使用该偏移量挂载映像,
fdisk g.img
> p
# if the sector size is 512, the start of the filesystem at sector 32,
# 32 x 512 = 16384
mount -o loop,offset=16384 g.img /mount/point/