当前位置:网站首页>制作一个启动软盘并用bochs模拟器启动
制作一个启动软盘并用bochs模拟器启动
2022-08-10 05:36:00 【刘十彡】
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进行继续执行。
边栏推荐
猜你喜欢
随机推荐
【简易笔记】PyTorch官方教程简易笔记 EP2
I don't like my code
请亲们关注下我,谢谢了。
每日刷题(day03)——leetcode 899. 有序队列
样条曲线(下)之插值问题(贝塞尔曲线、B样条和一般样条曲线插值)
I don't like my code
剑指 Offer(第 2 版)7/5 5-8
ASP.NET连接SQL Server的步骤
屏幕后期处理之:Sobel算子实现边缘检测
STM32F407ZG TIM通用定时器
常用模块封装-pymysql、pymongo(可优化)
氨氮的有效吸附材料
Flutter Package 插件开发
【图像识别】训练一个最最简单的AI使其识别Vtuber
【简易笔记】PyTorch官方教程简易笔记 EP1
【fiddler4】使用fiddler设置简单并发
C#对MySQL数据库进行增删改查操作(该操作还有防止MySQL注入功能)
Radon 变换原理和应用
Unity中采用二进制存档与读档
markdown类图学习









