フォローしていますこれシンプルなブートローダを作成するためのガイドです。ファイルを生成します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 を選択して PC を再起動しましたが、次のエラーが発生します。
Invalid partition table!
ただし、実行しqemu-system-i386 /dev/sdc
てqemu-system-x86_64 /dev/sdc
正常に動作します。
disk.img
実際の BIOS から起動するように USB スティックに書き込むにはどうすればよいでしょうか?
答え1
disk.img
何らかの理由で、私がを作成するために実行した手順では、はフロッピーにのみ適切に書き込むことができます。ただし、イメージ ファイルを完全に削除する (USB に直接書き込む) と、うまくいきました (の代わりにdisk.img
を使用していることを確認してください)。/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