Bochs 的下载、安装和配置

1  Bochs 软件的下载和安装

要使用 Bochs,首先要从它的官网下载安装程序。下载地址是:

http://sourceforge.net/projects/bochs/files/bochs/

打开这个网络链接后,将出现图 1 所示的网页,该网页显示了 Bochs 软件的所有历史版本。本手册以 2.6 版为例进行说明,请在版本列表中选择 2.6 版下载。

图 1 选择 Bochs 2.6 版本

图 1 选择 Bochs 2.6 版本

Bochs 的每一个版本都是针对不同操作系统平台开发的,并且源代码公开。因此,当你选择了 2.6 版本后,将进入另一个页面,允许你选择一个适用于自己当前机器的安装程序。如图 2 所示。

图 2 选择适用于自己当前系统平台的 BOCHS 安装程序

图 2 选择适用于自己当前系统平台的 BOCHS 安装程序

从图中可以看出,Bochs 虚拟机的安装程序很小,只有几兆字节,我们下载 Bochs-2.6.exe 这个文件。其中 .rpm 后缀代表 Linux 格式安装文件,src.zip 后缀格式代表源代码压缩包。

下载工作完成后,剩下的就是运行该安装程序,将 Bochs 软件安装到你的计算机上。如果你的操作系统是 Windows 10,那么安装程序运行时,可能出现一个安全提示:

点击"是",继续运行安装程序即可。点击下一步,都采取"默认设置",完成程序安装。

2  BOCHS 虚拟机的配置

如图 3 所示,在 Bochs 的工作文件夹(取决于实际安装的位置,该位置在安装的过程中可以选择和指定)下,有两个程序,分别是 bochs.exebochsdbg.exe。我们说过,Bochs 是虚拟机软件,可以作为类似于 VirtualBox 的虚拟机来使用。在这种情况下,你应当使用 bochs.exe。相反,如果你希望用 Bochs 来调试程序,那么,应当使用 bochsdbg.exe,它的意思是"Bochs 调试"(Bochs Debugger)。

图 3 Bochs 软件的工作文件夹

图 3 Bochs 软件的工作文件夹

因为是要调试程序,所以我们应当运行 bochsdbg.exe 程序。每当该程序运行时,都会出现如图 4 所示的起始界面。

图 4 Bochs 程序的启动界面

图 4 Bochs 程序的启动界面

和 VirtualBox 一样,Bochs 也只是一台虚拟的计算机。因此,它需要做一些配置工作,比如,设置内存的大小、硬盘的数量和类型,等等。相对于 VirtualBox,Bochs 可以自定义的项目更多些。

在第一次使用 Bochs 时,一定要做一些设置工作。

Bochs 可以提供一些默认的设置,这些默认的软、硬件参数对调试本书的程序来说已经足够。因此,我们仅仅设置一下硬盘参数就可以了。如图 5 所示,在"Bochs Start Menu"窗口中,双击"Edit Options"列表框中的"Disk & Boot",该项目用于设置磁盘和计算机启动的参数。双击之后,将弹出另一个界面,该界面上有 6 个标签页,分别是"Floppy Options"、"ATA channel 0"、"ATA channel 1"、"ATA channel 2"、"ATA channel 3"和"Boot Options"。

"Floppy Options"是和软磁盘驱动器有关的设置。软磁盘在历史上曾经是非常标准和流行的配置,现在已经基本绝迹,所以,可以不用管它。

ATA 是很多人熟悉的硬盘接口标准,SATA 是当前正在流行的新标准。每台计算机可以有两个以上的 ATA 通道,以插接多块硬盘和光盘驱动设备。对于每台计算机来说,"ATA channel 0"总是必备的,因此我们一会儿就来设置它。

"Boot Options"是和计算机启动有关的选项,主要用于指定先从哪个设备(硬盘或光盘驱动器)启动。

先来设置主硬盘。单击"ATA channel 0",此时,将在该标签页的内部出现另一个标签页。其中,"ATA channel 0"页面用于选择是否开启该通道,一般默认是选择开启,不用管它;每个磁盘通道可以有两块磁盘设备,一主一副。因此,"First HD/CD on channel 0"页面用于设置该通道的主盘类型,"Second HD/CD on channel 0"页面用于设置该通道的副盘类型。

如图中所示,单击"First HD/CD on channel 0"标签页,设置主硬盘。按图中所示,应当先勾选"Enable this device"(允许该设备)。

和 VirtualBox 一样,Bochs 虚拟机可以使用文件来模拟物理上的硬盘设备。尤其是,它可以接受 VHD 虚拟硬盘文件格式。

图 5 磁盘参数设置界面

图 5 磁盘参数设置界面

一般来说,你会选择 VirtualBox 虚拟机来观察运行结果,调试程序时使用 Bochs。因此,最好是它们共用同一个虚拟硬盘文件。为此,如图中所示,在"Path of physical device name"一栏中,选择 VirtualBox 所使用的 VHD 文件,具体的位置依你的实际情况而定。

因为使用的是 VHD 硬盘文件,所以,要在"Type of disk image"一栏中选择"vpc"。毕竟,VHD 文件格式是微软为 Virtual PC 定制的。

即使是指定了"VPC"的磁盘格式,并给出了虚拟硬盘文件,该界面也不会自动检测出该硬盘的参数来。因此,如图中所示,还需要手工给出该磁盘的柱面数、磁头数,以及每磁道扇区数。应该先用 FixVhdWr.exe 程序得到 VHD 的参数,然后填写到这里。如图所示,我们应该分别填写 1002、13、17。

设置了一块硬盘之后,并不意味着配置任务的结束。想想看,一台计算机可以配备好几块硬盘和光盘驱动器,到底在加电之后,从哪块磁盘启动计算机呢?

如图 6 所示,还要打开"Boot Options"标签页,设置启动参数。

"Boot drive #1"首选的启动设备。应当选择"磁盘",即选择"disk"。磁盘分软盘和硬盘,但软盘已经不再使用,所以,应当按图中所示,跳过软盘启动信号检查。即,勾选"Skip Floppy Boot Signature Check"。

最后,我们没有安装任何操作系统,所以在"Which operation system?"一栏选择"none",意思是没有。

图 6 Bochs 的启动顺序设置

图 6 Bochs 的启动顺序设置

一旦做完了以上工作,可以点"确定"按钮返回到图 4 的启动界面。在那个界面上,我们应当单击"Save"按钮,来保存以上的设置参数。

如图 7 所示,Bochs 会弹出一个对话框,让你选择一个配置文件名,以及该文件将被保存的位置。

图 7 保存设置参数

图 7 保存设置参数

Bochs 提供了一个默认的文件名"bochsrc.bxrc",应当保持这个名字不变。同时,如图中所示,要将该文件保存的位置指定到 Bochs 的安装文件夹。之所以这样做,是因为,每次当 Bochs 启动时,它都会在自己的工作目录下寻找默认的配置文件。

至此,Bochs 的下载、安装和配置工作就完成了。

每次 Bochs 启动时,都会出现图 4 的启动界面。不要管它,只需直接单击"Start"即可,Bochs 会自动在其工作目录下找到默认的配置文件,并按那里面的参数启动。

Bochsdbg 启动后,你就可以做调试工作了。具体的调试方法,参见书中的描述。