《30天自制操作系统》笔记(03)——使用Vmware
进度回顾
在上一篇,实现了用IPL加载OS程序到内存,然后JMP到OS程序这一功能;并且总结出下一步的OS开发结构。但是遇到了真机测试和U盘启动的一些问题。本篇就来解决之。
遇到的问题
物理机测试
简单来说,把软盘(U盘)做成启动盘后,自然想要用来启动物理机器。毕竟这才是真正的测试。(用QEMU总没多大的成就感)但物理机测试的麻烦在于太慢了,每次都要关掉Windows,重启,测试,然后再重启Windows。而且还没办法截图。
而用Vmware代替真机就好了,启动速度比真机快得多,还可以截图。而且对我来说Vmware比QEMU还有另一个好处,稍候说明。
用U盘代替软盘
《30天自制操作系统》的作者一直在用软盘作启动盘,而现在基本上见不到软盘了。我一开始用U盘代替软盘,没发现问题。但是在JMP到OS程序后就有问题了:JMP后计算机就没有任何反应了。这肯定是U盘和软盘的差异造成的,需要一些兼容性的汇编代码。无奈我汇编语言没好好学,目前解决不了这个问题。
解决方案
基于上述两个麻烦的问题,我发现只有用Vmware+软盘映像的方式才能顺利进行后续的学习。Vmware代替真机测试,既解决了重启慢、无法截图的问题,又可以直接把haribote.img文件当做软盘来用,这就完全虚拟出了《30天自制操作系统》中的真机环境,所以不会再有环境配置方面的问题了。
至于U盘和软盘的差异,待我学好了汇编,再来解决也不迟。而QEMU从U盘启动还得学啊学搜啊搜,用Vmware的话,在BIOS里选择启动项就好了。这也是Vmware的好处,减少要学的外围的东西。
配置Vmware
首先创建一个Vmware虚拟机,选择Typical,点击Next。
选择"I will install the operating system later.",点击next。
选择"Other",版本也选择"Other",点击next。
选择合适的名称和路径,点击next。
选择"store virtual disk as a single file",点击next。
点击finish。
点击"Edit virtual machine settings"。
选择"Floppy",选中"Connect at power on",选择"Use
floppy image file:",点击Browse,找到制作好的镜像文件。选中"Read Only"。
点击OK。
启动虚拟机,在下图所示的界面处点击"F2",进入虚拟机的BIOS。
虚拟机的BIOS界面中,选择Boot,把Legacy Floppy Drives选项调到最上面。这样虚拟机就会从刚刚软盘镜像文件启动了。
配置完成,"F10"保存,虚拟机自动重启,效果如下!
成功!
总结
今后的学习过程是:
- 编码,用makefile编译得到*.img文件。
- 用make run命令启动QEMU测试。
- 配置"floppy image
file"(如果文件名改了),启动Vmware进行测试。 - 等我学好了汇编(大概个把月吧),把U盘启动的代码写写,再用U盘测试。
《30天自制操作系统》笔记(03)——使用Vmware,布布扣,bubuko.com