реальная машина не может загрузить операционную систему, которая может работать на виртуальной машине - PullRequest
0 голосов
/ 06 декабря 2018

Я пытался написать операционную систему из какого-то учебника, и я мог запустить программу на виртуальной машине Qemu.

Однако, когда я попытался запустить на реальной машине, компьютер никогда не загрузится успешно, потому чтоКомпьютер не считает, что ОС находится на диске.

Я сделал следующие шаги: 1.hello.asm

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

jmp $

times 510 - ($ - $$) db 0
dw 0xaa55

скомпилировать файл сборки

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

Я могу загрузить файл bin, запустив

qemu-system-x86_64 hello.bin, однако он не может работать на реальной машине, если я записываю файл на USB-диск (USB-диск может записать другую систему и работать правильно) на dd if=hello.bin of=/dev/sdb.

После того, как я подключу USB и выберу загрузку с USB-диска.Компьютер просто пропускает мою операционную систему с USB-диска и загружается с моего жесткого диска.Это та же самая ситуация, когда на USB-диске ничего нет.

Но если я буду работать как qemu-system-x86_64 /dev/sdb, симулятор сможет успешно загрузиться с моего USB.

Я новичок в этомполе.Может ли кто-нибудь помочь мне об этой проблеме, которая долго смущала меня.

Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...