【问题标题】:How to solve "Error 13 while loading file" when using Qemu?使用 Qemu 时如何解决“加载文件时出现错误 13”?
【发布时间】:2012-06-06 05:49:19
【问题描述】:

我将以下字节写入名为 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

有谁知道如何解决这个问题或可能导致此错误的原因是什么?

谢谢!

【问题讨论】:

    标签: operating-system qemu kvm


    【解决方案1】:

    我不知道你是否可以只用任何东西填充图像并期望它能够工作,因为你在正确的位置有 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

    【讨论】:

      猜你喜欢
      • 2013-04-16
      • 1970-01-01
      • 2019-06-03
      • 1970-01-01
      • 2021-04-19
      • 2013-04-24
      • 2016-04-22
      • 2012-03-23
      • 1970-01-01
      相关资源
      最近更新 更多