这本书看第一章就郁闷了:第一个例子居然需要软盘。。。。这种古董找到了我也没法用啊。
首先我们按照书中所说,使用 NASM 编译出 boot.bin 然后问题就来了,如何将boot.bin转换成img格式的文件
以下是我的各种蛋疼的尝试。(系统:Windows7 x64)
1.使用Winimage直接制作img格式
系统好像可以启动,但是什么也没发生一直黑屏,而且Winimage无法正常打开书中的img格式的实例。
2.使用UltraISO制作ISO格式启动文件
系统可以启动,启动后光标也移动了,但是没有正常输出。
最后,我只能通过书中的方法,使用rawrite2 来制作。
对于rawrite2有这样的一个介绍: 可用于制作驱动软盘,在服务器安装linux系统找不到硬盘驱动的时候会用到,这可能是以上方法失败的原因
=================================================以上都是废话,纪念我蛋疼尝试的三小时
首先rawrite2 无法在win7中正常运行,我们需要一个XP系统的虚拟机。
然后使用UltraISO之类的工具制作一个空白的,足够大的img格式的文件。
将我们新建的img文件设置为xp虚拟机的软盘
就是这个样子
这样就可以启动我们的xp虚拟机了
然后按书中运行rawrite2,拷入的boot.bin文件,进行制作
这是成功的现象:
使用这个程序可能会出现这个错误:
can‘t figure out how many sectors/track for this diskette
这是因为它没有找到可以写入的软盘
在图片中我将指定的盘符写了B,而一般软盘默认是A盘,所以就找不到了。如果出现了这个错误,可能是因为虚拟机中的软盘没有正确配置。
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
现在我们已经制作好了我们的启动盘,接下来就是运行它了。
首先配置一个新的虚拟机:
在版本和操作系统选项中都选择其它
然后为这个虚拟机也配置一个软盘
好了,尝试一下你的第一个系统吧!
============================================================================
这个简单的操作系统实在太不容易了
完成于2014.11.29 2:00
//////////////////////////////////////////////////////////////////////////////
注意!
我在起床之后查了一些资料,发现 nasm可以直接对asm文件进行编译,生成img格式文件。且运行成功。。。。。。
命令: nasm -o boot.img boot.asm
真是蛋疼
完成于2014.11.29 16:00
//////////////////////////////