VMware-Ubuntu安装bochs

2023-11-19

我的运行环境是VMware的Ubuntu

首先大家可以按照CSDN上的教程按照符合自己需求的虚拟机。我在上午还在VMware和virtualBox之间做选择,但是由于已经安装过了VMware,所以我就直接用了VMware,当然了,一千人眼中有一千个哈默雷特,适合自己的才是最好的。

废话不多说,我将结合截图大致记录我的安装历程。

按照csdn上的教程安装好虚拟机后,我们首先需要下载一个bochs的安装包

链接:https://pan.baidu.com/s/1HjPVGpNwD3iLD6e9YVJhoQ?pwd=byir 提取码:byir

由于看的帖子都说在虚拟机上安装慢一些,推荐在windows上安装好后再复制过去,所以我也采用了这种方法,果不其然,速度很快。

复制到我的虚拟机上的效果图如图所示 

下一步是我在很多教程中看见的,解压。

打开命令行,输入tar -zxvf bochs-2.6.9.tar.gz

效果图如下,因为我前几次安装失败了,但是只有版本号不一样,如图是2.6.8 我安装成功的版本是2.6.9     以2.6.8解压成功的截图为例

我们需要编写一个文本文件,无论是vim还是code都可以(下文也会再编写),选择一个适合自己的,安装这两个其中之一即可满足安装bochs的需求。

命令是 sudo apt-get install vim 如果报错可以上网搜一搜,可能是其他的没有安装。

我用的是vim创建,由于已经创建过了,所以我只写出来代码

vim sh.sh

sh ./sh.sh

 画红圈的就是写好的文件

接下来再把这段话复制到命令行上

#!/bin/bash
sudo apt-get install gcc
sudo apt-get install g++
sudo apt install make
sudo apt-get install build-essential
sudo apt-get -y install libgtk2.0-dev
sudo apt install libx11-dev
sudo apt-get install libxrandr-dev
sudo apt-get install gcc-multilib #后面编译32位程序用的
 

安装bochs

1:上面我们已经解压了bochs,接下来我们cd到bochs-2.6.9中

2:接下来:

vim bochs.shell

shell bochs.shell

创建一个文件bochs,随后把这些复制到bochs.sh中(如果没有就再创建一个bochs.sh   对应的命令为vim bochs.sh    code bochs.sh也可以,具体看自己安装了哪一个)

#!/bin/bash
your_path='/home/heng' # 大家记得换成自己的路径,其实就改成你的用户名就可以啦

./configure \
--prefix=$your_path/bochs-2.6.9\
--enable-debugger \
--enable-disasm \
--enable-iodebug \
--enable-x86-debugger \
--with-x \
--with-x11 \
LDFLAGS='-pthread' \
LIBS='-lX11'      

# 这是上面每条语句的意思
#用来指定bochs的安装目录,将your_path就是你的安装路径
#打开bochs 自己的调试器
 #使用bochs 支持反汇编
 # 启用io 接口调试器
 # 支持x86调试器    
 # 使用x Windows 
 # 使用xWindows
#这个是处理后面可能报的错误
#这个也是处理后面可能报的错误
 

运行结果-出现即成功

随后输入 make进行安装

再输入make install 

如果需要权限就输入sudo

这一步操作完记得查看自己的路径!自己保存路径下是否有蓝色的bochs 蓝色代表目录,绿色是可执行文件。

 接下来就是cd到bochs中

然后cd到bochs中的bin目录下面,ls展示当前目录下面的文件,当看见绿色的bochs时候,就可以输入bochs,然后会看见出现如图所示的结果。我这个是配置好的bochs,第一次可能会出现please choose one:[2] 

这个是正常的,因为我们还没配置硬盘

推荐一种方法,在系统提示的前提下完成安装过程。

我们输入bximage --help  bximage后面是有一个空格字符的 

我们先按按ctrl+c退出。

接下来配置文件。

vim bochsrc.disk 或者 code bochsrc.disk

将接下来的语句复制进bochsrc.disk。在windows中ctrl+c复制后,在linux中粘贴要按shift+ctrl+v

最重要的一点要改路径

#关键字为 megs
megs: 32

#设置对应真实机器的 BIOS 和 VGA BIOS 。
#对应两个关键字为 : romimage 和 vgaromimage
romimage: file=/home/heng/zhengxiang/bochs/share/bochs/BIOS-bochs-latest
vgaromimage: file=/home/heng/zhengxiang/bochs/share/bochs/VGABIOS-lgpl-latest

#选择启动盘符
boot: disk  #从硬盘启动

# 设置日志文件的输入位置
log: /home/linxi/bochs/bochs.out

# 关闭鼠标,打开键盘
mouse: enabled=0
keyboard: keymap=/home/heng/zhengxiang/bochs/share/bochs/keymaps/x11-pc-us.map

# 设置硬盘
ata0: enabled=1,ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14

# 启动盘信息   
ata0-master: type=disk, path="/home/heng/zhengxiang/bochs/bin/hd60M.img", mode=flat

 把红线表出的换成自己设置的路径即可。

 

粘贴完成后,按esc 随后:wq退出。然后bin/bochs -f bochsrc.disk试一下

 成功了!这表示我们的操作没有问题,默认是6,回车之后是黑屏,因为咱们进入的是调试模式

 接下来咱们在箭头处输入c(continue),按回车,接下来可以看到:这里提示没有启动盘,也就是没有MBR,但是这说明咱们的bochs装好了。

一种更快捷的访问方式:

 bochs -f bochsrc.disk

出现以上两个图就说明安装成功了。

补充:如果出现报错提示,建议重新解压安装包并重新安装,例如我安装过程中出现了:

 

 这种情况如果一两次还好,可以搜索报错提示弥补一下,如果还有类似的情况,还是推荐重新安装。

我期间也报出了这样的错误,感谢csdn的大佬的帮助!

 

接下来的学习我将继续更新!我们一起加油吧!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VMware-Ubuntu安装bochs 的相关文章

  • ELF 文件头

    关于 elf 文件头的一个简单问题 我似乎找不到任何关于如何在 elf 头中添加 更改字段的有用信息 我希望能够更改幻数并向标题添加构建日期 以及可能的其他一些内容 据我了解 链接器创建标头信息 但我在 LD 脚本中没有看到任何引用它的内容
  • 如何在 linux bash shell 中对字符串数组进行排序? [复制]

    这个问题在这里已经有答案了 例如 数组是 link2 pathname link1 pathname link3 pathname 我怎样才能得到像下面这样的数组 link1 pathname link2 pathname link3 pa
  • 修改文本文件而不读入内存

    我试图找出一种修改文本文件 特别是删除特定行 的方法 而无需将文件的大部分读取到内存中或重写整个文件 这里讨论的是大于主内存约 15 50 Gigs 的文件 附 我正在使用Linux 你不会逃避创建一个新文件 所以就硬着头皮去做吧 使用gr
  • Python 套接字库认为套接字未打开时已打开

    我正在使用一些Python 如下所示 HOST 127 0 0 1 PORT 43434 single socket socket socket AF INET socket SOCK STREAM try single bind HOST
  • 减少内存分配GCC命令

    今天 在我的计算机科学课上 我被告知我可以调整程序在编译期间可以分配的内存量 使用 GCC Linux 该数量默认设置为最佳模式 这意味着尽可能多 在调试应用程序期间 我可以从这个编译器功能中受益匪浅 因为我需要正确处理分配错误 这在我的
  • 如何找到某个命令的目录?

    我知道 当您使用 shell 时 唯一可以使用的命令是可以在 PATH 上设置的某些目录中找到的命令 即使我不知道如何查看 PATH 变量上的目录 这是另一个可以回答的好问题 我想知道的是 我来到 shell 并写道 lshw 我想知道 s
  • 在 Kali (Debian) 中安装 mono-devel 时,软件包具有未满足的依赖关系

    我尝试安装 mono devel 并输入sudo apt get mono devel在终端中 但失败了 得到以下结果 apt get install mono devel Reading package lists Done Buildi
  • Linux 上的最大子进程数

    下面的代码将产生尽可能多的子级 自己不会进一步fork 一旦父进程退出就会变成僵尸 父进程将产生多少个子进程 int main int argc char arg while fork gt 0 子进程的数量可以通过以下方式限制设置限制 2
  • 如何在 Linux 中检测通过 GUI 登录的用户

    我想在我的程序中捕获通过 GUI 登录的用户名 我的程序作为守护进程从 root 登录运行 如果非 root 用户通过 GUI 登录 我的程序应该会收到通知 我正在粘贴我当前的程序 该程序调用一个 perl 脚本 利用系统调用来检查当前登录
  • 窗口放置:适用于 Linux (KDE) 的类似 WinSplit Revolution 的应用程序? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 适用于 Linux KDE 的类似 WinSplit Revolution 的应用程序是什么 或者也许 KDE 中有一个我缺少的功能 平铺通常是窗口管
  • Bash:更新文件中的变量

    我知道这是一个简单的答案 在找到答案之前我可能可以继续在谷歌上进行挖掘 但我的日程很紧 我希望能得到一个轻松的答复 我需要在安装时更新 ifcfg eth0 中的变量 换句话说 这就是需要发生的事情 以下变量需要更改 ONBOOT no B
  • 您可以bind()和connect() UDP连接的两端吗

    我正在编写一个点对点消息队列系统 它必须能够通过 UDP 运行 我可以任意选择一侧或另一侧作为 服务器 但这似乎不太正确 因为两端都从另一端发送和接收相同类型的数据 是否可以绑定 和连接 两端 以便它们只能彼此发送 接收 这似乎是一种非常对
  • CMake:不要为链接中使用的单个库设置 rpath

    我想要做的是配置我的 CMakeLists 文件 以便在构建我的项目时 链接器使用驻留在我的构建树中的共享库 so 的副本来链接可执行文件 但不会在中设置 rpath链接的可执行文件 以便系统必须在加载程序请求时提供该库 具体来说 我想在构
  • Cuda 6.5 找不到 - libGLU。 (在 ubuntu 14.04 64 位上)

    我已经在我的ubuntu上安装了cuda 6 5 我的显卡是 GTX titan 当我想要制作 cuda 样本之一时 模拟 粒子 我收到这条消息 gt gt gt WARNING libGLU so not found refer to C
  • “排序文件名 | uniq”不适用于大文件

    我可以从小文本文件中删除重复条目 但不能从大文本文件中删除重复条目 我有一个 4MB 的文件 文件的开头如下所示 aa aah aahed aahed aahing aahing aahs aahs aal aalii aalii aali
  • PHP exec - 检查是否启用或禁用

    有没有办法检查 php 脚本是否exec 在服务器上启用还是禁用 这将检查该功能是否确实有效 权限 权利等 if exec echo EXEC EXEC echo exec works
  • 如果specfile中的某些条件不满足,如何中止rpm包的安装?

    还有一些事情Requires标签不满足 所以我写了一个脚本来验证这些东西 但是我把它们放在哪里呢 如果没有找到 那么我想退出安装 提示用户在尝试再次安装此 rpm 之前执行这些步骤 writing exit 1 in installtag
  • 安装 Pillow 错误:安装脚本退出并出现错误:命令“x86_64-linux-gnu-gcc”失败,退出状态为 1

    当我尝试安装 Pillow 2 5 3 时 我收到错误 命令 x86 64 linux gnu gcc 失败 退出状态为 1 这是所发生事件的完整日志 http pastebin com 5k2TsyJY 我需要这个库作为另一个 pytho
  • 启动jetty服务器时出现NoClassDefFoundError

    我正在尝试在码头服务器中托管我的网络应用程序 spring 我将 war 文件复制到 jetty 服务器中的 webapp 文件夹中 我并不是想嵌入jetty服务器 而是试图在jetty内托管应用程序 如tomcat 我没有安装jetty
  • SSL 和 Tkinter 不存在于 Python 3.5.2、Debian Linux 的源代码构建中

    我刚刚将 Python 3 5 2 下载到我的 Debian 机器上并使用以下命令构建它 configure make make test sudo make install 一切正常 但在make test输出中 它显示安装程序由于未安装

随机推荐

  • python服务器开发debug_如何使用PyCharm开发和调试服务器上的代码

    0x00 前言 之前调试Python程序的时候一直都使用的是pdb 一个Python内置的调试模块 然后拿本地的源码进行比对 偶然听 周佩雨 ph师傅提到可以使用PyCharm对远端服务器上的代码进行调试 同时还可以对多进程类程序进行调试
  • 蓝牙打开流程

    通常两种打开方式 一个是在菜单Setting上打开 一种就是自动打开 default on 两种都是最终调用IBluetooth enable 来打开的 启动蓝牙BluetoothService frameworks base servic
  • osg orbitManipulator拖拽位置不精确的问题解决。

    实际上 就是个焦距和视距的问题 摄像机在不同的位置 远近切面会改变 但是fovy和aspectRatio不改变 这样 也会导致近切面的宽高发生改变 就类似于一个无限延伸的视锥体滑梯 远近切面就在这滑梯上滑动 由于最终物体要投影到近切面 而近
  • Ubuntu安装g++

    在编译之前我们需要在系统里安装G GCC 它们就是Linux下的C C的编译器 代码如下 代码 sudo apt get install build essential 好 现在我们在文本编辑器里写一个C的简单的程序 好像所有学习C或者C
  • MQ的基本原理是怎样的?MQ的优点有哪些?MQ的核心概念包括哪些?MQ的消息传递模式有哪些?

    1 MQ的基本原理是怎样的 MQ 消息队列 是一种面向消息的中间件 用于实现不同系统之间的异步通信 其基本原理如下 生产者 Producer 将消息发送到消息队列中 而不是直接发送给消费者 Consumer 消息队列将接收到的消息存储在内部
  • Python字符串的截取

    字符串元素的截取 Python中的字符串用单引号 或双引号 括起来 同时使用反斜杠 转义特殊字符 字符串的截取的语法格式如下 变量 头下标 尾下标 索引值以 0 为开始值 1 为从末尾的开始位置 加号 是字符串的连接符 星号 表示复制当前字
  • 怎么优化深层神经网络(超参、正则以及优化)

    在训练神经网络时 我们需要做出很多决策 比如 神经网络分多少层 每层含有多少个隐藏单元 学习速率是多少 各层采用哪些激活函数等等 我们不可能从一开始就准确的预测出这些超参数 因为应用机器学习是一个高度迭代的过程 通常在项目启动时 我们会先有
  • 小程序识别车牌php,微信小程序——车牌键盘输入js+css

    请输入车牌号码 carNo item 清空 关闭 item OK Del pages jp cp jp cp wxss lf float left rt float right tel border bottom 2rpx solid dd
  • Python常用函数笔记汇总1

    清理 重塑 转换 numpy where condition x y 1 这里x y是可选参数 condition是条件 这三个输入参数都是array like的形式 而且三者的维度相同 2 当conditon的某个位置的为true时 输出
  • 树莓派启用ll命令

    前言 在Linux系统中ll命令是ls l的快捷命令 在树莓派中默认是禁用的 通过修改配置文件将其开启 启用说明 vi bashrc 找到以下位置 将 删除 some more ls aliases alias ll ls l alias
  • ubuntu中的终端是区分大小写的

    ubuntu中的终端是区分大小写的
  • 主成分分析法(PCA)的理解(附python代码案例)

    目录 一 PCA简介 二 举个例子 三 计算过程 公式 3 0 题干假设 3 1 标准化 3 2 计算协方差矩阵 3 3 计算特征值和特征值向量 3 3 多重共线性检验 可跳过 3 4 适合性检验 可跳过 3 5 计算主成分贡献率及累计贡献
  • 什么是protocol分层,垂直service??计算机网络详解【计算机网络养成】

    内容导航 分组丢失和延时 发生原因 四种分组延时 节点处理延迟 排队延迟 传输延时 Transmission 传播延时 Propagation 使用cmd命令tracert 和 tracerert 来检查延迟 分组丢失 吞吐量 有效的数据量
  • 【网易】星际穿越

    简单数学 include
  • QT实现电子时钟

    QT实现电子时钟 实现方法 实现效果 代码 头文件 源文件 实现方法 主窗口QDialog调用QLCDNumber窗口 实现效果 代码 头文件 dialog h ifndef DIALOG H define DIALOG H include
  • Git使用(3)常见报错

    仅限于当时当地情况下的处理方式 不代表所有情况 Q Refusing to fetch into current branch refs heads master of non bare repository A 在当前分支下fetch g
  • (详细步骤和代码)利用A100 GPU加速Tensorflow

    利用A100 GPU加速Tensorflow NVIDIA A100 基于 NVIDIA Ampere GPU 架构 提供一系列令人兴奋的新功能 第三代张量核心 多实例 GPU MIG 和第三代 NVLink Ampere Tensor C
  • 2022-2028年中国商用车产业园区行业市场竞争态势及未来前景分析报告

    智研咨询发布的 2022 2028年中国商用车产业园区行业市场竞争态势及未来前景分析报告 共十五章 首先介绍了商用车产业园区行业市场发展环境 商用车产业园区整体运行态势等 接着分析了商用车产业园区行业市场运行的现状 然后介绍了商用车产业园区
  • 用elasticsearch聚合函数实现distinct查询

    1 等价的sql Sql代码 SELECT DISTINCT field1 field2 FROM test index test type 等价于 Sql代码 SELECT field1 field2 FROM test index te
  • VMware-Ubuntu安装bochs

    我的运行环境是VMware的Ubuntu 首先大家可以按照CSDN上的教程按照符合自己需求的虚拟机 我在上午还在VMware和virtualBox之间做选择 但是由于已经安装过了VMware 所以我就直接用了VMware 当然了 一千人眼中