制作一个启动软盘并用bochs模拟器启动

2025-07-19 19:03:19

1.bximage创建软盘。

选1

默认[1.44M]

起名boot.img

status=inserted表示已经插入该软盘

2.编译boot.asm汇编编写的引导程序。

使用nasm编译器进行编译。

-o 参数: nasm 文件名 -o 目标程序名

-o 和gcc一样表示输出文件。

编译命令:

nasm boot.asm -o boot.bin

3.使用dd命令把引导程序强制写入到虚拟软盘的固定扇区内。

dd if=boot.bin of=./boot.img bs=512 count=1 conv=notrunc

conv=notrunc: 写入数据后,不改变输出文件的尺寸大小。

4.配置bochs虚拟机配置文件。

# configuration file generated by Bochs

plugin_ctrl: unmapped=1, biosdev=1, speaker=1, extfpuirq=1, parallel=1, serial=1, iodebug=1

config_interface: textconfig

display_library: x

#memory: host=2048, guest=2048

romimage: file="/home/hao/work_pro/bin_bochs/share/bochs/BIOS-bochs-latest"

vgaromimage: file="/home/hao/work_pro/bin_bochs/share/bochs/VGABIOS-lgpl-latest"

boot: floppy

floppy_bootsig_check: disabled=0

floppya: type=1_44, 1_44="boot.img", status=inserted, write_protected=0

# no floppyb

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

ata0-master: type=none

ata0-slave: type=none

ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15

ata1-master: type=none

ata1-slave: type=none

ata2: enabled=0

ata3: enabled=0

pci: enabled=1, chipset=i440fx

vga: extension=vbe, update_freq=5

cpu: count=1:1:1, ips=4000000, quantum=16, model=corei7_haswell_4770, reset_on_triple_fault=1, cpuid_limit_winnt=0, ignore_bad_msrs=1, mwait_is_nop=0, msrs="msrs.def"

cpuid: x86_64=1,level=6, mmx=1, sep=1, simd=avx512, aes=1, movbe=1, xsave=1,apic=x2apic,sha=1,movbe=1,adx=1,xsaveopt=1,avx_f16c=1,avx_fma=1,bmi=bmi2,1g_pages=1,pcid=1,fsgsbase=1,smep=1,smap=1,mwait=1,vmx=1

cpuid: family=6, model=0x1a, stepping=5, vendor_string="GenuineIntel", brand_string="Intel(R) Core(TM) i7-4770 CPU (Haswell)"

print_timestamps: enabled=0

debugger_log: -

magic_break: enabled=0

port_e9_hack: enabled=0

private_colormap: enabled=0

clock: sync=none, time0=local, rtc_sync=0

# no cmosimage

# no loader

log: -

logprefix: %t%e%d

debug: action=ignore

info: action=report

error: action=report

panic: action=ask

keyboard: type=mf, serial_delay=250, paste_delay=100000, user_shortcut=none

mouse: type=ps2, enabled=0, toggle=ctrl+mbutton

speaker: enabled=1, mode=system

parport1: enabled=1, file=none

parport2: enabled=0

com1: enabled=1, mode=null

com2: enabled=0

com3: enabled=0

com4: enabled=0

megs: 2048

5.启动bochs。

bochs -f ./bochsrc

6.输入c进行继续执行。

cf穿越火线哪个国家最厉害
穿越火线塔防攻略-cf塔防模式攻略