虚拟机(ubuntu22.04)安装与配置bochs

勤策365 admin 2025-11-20 09:41:08

安装bochs

创建文件夹(可选)

新建终端

终端输入mkdir Software,下载的bochs就放在这里吧

下载bochs

https://sourceforge.net/projects/bochs/files/bochs/ 进入这个网址选择对应版本的bochs,这里就用最新的2.8版本示范了

点击2.8版本的文件夹,下载后缀名为tar.gz的压缩包下载

找到下载的压缩包,一般在Download文件夹里,终端输入cd Download进入文件夹查看

解压缩

终端输入tar -zxvf bochs-2.8.tar.gz -C ../Software,将文件解压到我们创建的Software文件夹里

安装

进入解压的bochs文件夹里,终端输入cd bochs-2.8

终端输入./configure --prefix=/home/用户名/Software/bochs --enable-debugger --enable-disasm --enable-iodebug --enable-x86-debugger --with-x --with-x11

--prefix=/home/用户名/Software/bochs :指定了 Bochs 编译后安装的目录,我们这里指定为我们创建的Software目录

--enable-debugger :启用 Bochs 内置的调试器功能

--enable-disasm :启用反汇编器功能

--enable-iodebug :启用 IO 调试功能。这允许你跟踪和调试虚拟机中的输入输出操作,有助于分析和调试设备交互

--enable-x86-debugger :启用 x86 汇编级别的调试功能。这意味着可以在 x86 汇编语言级别上调试程序,这对于调试低级问题非常有帮助

--with-x 和 --with-x11 :这两个选项用于指定 Bochs 使用 X Window 系统(X11)的图形界面。X Window 系统提供了基于窗口的图形界面,用于显示 Bochs 的模拟器窗口和相关用户界面元素。

终端输入make, 缺少什么依赖安装就行,系统会有提示信息

终端输入sudo make install,出现bochs文件夹就算成功安装了

以上是采用源码安装的形式

也可以使用包管理器安装bochs,不过版本可能比较旧,可能运行的时候会有其他一些问题,不推荐

以下是包管理器安装的形式

终端输入sudo apt update,更新下载源

终端输入sudo apt install bochs bochs-x,缺少依赖按提示安装就成

bochs 包含基本的 Bochs 模拟器

bochs-x 提供了 X Window System 的图形用户界面 (GUI)

终端输入bochs或bochs-x启动对应的bochs,验证安装是否成功

配置bochs

创建镜像文件

进入到之前安装bochs创建出来的bochs文件夹中,在进入到bin文件夹中,找到一个叫bximage的文件,这是创建镜像文件的程序

终端输入./bximage, 然后根据提示来就行了

绿色方框中是一些选项,比如选项0就是退出,选项1就是创建镜像文件

蓝色方框表示的是默认的选项,按下回车键就相当于输入0,直接退出

这里演示下创建镜像文件的过程:

红色方框:输入选项1,表示创建镜像,默认是0,

黄色方框:表示创建的镜像文件的类型,fd表示软盘(floppy disk),hd表示硬盘(hard disk),默认是硬盘

绿色方框:表示镜像文件的大小,这里默认是1.44M,没有填内容,直接回车

蓝色方框:表示镜像文件的名称,后缀名是img

粉色方框:表示让你在配置文件中加上这段话

紫色方框:这就是我们刚才创建出来的软盘镜像文件了

配置文件

创建好镜像文件后,我们还要写对应的bochs启动的配置文件

硬盘镜像的配置文件

以下的地址大家要按自己的情况来,按自己的地址来填写,最好用绝对地址吧,就是/home/用户名这样开头的

还有要注意这些地址里有个Software,这个是我自己放bochs的文件夹,大家也要结合自己的情况填写

# how much memory the emulated machine will have

megs: 32

# filename for ROM images

romimage: file=/home/你的用户名/Software/bochs/share/bochs/BIOS-bochs-latest

vgaromimage: file=/home/你的用户名/Software/bochs/share/bochs/VGABIOS-lgpl-latest

# choose the boot disk

boot: disk

# where do we send log messages

log: bochsout_disk.txt

# disable the mouse

mouse: enabled=0

# enable key mapping, using US layout as default

keyboard: keymap=/home/你的用户名/Software/bochs/share/bochs/keymaps/x11-pc-us.map

# ATA controller and disk image

ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14

ata0-master: type=disk, path="镜像文件的地址", cylinders=16, heads=4, spt=32

软盘镜像的配置文件

注意点和上面一样,地址的填写结合自己的情况

# how much memory the emulated machine will have

megs: 32

# filename for ROM images

romimage: file=/home/你的用户名/Software/bochs/share/bochs/BIOS-bochs-latest

vgaromimage: file=/home/你的用户名/Software/bochs/share/bochs/VGABIOS-lgpl-latest

# what disk images will be used

floppya: image="镜像文件的地址", status=inserted

# choose the boot disk

boot: floppy

# where do we send log messages

log: bochsout_floppy.txt

# disable the mouse

mouse: enabled=0

# enable key mapping, using US layout as default

keyboard: keymap=/home/你的用户名/Software/bochs/share/bochs/keymaps/x11-pc-us.map

这些都是很简单的配置,如果还需要其他的配置选项,大家就自行查阅哈

总结,配置文件的编写主要是镜像文件的地址,还有bochs/share/bochs/中的一些文件,所以记住自己的bochs文件夹的位置一般问题不大

启动bochs

还是进入到bximage所在的文件夹里,即bochs/bin/,找到一个bochs文件,终端输入./bochs -f bochsrc,这个bochsrc就是我们的配置文件啦,-f选项用于指定bochs启动的配置文件

红色方框:这是启动的命令,这里我写错了,不是f.img,应该是它的配置文件才对

蓝色方框:表示的是选项,注意选项6表示开始仿真,就是启动bochs

绿色方框:选项6是默认值,直接回车就行

因为bochs不会一次执行完毕,而是根据命令来执行,虽以我们这里输入c命令,这是bochs的调试命令,大家感兴趣就自行查阅啦

输入完c命令后如果弹出这个错误,就是没有启动设备的意思,基本上就没问题了,有这个错误是因为我们没有向镜像文件中写任何东西。大家感兴趣就查阅MBR 和 bochs这两个关键字相关的资料吧,这里就不赘述了。

总而言之,我们需要向镜像文件中写入一个MBR(引导程序),bochs才会正常,否则就会有这个错误

如果有其他错误的话,大家根据./bochs -f bochsrc(bochsrc是配置文件,按自己的写)这个启动bochs后的界面报出的错误解决吧(PANIC字样的就是错误信息)