真实计算机无法启动可以在虚拟机上运行的操作系统

时间:2018-12-06 16:59:45

标签: operating-system

我试图通过一些教程来编写操作系统,并且可以在Qemu虚拟机上运行该程序。

但是,当我尝试在真实计算机上运行时,由于计算机不认为操作系统在磁盘上,因此计算机将永远无法成功启动。

我执行了以下步骤:1。 hello.asm

mov ah, 0x0e
mov al, 'A'
int 0x10

jmp $

times 510 - ($ - $$) db 0
dw 0xaa55
  1. 编译程序集文件

    nasm -f bin hello.asm -o hello.bin

  2. 我可以通过运行

    来启动bin文件。

    qemu-system-x86_64 hello.bin,但是如果我用dd if=hello.bin of=/dev/sdb将文件刻录到USB磁盘(USB磁盘可能刻录其他系统并正常运行),它将无法在真实计算机上运行。

插入USB并选择从USB磁盘引导后。计算机只是从USB磁盘跳过我的操作系统,而从我的硬盘引导。这与USB磁盘上没有任何东西一样。

但是,如果我像qemu-system-x86_64 /dev/sdb一样运行,则模拟器可以从USB成功启动。

我是该领域的新手。任何人都可以帮助我解决这个困扰我很长时间的问题。

非常感谢您。

0 个答案:

没有答案