bochs模擬器:使用

本文將介紹bochs模擬器的使用,前面介紹了bochs如何通過源碼的方式安裝,參考這里,安裝之后是沒法直接使用的,要正常的將bochs模擬器運行起來,還需要至少兩樣東西:一是bochs的配置文件,主要是描述待啟動的虛擬機的配置,例如內存大小、啟動鏡像、網(wǎng)絡功能、存儲配置等;二是一個可用的操作系統(tǒng)鏡像,用于在虛擬機上運行操作。下面分別做簡單介紹。

bochs的配置文件

bochs運行后,會先查找配置文件,解析模擬器要虛擬的系統(tǒng)相關信息后啟動系統(tǒng)。

配置文件的查找順序

默認的配置文件一般命名為bochsrc或.bochsrc或bochsrc.txt,當然可以在命令行時通過-f命令直接指令配置文件路徑,這樣對配置文件命名就沒有特定的要求。如果未通過-f命令指令待加載的配置文件,bochs會按照如下順序去自動查找配置文件:

  • 在當前目錄(bochs命令執(zhí)行的目錄)下查找.bochsrc文件
  • 在當前目錄下查找bochsrc文件
  • 在當前目錄下查找bochsrc.txt文件
  • 在當前目錄下查找bochsrc.bxrc文件(僅限于本地系統(tǒng)為win32)
  • 在用戶的主目錄下查找.bochsrc文件(僅限于本地系統(tǒng)為類Unix)
  • 在用戶的主目錄下查找bochsrc文件(僅限于本地系統(tǒng)為類Unix)

配置文件內容解析

下面只是簡單介紹幾個配置參數(shù),配置文件的內容解析更多細節(jié)請參考這里

配置文件中是以key: value來配置參數(shù),通常一個簡單的bochs的配置文件看起來如下:

megs: 32
romimage: file=$BXSHARE/BIOS-bochs-latest
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
vga: extension=vbe, update_freq=15
floppya: 1_44=a.img, status=inserted
boot: floppy
log: bochsout.txt
mouse: enabled=0
cpu: ips=15000000
  • megs:指定主機給虛擬機分配的內存大小,以及指定虛擬機模擬的內存大小。如果主機和虛擬機內存大小分配不一樣,可以使用memory: guest=A, host=B的方式。megs相當于指定虛擬機模擬的內容大小和主機給虛擬機分配的物理內存大小一致,等同于memory: guest=A, host=A,默認情況下,內存大小是32M。
  • romimage:指定bios鏡像的路徑,一般使用bochs提供的默認值即可,安裝完成后bochs提供的bios鏡像位置位于=$BXSHARE/BIOS-bochs-latest
  • vgaromimage:指定vga bios鏡像的路徑,一般使用bochs提供的默認值即可,安裝完成后bochs提供的bios鏡像位置位于=$BXSHARE/VGABIOS-lgpl-latest
  • vga:定義vga顯示的參數(shù),例如update_freq表示屏幕顯示每秒刷新的次數(shù)
  • floppya:指定軟盤鏡像的位置
  • boot:指定啟動順序,本文中boot: floppy只指定了先從軟盤中讀取是否有啟動分區(qū),也可以指定從硬盤、cd等中啟動系統(tǒng)
  • log:指定bochs日志記錄的位置
  • mouse:指定鼠標啟用的信息
  • cpu:指定bochs模擬的虛擬機中的cpu信息

bochs鏡像

按照上文配置之后,還需要一個能啟動的軟盤鏡像,才能真正的進入到虛擬機系統(tǒng)。還好,bochs官方提供了一些已經制作好的軟盤虛擬機系統(tǒng)供我們使用,我們可以從官網(wǎng)下載的鏡像直接使用,下載地址:https://bochs.sourceforge.io/diskimages.html

我們下載一個來測試一下,本文下載的是freedos的一個軟盤啟動鏡像,下載地址參考這里,下載之后解壓,會出現(xiàn)目錄freedos-img,進入目錄后如下:

freedos-img
├── a.img
├── b.img
├── bochsrc
├── bx_enh_dbg.ini
└── c.img

可以查看一下配置文件bochrc的內容:

$ cat bochsrc
megs: 32
romimage: file=$BXSHARE/BIOS-bochs-latest
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
vga: extension=vbe, update_freq=15
floppya: 1_44=a.img, status=inserted
floppyb: 1_44=b.img, status=inserted
ata0-master: type=disk, path=c.img, cylinders=306, heads=4, spt=17
boot: c
log: bochsout.txt
mouse: enabled=0
cpu: ips=15000000

從軟盤鏡像啟動,使用命令啟動bochs -f bochsrc,用freedos自帶的配置文件,啟動如下:

freedos-img$ bochs -f bochsrc 
========================================================================
                        Bochs x86 Emulator 2.7
              Built from SVN snapshot on August  1, 2021
                Timestamp: Sun Aug  1 10:07:00 CEST 2021
========================================================================
00000000000i[      ] BXSHARE not set. using compile time default '/usr/local/share/bochs'
00000000000i[      ] reading configuration from bochsrc
------------------------------
Bochs Configuration: Main Menu
------------------------------

This is the Bochs Configuration Interface, where you can describe the
machine that you want to simulate.  Bochs has already searched for a
configuration file (typically called bochsrc.txt) and loaded it if it
could be found.  When you are satisfied with the configuration, go
ahead and start the simulation.

You can also start bochs with the -q option to skip these menus.

1. Restore factory default configuration
2. Read options from...
3. Edit options
4. Save options to...
5. Restore the Bochs state from...
6. Begin simulation
7. Quit now

Please choose one: [6] 
00000000000i[      ] installing x module as the Bochs GUI
00000000000i[      ] using log file bochsout.txt
Next at t=0
(0) [0x0000fffffff0] f000:fff0 (unk. ctxt): jmpf 0xf000:e05b          ; ea5be000f0
<bochs:1> c

因為我們使用的是debug版本,因此選擇6. Begin simulation,啟動后會進入調試模式,需要輸入c才會繼續(xù)運行,啟動成功后,bochs界面如下:

bochs啟動界面
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容