Operating system 如何解决;加载文件时出现错误13“;何时使用Qemu?

Operating system 如何解决;加载文件时出现错误13“;何时使用Qemu?,operating-system,qemu,kvm,Operating System,Qemu,Kvm,我将以下字节写入名为disk.img的文件 FA 8D 36 1B 7C E8 01 00 F4 AC 3C 00 74 0C B4 0E BB 07 00 B9 01 00 CD 10 EB EF C3 4D 61 79 20 74 68 65 20 66 6F 72 63 65 20 62 65 20 77 69 74 68 20 79 6F 75 21 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

我将以下字节写入名为disk.img的文件

FA 8D 36 1B 7C E8 01 00 F4 AC 3C 00 74 0C B4 0E 
BB 07 00 B9 01 00 CD 10 EB EF C3 4D 61 79 20 74 
68 65 20 66 6F 72 63 65 20 62 65 20 77 69 74 68 
20 79 6F 75 21 0D 0A 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
..enough zero to make the size of file 512bytes.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA
上面的字节是正确的指令和幻数,在加载到引导扇区时应该起作用。但在我执行“qemu-X86_64 disk.img”之后,发生了错误

加载disk.img时出现错误-13

是否有人知道如何解决问题,或者可能导致此错误的原因是什么


谢谢大家!

我不知道你是否能用任何东西来填充图像,并期望它能正常工作,仅仅因为你在正确的位置有55个AA。由于您似乎正在编写引导加载程序,请确保您的代码认为它正在正确的位置执行。它应该在偏移量0x7C0中(如果我没记错,请仔细检查thaat)。您可以使用程序集文件顶部的[org 0x7c0]进行设置

我也不确定你只能有一个512字节的文件。尝试将一个硬盘驱动程序设置得更大一些,比如dd if=/dev/zero of=disk.img bs=512 count=2000,然后再次使用dd将引导加载程序复制到磁盘的第一部分

您还应该使用-hda或-fda标记,因此它应该是qemu-hda disk.img