在
VMware
下实现软驱加载并运行。
最近刚开始学习
OS
和汇编,于是打算自己试试。当然自己完全不懂,根据零星的资料下手,
刚开始错误百出。刚弄明白
nasm
是如何编译生成
.bin,.o,.img
文件,确在
VM
上遇到了
麻烦。由于
VM
支持
.iso
镜像文件的载入,且我又没有使用过
.img
文件的经历,于是开始
各种
baidu
,最后还是成功了,写些笔记留以纪念。
首先说明是在
linux
下完成,汇编工具:
nasm
,
VM
版本:
7.1.1build-282343
。
第一步
编写代码生成
.asm
汇编文件。
网上流行的十分钟写一个操作系统代码(引导)
org07c00h
movax,
cs
movds,
ax
moves,
ax
callDispStr
jmp$
DispStr:
movax,
BootMessage
movbp,
axes:bp=
串地址
movcx,
16cx=
串长度
movax,
01301h
movbx,
000ch
movdl,
0
int10h
ret
BootMessage:db"Hello,2010!"
times510-($-$$)db0
填充剩下的空间,使生成的二进制代码恰好为
512
字节
dw0xaa55
保存上述代码为
boot.asm
然后我们打开终端,并进入到所在路径下
通过命令
:nasmboot.asm-oboot.bin
生成
boot.bin
二进制文件
通过命令
:ddconv=syncif=boot.binof=boot.imgbs=1440kcount=1
生成了
历史老照片不能说的秘密
慈禧军阀明末清初文革晚清
boot.img
镜像文件
第二步
启动
VMware
并加载
boot.img
镜像。
1
,
打开
VM
后的部分界面,有三个选项,我们选择新建,也就是第一项
2
,
选择默认的
Typical
,然后
next
3
,这里要求选择第三项
4
,
这里我选择了两个
other
,谁知道
boot
属于那一类
5
,选择安装存放路径
6
,
默认就行了,好像很浪费
7
,
这里不要一直点
next
,这里要现配置一下,点击
CustomizeHardware...
8
,
选中
Floppy
,再选择
Browse
,把
boot.img
加入。按下面选择就行了,最后

save,
8
,
选中
Floppy
,再选择
Browse
,把
boot.img
加入。按下面选择就行了,最后
save,