將磁碟映像刻錄到 USB

將磁碟映像刻錄到 USB

我正在跟進製作簡單引導程式的指南。它產生一個檔案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/sdcqemu-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

相關內容