我正在跟進這製作簡單引導程式的指南。它產生一個檔案disk.img
。
$ dd if=/dev/zero of=disk.img bs=1024 count=1440
$ dd if=vbr.bin of=disk.img count=512 conv=notrunc
$ file disk.img
disk.img: DOS/MBR boot sector
運行qemu-system-i386
並正常qemu-system-x86_64
啟動disk.img
,顯示所需的文字。
我希望能夠啟動我的實際的PC進入這個「作業系統」。我想我可以簡單地運行:
$ dd if=disk.img of=/dev/sdc1
……然後重新啟動我的電腦,Boot from USB
在 BIOS 中進行選擇,但我收到此錯誤:
Invalid partition table!
然而,運行qemu-system-i386 /dev/sdc
並qemu-system-x86_64 /dev/sdc
工作正常。
如何寫入disk.img
我的 USB 記憶棒,以便它能夠從我的實際 BIOS 啟動?
答案1
由於某種原因,我所採取的創建步驟disk.img
使其disk.img
只能正確寫入軟碟。但是,完全消除圖像檔案(直接寫入 USB)是可行的(確保您使用的/dev/sdX
是而不是/dev/sdXY
):
$ dd if=/dev/zero of=/dev/sdc bs=1024 count=1440
$ dd if=vbr.bin of=/dev/sdc count=512 conv=notrunc