bochs使用手册

调试操作系统-bochs使用入门 调试操作系统-bochs使用入门 1.安装bochs 安装bochs之前的准备: sudo apt-get install build-essential sudo apt-get install libgtk2.0-dev sudo apt-get install libc6-dev 命令行安装 sudo apt-get install vgabios bochs bochs- 阅读详情

对于每一个尝试自己写计算机开机引导甚至是一个操作系统的人来说bochs是一个很好用的工具,强大的调试功能以及自带的制作虚拟盘的工具都是亮点。
和大多数人一样,初次接触这个工具难免会比较生疏,所以要把很常用的命令记录下来,以便查看。
本手册不定期更新。

1、如何运行自己的扇区引导

1)、自己写好的扇区引导用nasm编译成.bin为后缀的纯二进制文件。(nasm是一个很强大的编译工具,他可以直接把汇编源程序编译成任何格式的包括.exe和.elf格式的,这部分不是本文的重点,不在此详述)。
2)、用bochs自带的bximage创建一个虚拟软盘(或者虚拟硬盘)(fd是软盘,hd是硬盘)。
3)、将扇区引导的二进制文件刻入刚刚创建的软盘(假设软盘的名称叫做a.img,引导程序叫boot.bin)
dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc

2、freedos的使用

直接把程序刻入创建的虚拟盘中这个方法很简单,但是每次只能写512字节的代码,这个明显不现实。所以我们采用另外一种方法吧我们的程序编译成com文件,然后让dos来执行他。
1)、下载一个freedos的img文件,放在自己的工作目录下,用bximage生成一个新的软盘映像。
2)、修改我们的bochs配置文件,floopya后边的映像改为freedos.img,floppyb后边的映像改为data.img(新创建的软盘映像)
3)、启动bochs,等freedos启动以后格式化一个新盘出来。这里要注意一下,dos格式化命令是format这是一个外部命令,一般情况下直接去官网下载的的freedos的镜像是不能直接运行外部命令的,去网上找一个format.com文件,把这个文件复制进freedos的镜像里边,注意这里是复制进去,不是直接dd进去(我就犯了这样的错误,把这个文件dd进去了,freedos起不来了,他会提示找不到boot文件,因为你dd的时候会清空镜像),复制的步骤就是,先挂载这个镜像,然后把文件复制到挂载点,最后卸载软盘。
4)、这时候引导代码不能直接加载到0x7c00地址处了,而是加载到0x0100处
5)、格式化创建的软盘映像(创建出来的时候对于系统来说并不是一个映像,这个时候挂载系统会认为你挂载的是一个普通文件,所以要先格式化这个映像)。
写入空数据 dd if=/dev/null of=data.img bs=512 count=1 conv=notrunc
将data.img 格式化 loop device sudo losetup /dev/loop0 data.img
格式化这个loop device sudo mkfs.msdos /dev/loop0
删除这个loop device sudo losetup -d /dev/loop0
6)、挂载软盘,写入扇区引导,软盘
sudo mount -o loop data.img /mnt/floppy
sudo cp boot.com /mnt/floppy
sudo umount /mnt/floppy
7)、在freedos中运行程序

操作系统学习6 使用Bochs调试自己的引导程序 一、Bochs简介 Bochs是一个x86 的软件模拟器,用来模拟x86CPU、一些硬件和BIOS等,可以用来运行Windows、Linux等软件。 由于它是纯软件模板,所以运行速度比起VmWare,VirtualBox可能会慢一点。 二、启动镜像的操作过程 1. 下载地址 https://sourceforge.net/projects/bochs/files/bochs/2.6.11/ 安装后启动。 2. 启动一个虚拟机 点Start,启动一个Linux虚拟机。 Power按钮可以关闭虚拟机。 3. 阅读详情

相关推荐

【从头开始写操作系统系列】使用 Bochs 调试操作系统

在上一篇文章《环境搭建以及第一个Hello-World》中,笔者讲了如何安装 bochs 以及运行一个 helloworld 操作系统,但是使用上一篇文章中的方法安装的 bochs 是不支持调试的,下面我讲介绍如何使用源码编译的方法来安装 bochs,以及使用 bochs 来调试操作系统。 编译安装 Bochs 下载 bochs 源码 http://sourceforge.net/projects/

远航 | FIBOS.io 8215

Bochs的初步使用

Bochs是一个x86硬件平台的开源模拟器。它可以模拟各种硬件的配置。Bochs模拟的是整个PC平台,包括I/O设备、内存和BIOS。 通过改变配置,可以指定使用的CPU(386、486或者586),以及内存大小等。一句话,Bochs是电脑里的“PC”。根据需要,Bochs还可以模拟多台PC。它还有自己的电源按钮。 bochs的典型应用是提供x86 PC的完整仿真,包括x86处理器、硬件设备、...

bcbobo21cn的专栏 1465

BOCHS模拟器配置和使用

BOCHS模拟器配置和使用 BOCHS是一个轻量级小型系统模拟器。它可以用来开发引导模块,测试系统。 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 #ata0-master

蓝果的博客 3870

bochs用户手册-5使用bochs

qquad如果Bochs是用5级或更高级别的cpu编译的,那么CPUID操作码是受支持的,它可以返回一些关于cpu模型及其功能的信息。当在Bochs中使用预定义的CPU模型时,CPUID报告的功能将根据模型的规范进行设置。下表显示了所有可用的CPU型号,并进行了简短说明。选择的数量取决于编译时启用的CPU功能(第3列)。表5-3。Bochs CPU型号。

weixin_45499326的博客 2490

BOCHS分析XP MBR

这是小白的第一篇CSDN文章,连发文章的一些技巧都没有掌握,但总比不尝试好嘛。 好的,进入主题,我们今天的任务是BOCHS分析MBR,并且理解它的代码指令。 首先通过借鉴他人的一些经验 用bochs调试mbr-深入mbr调试分析 来调出大概的MBR指令进程。 由于博客中也没有贴出具体的分析步骤,所以这里相当于在原博客的基础上做了分析。这里参考了winhex分析MBR 先对MBR有清楚地了解,其实主...

heydaimy的博客 676

Innovus ECO技巧:用setEcoMode+ecoAddRepeater实现批量buffer替换的5个关键步骤

本文详细介绍了在Cadence Innovus工具中,利用setEcoMode与ecoAddRepeater命令实现高效、批量Buffer/Inverter替换的工程化策略。通过启用批处理模式、构建可维护的替换规则、掌握高级定位技巧以及规避布线陷阱等5个关键步骤,帮助芯片设计工程师在ECO阶段大幅提升修改效率与质量,确保设计稳定签核。

d6e7f8的博客 1108

终极Bochs使用手册:配置文件详解与性能优化技巧

Bochs是一款强大的跨平台x86模拟器,它能够在多种操作系统上模拟x86硬件环境,为开发者和爱好者提供了一个理想的测试和调试平台。本指南将详细解析Bochs配置文件的核心参数,并分享实用的性能优化技巧,帮助你快速上手并充分发挥Bochs的潜力。 ## 一、Bochs配置文件基础 Bochs的配置文件(通常命名为`bochsrc`)是控制模拟器行为的核心。它使用简单的键值对格式,支持注释(以`

gitblog_00668的博客 1080

是德频谱分析仪相位噪声测量实战指南:从原理到精准操作

本文详细介绍了是德频谱分析仪在相位噪声测量中的实战操作指南,从基础概念到高级技巧全面解析。通过5G基站时钟测量等实际案例,展示如何利用是德N9030B等设备精准测量相位噪声,并分享设备预热、参数设置、环境干扰排除等关键操作要点,帮助工程师提升测量精度和效率。

jenkins8butler的博客 225

Bochs相关

Bochs相关

T_Megan的博客 593

时间同步中 TOD 与GPRMC和IRIG-B的区别

时间同步中 TOD 与GPRMC和IRIG-B的区别

ftdlk的博客 1711

UFS电源管理深度解析:从电气特性到功耗模式优化

本文深度解析UFS电源管理,从VCC、VCCQ、VCCQ2三路供电体系切入,详细阐述了UIC链路休眠(HIBERN8)机制与设备七种功耗模式(Active、Idle、Sleep、Power Down)的切换逻辑。文章重点探讨了如何通过主动功耗管理策略与动态调整激活模式电流等级(bActiveICCLevel),在嵌入式与移动设备中实现性能与功耗的精细平衡与优化。

weixin_29243279的博客 484

在LINUX下安装BOCHS

<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } -->                                        在LINUX下安装BOCHS首先BOCHS是一个X86模拟器,可以用他来安装各种在x86系统上运行的

灌水大帝的BLOG 8432

Microchip Studio 7.0 从零开始:下载、安装到首个AVR工程实战

本文为AVR单片机开发新手提供了Microchip Studio 7.0的完整入门指南。从官方下载、避坑安装,到创建首个GCC C工程、编写LED闪烁代码,再到项目配置、仿真调试与程序烧录,手把手带你完成从零到一的实战过程,是掌握AVR开发环境的必备教程。

weixin_29200741的博客 510

Linux下bochs的安装与使用

简单介绍了bochs的安装与使用,在使用方面简单写了一个启动盘用作测试。

皓空Fly的博客 8333

DCDC开关节点SW的Layout抉择:打孔换层与EMI共模辐射的权衡

本文深入探讨了DCDC转换器中开关节点SW的Layout设计对EMI共模辐射的影响。通过分析SW节点的EMI辐射机制、打孔换层对输入环路的影响以及铜皮面积与共模辐射的量化关系,提出了工程实践中的权衡策略和优化方法,帮助工程师在设计中平衡EMI性能和电路效率。

weixin_29722783的博客 243

从生产订单到整车交付,SAP 离散制造在汽车行业里的真实落点

汽车行业谈数字化,很容易一上来就谈智能工厂、数字孪生、AI 排产、无人仓、视觉质检。可落到 SAP 项目现场,真正把工厂撑起来的,往往还是几个很朴素的问题,客户订单来了以后,BOM 能不能准确展开,物料能不能准时到线,产能有没有被过度承诺,生产订单能不能被车间正确执行,质量问题能不能追溯,成本能不能按工单和批次沉淀下来。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 104

BOCHS 使用

BOCHS 使用 姓名:梁飞地址:西北工业大学818#信箱邮编:710072电话:13571493710qq:27560249感谢作者写的文章,我觉得很有用,是学习操作系统很有用的参考资料,所以把它放在blog上。Bochs是由Kevin Lawton 于1994年开始开发的一个用于完全模拟Intel的x86模拟器。开始它仅仅是一个商业产品,不过您可以购买到

小有的专栏 1万+

【maven】maven 3.8.1 版本编译java 17的项目报错 java.lang.ExceptionInitializerError to make field private com.s

排查发现一切正常,但是内网就是不行,然后我就想把我的程序从java 11 改成java 17,然后执行编译的时候报错。这个问题是我们内网java代码升级,项目比较复杂,是从java 8 升级到java 17,然后报错。maven-compiler-plugin 3.8.1 版本编译java 17的项目,报错。然后查看一下这个项目的lombok,结果发现还是老的版本。怀疑是不是这个问题呢?使用最新的版本就可以了。

九师兄 777

bochs 详细介绍

BOCHS 简介及配置 Bochs 简介 Bochs(读音同 Box)是用C++开发的以 LGPL 许可证发放的开放源代码的x86,x86-64模拟器,模拟整个PC。它被设计成可以运行于多种主流平台下,包括x86, PPC, Alpha, Sun和MIPS。 和 Bochs 类似的虚拟机软件还有:VMware,Virtual PC,VirtualBox,但这些都使用了虚拟化技术,部分指...

wanyongtai的博客 2万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

bochs在windows下的使用

Bochs是由Kevin Lawton 于1994年开始开发的一个用于完全模拟Intel的x86模拟器。开始它仅仅是一个商业产品,不过您可以购买到它的源程序。在2000年3月这个时刻,Mandrakesoft买下了Bochs,并把它置于GNU LGPL下使之成为一个开源程序。在2001年3月,Kevin把Bochs的家从bochs.com移到了bochs.sourceforge.net,到现在为止

Mr yau的专栏 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

用bochs调试自己写的系统引导代码

https://blog.csdn.net/u011006622/article/details/55504657 1 安装和配置bochs   首先从bochs.sourceforge.net里面把BOCHS给download下来,鉴于Windows的普及,仅仅谈BOCHS在win下的使用方法,其实在其它的OS中方法差不多,不过我仅仅在Window和Linux下安装使用过。   在boch...

guozuofeng的博客 489

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

android bochs,BOCHS手机版APP

BOCHS安卓版是一款运行在安卓手机上的pc模拟器软件。简单来说,就相当于在手机上安装了一个电脑系统,你可以根据小编收集来的使用教程,在手机上查看PC模式的桌面以及操作!Bochs是免费的C++开发可移植的IA-32(x86)模拟器,Bochs几乎可以运行在Linux、Windows 95、DOS、Windows NT 4、FreeBSD、MINIX等所有平台上。它包括对 Intel x86 CP...

weixin_32260467的博客 1730

bochs 调试

未完成,暂时请忽视 &amp;lt;bochs:2&amp;gt; b 0x7c00 &amp;lt;bochs:3&amp;gt; c (0) Breakpoint 1, 0x00007c00 in ?? () Next at t=12943099 (0) [0x00007c00] 0000:7c00 (unk. ctxt): mov ax, cx ; 89c8 &amp;lt;bochs:4&amp;gt; s...

zhangji 999

bochs - bximage

前言 想将U盘镜像用winhex复制成文件后,供bochs使用。 在指定.bxrc时,填写的cylinders, heads, spt是用DiskGenius看到的参数,bochs却提示磁盘容量和参数不匹配。 看了pediy上一同学的文章,发现最简单的解决方法是,建立一个比实际U盘稍大的bochs镜像。将winhex复制出来的U盘镜像替换到bochs镜像的0字节位置。等在bochs中调试妥当后,再...

博客标题不能为空 1564

利用bochs(虚拟机)调试自写os代码

利用bochs(虚拟机)调试自写os代码  引言在OS的开发中,为了测试代码的正确性,需要用编写完成的代码去频繁的启动目标计算机;同时新的OS代码在目标机器上运行时由于缺少调试环境的支持也极大地增加了OS开发的难度。虚拟机软件是一种在现有OS平台上利用软件模拟的方法虚拟出一台计算机的软件系统,通常大家使用虚拟机软件都是为了同时使用多个操作系统,比方说在windows环境下使用linux

程先的专栏 4064
上一篇: bochs安装及配置
下一篇: 当我们谈论开机的时候我们都在谈论什么(二)——保护模式
wenshizhang
博客等级 码龄15年 86粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值