本节内容源自《操作系统真象还原》,请支持正版
运行bochs
终于安装完成了,虽然这过程中有可能会出现各种各样的问题,但还是值得庆祝的,对Linux不熟的朋友第一次就搞定了这么个硬货,我理解您此时的喜大普奔之情,哈哈,给大家点赞。顺便说一句,其实平时我们的运维人员为开发环境付出了远比这更多的努力,所有奋战在一线的系统工程师和运维工程师,您们辛苦了。
不过好奇心让我们按捺不住想一探bochs容貌,说实在的,我现在就想先运行一下看看,失败又能怎样,无非是报错退出呗,又不会造成实质性的损失。我非常理解大家的心情,虽然现在还差点东西没完成,但做为求知欲强的技术人必须得获得理解和支持,那现在咱们先运行一下bochs试试,至少检测下是不是安装正确了,反正不会破坏咱们的电脑,缺什么的时候咱们再创建也不迟。
怕被读者埋怨我太啰嗦,赶紧在bochs安装路径下键入bin/bochs并赶紧按下了回车,运行效果见下图
看,bochs界面中给出的提示符默认选项是[2],Read options from…,这是bochs要读取选项的节奏啊,也就是说要读取配置文件,ok,直接回车。运行结果见下图
我们键入的是上面长方形框框中的部分:boc,由于我们刚刚把此文件放到了bochs的安装路径下,bochs找到了它并加载成功。紧接着下面给出的默认选项变成了[6],也就是Begin simulation选项,开始模拟x86硬件平台喽。
再多说一句,bochs如果加载不到配置,它是不会向下运行的,所以在图1-3中,白色方框中若不键入配置文件名而直接回车,还是会回到图1-2的界面,必须给出配置让bochs知道您想模拟的硬件是什么才行。
继续回车,马上就有效果了,不过是报错了,哎哟,不错哦,果然没白测试,报的这是个PANIC级别的错误,BIOS说:“你摊上大事了,没有启动设备”。
缺什么我们就创建什么,提示没有的这个“bootable device”就是启动盘,现在就创建启动盘吧。
bochs先生说:“做为一个负责任的模拟器,既然干的就是模拟硬件的工作,那就要把硬件都模拟全了”,所以bochs给咱们提供了创建虚拟硬盘的工具bin/bximage。我们先看下这个命令的帮助。见图
-fd是创建软盘
-hd创建硬盘
-mode 是创建硬盘的类型,有flat、sparse、growing三种。
-size是指创建多大的硬盘,以MB为单位。
-q 是以静默模式创建,创建过程中不会和用户交互。
按照上面的帮助,那咱们就开工啦。见图
bin/bximage -hd -mode="flat" -size=60 -q
这个命令串中最后一个是咱们创建的虚拟硬盘的名称。
如果大家觉得以上键入命令繁琐,不想用命令行话,可以直接键入bin/bximage回车,后面的提示很清楚,很容易帮助大家创建硬盘。
硬盘创建好了,该如何安装到虚拟机中呢。
看图1-6下面的白色方框中的内容,bochs说:“The following line should appear in your bochsrc: 下面的内容应该出现在你的配置文件中”。可见bochs的良苦用心,连硬盘的配置都给我们写好了,我们要做的就是复制这些到我们的boc中。可见,在bochs中有哪些硬件,就是通过配置文件来反映出来的。
事不宜迟,赶紧更新boc,找到第33行注释部分,将内容添加到35行,保存。如图
此刻的我已经迫不及待地想看看bochs现在的运行情况,不过如果每次启动bochs后都要通过Read options from选项读取配置文件,这就太麻烦了,其实启动bochs的时候,有个更简便的方法,我们用-f来指定其配置文件便可。
bin/bochs –f boc 回车,观察效果,如图
这是怎么回事呢?仔细看过之后,这里的报错和图1-4还是有些不同,虽然结果是一样的错误,但原因是不同的。图1-4中的报错原因是boot failed: could not read the boot disk。这是无法读取启动盘。而现在这里的报错是boot failed: not a bootable disk。这不是一个启动盘。这两个原因明显不是一码事,就像某件衣服穿着不合适一样,原因是一个人是太胖了,另一个人是太瘦了。
不要灰心,这正是我们要在下一章要讲的内容,什么才算启动盘,真正的启动盘上有什么。本章到此结束,下章咱们再见。
【再续】