在 VMware 下实现软驱加载并运行。 最近刚开始学习 OS 和汇编,于是打算自己试试。当然自己完全不懂,根据零星的资料下手, 刚开始错误百出。刚弄明白 nasm 是如何编译生成 .bin, .o, .img 文件,确在 VM 上遇到了 麻烦。由于 VM 支持 .iso 镜像文件的载入,且我又没有使用过 .img 文件的经历,于是开始 各种 baidu ,最后还是成功了,写些笔记留以纪念。 首先说明是在 linux 下完成,汇编工具: nasm , VM 版本: 7.1.1 build-282343 。 第一步 编写代码生成 .asm 汇编文件。 网上流行的十分钟写一个操作系统代码(引导) org 07c00h mov ax, cs mov ds, ax mov es, ax call DispStr jmp $ DispStr: mov ax, BootMessage mov bp, ax es:bp = 串地址 mov cx, 16 cx = 串长度 mov ax, 01301h mov bx, 000ch mov dl, 0 int 10h ret BootMessage: db "Hello, 2010!" times 510-($-$$) db 0 填充剩下的空间,使生成的二进制代码恰好为 512 字节 dw 0xaa55 保存上述代码为 boot.asm 然后我们打开终端,并进入到所在路径下 通过命令 :nasm boot.asm -o boot.bin 生成 boot.bin 二进制文件 通过命令 :dd conv=sync if=boot.bin of=boot.img bs=1440k count=1 生成了 镜像文件 第二步 启动 VMware 并加载 boot.img 镜像。 1 , 打开 VM 后的部分界面,有三个选项,我们选择新建,也就是第一项 2 , 选择默认的 Typical ,然后 next 3 ,这里要求选择第三项 4 , 这里我选择了两个 other ,谁知道 boot 属于那一类 6 , 默认就行了,好像很浪费 7 , 这里不要一直点 next ,这里要现配置一下,点击 Customize Hardware... , 选中 Floppy ,再选择 Browse ,把 boot.img 加入。按下面选择就行了,最后 save,
8 , 选中 Floppy ,再选择 Browse ,把 boot.img 加入。按下面选择就行了,最后 save,
|