我正在跟进这制作简单引导加载程序的指南。它生成一个文件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