安装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字样的就是错误信息)