无需 MS Windows(或软盘驱动器)即可更新 BIOS

无需 MS Windows(或软盘驱动器)即可更新 BIOS

我正在运行 Kubuntu 12.04。我需要更新我的主板 BIOS。这Arch Linux 维基说:“到目前为止,制作可启动 FreeDOS USB 记忆棒的最简单方法是使用unetbootin。”所以我就这么做了。

使用 UNetbootin 我成功地在 U 盘上安装了 FreeDOS 1.0 (fdboot.img)。

然而,现在我很难弄清楚如何添加文件以便我可以从 FreeDos 访问它们。

Arch Linux wiki 说:“最后,您可以复制想要刷新的所有内容(BIOS、固件等)。”我这样做了,然后重新启动进入 FreeDos。这些文件无处可寻。我有一个“A:>”提示符,仅包含 FreeDos 系统文件。没有其他可用的驱动器,并且无法找到我复制到 USB 记忆棒根目录的文件。

顺便说一句,我的 BIOS 映像大小为 4.0 MB。

答案1

如果图像对于软盘来说太大,相同的 Arch Linux wiki有说明。

如果您的闪存映像对于软盘来说太大,请转至FreeDos 启动盘网站,然后下载 10Mb 硬盘映像。该映像是完整的磁盘映像,包括分区,因此添加闪存实用程序会有点棘手:

# modprobe loop
# losetup /dev/loop0 <image-file>
# fdisk -lu /dev/loop0

您现在可以做一些简单的数学计算:块大小(通常为 512)乘以第一个分区的开头。在撰写本文时,第一个分区从块 63 开始。这意味着分区从偏移量 512 * 63 = 32256 开始:

# mount -o offset=32256 /dev/loop0 /mnt

现在您可以像平常一样将闪存实用程序复制到文件系统上。

完成后:

# umount /mnt
# losetup -d /dev/loop0

现在可以将映像复制到 USB 记忆棒以进行启动,或按照正常说明作为内存盘启动。

检查设备是否未挂载:

lsblk

复制图像:

sudo dd if=/location/of/the/img/file.img of=/dev/sdx

笔记:

  • 确保先卸载设备。
  • 对于每个插入的设备,“sdx”中的“x”是不同的。如果将硬盘的设备文件与闪存驱动器的设备文件混合,您可能会覆盖硬盘!
  • 确保它是“sdx”而不是“sdxn”,其中“n”是数字,例如“1”和“2”。

相关内容