所以几天前,我冒险进入操作系统开发的未知领域。作为一种“Hello,World”程序,我在程序集中创建了这个引导加载程序:
;*********************************************
; Boot1.asm
; - A Simple Bootloader
;
; Operating Systems Development Tutorial
;*********************************************
org 0x7c00 ; We are loaded by BIOS at 0x7C00
bits 16 ; We are still in 16 bit Real Mode
Start:
cli ; Clear all Interrupts
hlt ; halt the system
times 510 - ($-$$) db 0
dw 0xAA55
然后,我使用NASM将汇编文件编译成.bin文件。接下来,我使用PowerISO将此二进制文件转换为ISO文件。最后,我将ISO文件附加到Microsoft Virtual PC 2007.当它最初不起作用时,我检查了BIOS并确保CD / DVD首先在启动优先级列表中。当我在那之后尝试推进系统时,它给了我以下错误:
“重新启动并选择正确的启动设备”
在互联网上搜索后,我发现这意味着ISO无法启动。当我研究更多如何解决这个问题时,我找不到太多,除了必须正确配置ISO以便可引导。如何做到这一点,如果不可能,我还有其他选择吗?
我正在运行64位Windows 7家庭高级版。
答案 0 :(得分:2)
您的程序代表master boot record,而不是可引导的ISO映像。它作为硬盘启动时工作正常,例如QEMU。并非所有虚拟机都会接受小巧的硬盘映像。在这种情况下,您首先要创建一个硬盘映像,然后用您的程序覆盖第一个扇区。
制作可引导的ISO映像有点复杂。有关详细信息,请阅读此wiki。
答案 1 :(得分:0)
我知道你正在使用Microsoft Virtual PC(顺便说一句,我认为只有靴子窗口),但我建议使用其他东西。以下是一些选项(全部免费):