bochs 中文文档 下载 App

第一次启动 Bochs——跑起来一个最小环境

准备:三样东西

要启动 Bochs 让它"亮起来",最少需要三样:

  1. bochsrc 配置文件(或 bochsrc.bxrc,带 GUI 注释)
  2. BIOS 镜像(BIOS-bochs-latest,在安装目录里)
  3. VGA BIOS 镜像(VGABIOS-lgpl-latest.bin 或 Cirrus 版本)

可以没有磁盘镜像——只是没有可引导的系统而已。Bochs 会正常启动到 BIOS 自检界面,然后报找不到启动盘。

方式一:用 bochsrc.bxrc 图形界面

Windows 用户首次启动 bochs.exe 或 bochsdbg.exe 时,会弹出 Bochs Launcher 对话框:

========================================================================
Bochs x86 Emulator Launcher
========================================================================
 [1] Load Options from...
 [2] Edit Options
 [3] Run
 [4] Benchmark
 [5] Quit

输入 2 进入图形化的 bochsrc 编辑器,依次配置 ROM BIOS、VGA BIOS、磁盘、启动顺序。选好后点 Run 启动。

这种方式适合快速上手,但功能受限——高级配置(日志级别、调试器选项)还是要手写 bochsrc。

方式二:手写一个极简 bochsrc

在任意目录下创建一个叫 bochsrc(无扩展名)的文件,内容如下:

# Bochs 最小可运行配置
romimage: file=C:/Program Files/Bochs-3.1/BIOS-bochs-latest, address=0xfffe0000
vgaromimage: file=C:/Program Files/Bochs-3.1/VGABIOS-lgpl-latest.bin
boot: none
log: bochsout.txt
panic: action=ask
cpu: count=1, ips=4000000
memory: guest=32, host=32
mouse: enabled=0
display_library: wx

把路径改成你安装目录的实际位置。注意:

然后在同一目录下运行:

bochsdbg.exe -q

-q 表示跳过启动对话框直接加载配置。

你会看到什么

bochsdbg 启动后,会停在调试器提示 bochs:1>(bochs.exe 则直接开始执行,不停)。

输入 c(continue)继续执行,Bochs 窗口会弹出:

  1. BIOS 自检界面(显示 Bochs 的硬件信息,内存大小、CPU 类型等)
  2. 然后报 Boot failed: could not read the boot disk(因为没有启动盘)
  3. 最后弹出 panic 对话框,问你怎么处理

如果看到这些,恭喜——安装和基本配置都没问题。

Bochs 运行 Windows 1.04
Bochs 运行 Windows 1.04,展示早期系统界面

加一个引导镜像跑起来

要真正看到一个系统跑起来,需要一个可引导的磁盘镜像。有两种方式:

方式 A:下载预制作的演示镜像

Bochs 官方页面提供了 FreeDOS、Debian Live、迷你 Linux 等现成磁盘镜像下载。下载后改 bochsrc 加上:

ata0-master: type=disk, path="freedos.img", mode=flat, cylinders=520, heads=16, spt=63
boot: disk

(cylinders/heads/spt 参数要和镜像实际参数匹配,通常镜像文件下载页会标注。)

方式 B:自己用 bximage 创建

在命令行运行 bximage.exe,交互式创建一个空磁盘,然后给它写入引导扇区(OS 开发必走的路径)。详细步骤见磁盘镜像相关章节。

首次启动常见报错

报错找不到 BIOS 镜像

bochs: BIOS image BIOS-bochs-latest not found

检查 bochsrc 里的 romimage 路径是否正确,尤其是 Windows 路径分隔符。Bochs 的 Windows 安装通常会自动把 bochsrc.bxrc 里的 BIOS 路径设好。

报 bochsrc 语法错误

bochs: bochsrc: line 3: syntax error

bochsrc 每行一个配置项,格式是 keyword: value,冒号后面必须有一个空格。检查是否写了 romimage:file= 而不是 romimage: file=。

bochsdbg 启动不停在调试器

Linux/macOS 上编译时没加 --enable-debugger,就只会有一个不带调试器的 bochs。重新编译时确认 configure 输出里显示 debugger: yes。

Windows 上这种情况极少见——直接用 bochsdbg.exe 就对了。