Dd

將磁碟映像刻錄到 USB

  • April 19, 2017

我正在按照指南製作一個簡單的引導載入程序。它生成一個文件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-i386qemu-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 啟動?

出於某種原因,我創建它的步驟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

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