X86

在沒有 MS Windows(或磁片驅動器)的情況下更新 BIOS

  • September 19, 2013

我正在執行 Kubuntu 12.04。我需要更新我的主機板 BIOS。Arch Linux Wiki說:“到目前為止,製作可引導的 FreeDOS USB 記憶棒的最簡單方法是使用 unetbootin。” 所以我就這麼做了。

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

但是,現在我很難弄清楚如何添加文件以便可以從 FreeDos 訪問它們。

Arch Linux wiki 說:“最後,你可以複製所有你想刷入的東西(BIOS、韌體等)。” 我這樣做了,然後我重新啟動到 FreeDos。這些文件無處可尋。我有一個“A:>”提示,只有 FreeDos 系統文件。沒有其他驅動器可用,並且找不到我複製到 U 盤根目錄的文件。

順便說一句,我的 BIOS 映像大小為 4.0 MB。

如果圖像對於磁片來說太大了,同樣的 Arch Linux wiki有說明。

如果您的快閃記憶體映像對於磁片來說太大,請訪問FreeDos 引導盤網站,下載 10Mb 硬碟映像。這個鏡像是一個完整的磁碟鏡像,包括分區,所以添加你的 flash 實用程序會有點棘手:

# 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

現在可以將映像複製到 U 盤以進行引導,或者按照正常說明將其作為記憶體磁碟引導。

檢查設備是否未安裝:

lsblk

複製圖像:

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

筆記:

  • 確保首先解除安裝了設備。
  • “sdx”中的“x”對於每個插入的設備都不同。如果您將其設備文件與快閃記憶體驅動器的設備文件混合,您可能會覆蓋您的硬碟!
  • 確保它是“sdx”而不是“sdxn”,其中“n”是一個數字,例如“1”和“2”。

引用自:https://unix.stackexchange.com/questions/91338