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