admin管理员组

文章数量:1597475

文章目录

  • ubuntu20.04 bochs配置安装操作系统真象还原环境
    • 前置配置:ubuntu20.04安装和vmtools,vscode安装,配置清华源
      • ubuntu20.04安装
      • [vmtools 和 vs code 一并安装](https://editor.csdn/md?not_checkout=1&articleId=120155847)
      • 将linux默认镜像改为清华镜像源
    • 配置所需的环境
    • 安装bochs
      • 1.下载bochs
      • 2.执行./configure 配置文件,自动生成Makefile
      • 3.安装
    • 配置磁盘
      • 1.创建配置文件
      • 2.创建hd60M.img
      • 3.运行成功!
    • shell脚本的一些事
    • 操作系统真象还原源代码

ubuntu20.04 bochs配置安装操作系统真象还原环境

本文从零开始配置《操作系统真象还原》的代码,几乎和Windows使用类似。
如果你想要快一点,那么直接用下面这个代码,直接傻瓜式执行几步即可
然后 执行这个脚本即可。事实上我推荐这么干哈哈

 #!/bin/bash
usr=`whoami`
your_path="/home/$usr/zhengxiang" # 你也可以改路径
cd /home/$usr
! (test -d zhengxiang) && mkdir zhengxiang 
sudo apt-get -y install gcc
sudo apt-get -y install g++
sudo apt install -y make
sudo apt-get -y install build-essential
sudo apt-get -y install libgtk2.0-dev
sudo apt install -y libx11-dev
sudo apt-get -y install libxrandr-dev
sudo apt-get -y install gcc-multilib #后面编译32位程序用的

# https://deac-ams.dl.sourceforge/project/bochs/bochs/2.6.9/bochs-2.6.9.tar.gz #外网太慢
tar -zxvf bochs-2.6.9.tar.gz -C $your_path/
cd $your_path/bochs-2.6.9/

#!/bin/bash

./configure \
--prefix=$your_path/bochs \
--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

echo "#关键字为 megs
megs: 32

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

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

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

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

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

# 启动盘信息   
ata0-master: type=disk, path=\"$your_path/bochs/bin/hd60M.img\", mode=flat" > $your_path/bochs/bin/bochsrc.disk

# !/bin/bash
path="$your_path/bochs/bin/"  #bin  # 大伙记得改下路径
cd $path
rm hd60M*  # 先删除,当然这条语句第一次肯定会执行失败,不过也不影响后面的创建
echo -e "1\nhd\nflat\n60\nhd60M.img"|./bximage  # 利用bximage 创建一个60M的硬盘


$your_path/bochs/bin/bochs -f bochsrc.disk

这个脚本的具体操作方法是把下载好的(如果你没有,链接:https://pan.baidu/s/12-2sLZ_Le7BsZjC_HBup5Q
提取码:linx)boch-2.6.9.tar.gz 放到~目录下!!
,然后看我第二个图的执行方法,code install.sh就是创建一个文件,你用别的命令也一样,比如vim什么的,但是得把上面得代码复制进行就可以了,剩下得就是bash install.sh启动脚本就行。它会自己安装完。


运行完之后如下图是这样就好啦,你可以按6执行也可以直接ctrl+c推出,如果bochs出不来提示什么下Cannot Connect to X display或者message 什么的, 可以参考我的另一篇博客 事实上,解决这个方法的一个屡试不爽的方法就是XShell,直接用xshell,它的转发一般都能用。

下图就会是你以后的工作路径

下面正式开始用VMware15从一个新装的ubuntu20.04开始配置并最后运行bochs

前置配置:ubuntu20.04安装和vmtools,vscode安装,配置清华源

ubuntu20.04安装

整个过程其实就是一直点下一步..不过安装路径分配CPU和内存要根据自己电脑的大小改动,如果是8G内存的话最多分配2G就好啦。

vmtools 和 vs code 一并安装

因为直接下载国外的软件太慢了,所以我们将linux默认镜像改为清华镜像源

将linux默认镜像改为清华镜像源

配置所需的环境

好啦,接下来我们要先安装bochs所需要的环境,咱们先下图的命令行操作,咱们创建一个shell脚本 sh.sh

code sh.sh
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

打开vmtools,一开始是在桌面的,我们点到home目录,然后将下载好的bochs拉过去即可

大家也可以去官网下载,但是因为是境外服务器比较慢,所以我分享了出来:

链接:https://pan.baidu/s/12-2sLZ_Le7BsZjC_HBup5Q
提取码:linx


咱们ls一下,可以发现已经解压过来啦,之后就是进入啦

tar -zxvf bochs-2.6.9.tar.gz
cd bochs-2.6.9/


2.执行./configure 配置文件,自动生成Makefile

code bochs.shell
shell bochs.shell

将这些复制到 bochs.sh中,记得修改一下your_path

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

./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
#这个是处理后面可能报的错误
#这个也是处理后面可能报的错误

操作过程

3.安装

执行这两条指令就安装好啦,执行完ls就可以看到bochs啦

make
make install

配置磁盘

咱们先 运行一下,可以发现默认选项是[2] 代表咱们没有配置硬盘所以接下来就配置硬盘啦 按 ctrl + c 退出

cd bochs/bin/
./bochs
ctrl + c 

1.创建配置文件

code bochsrc.disk

将下面的语句,直接复制进去bochsrc.disk 就好啦。这个要改的比较多,大伙可以 在vs code 里 ctrl + F直接输入linxi全部一键改为自己的用户名即可

#关键字为 megs
megs: 32

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

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

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

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

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

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


配置文件信息咱们设置好啦,咱们可以试着运行一下

bin/bochs -f bochsrc.disk

看下图可以发现默认是6了,说明这个bochs这个虚拟机可以跑啦,当然按回车之后还是不能运行的,因为咱们的hd60M.img还没有创建呢哈哈

2.创建hd60M.img

咱们接着写一个脚本de.sh

code de.shell

里面的path得改成自己的

# !/bin/bash
path="/home/linxi/bochs/bin"  #bin  # 大伙记得改下路径
cd $path
rm hd60M*  # 先删除,当然这条语句第一次肯定会执行失败,不过也不影响后面的创建
echo -e "1\nhd\nflat\n60\nhd60M.img"|./bximage  # 利用bximage 创建一个60M的硬盘

3.运行成功!

创建好这个之后咱们运行一下

./bochs -f bochsrc.disk

默认是6 咱们回车之后是黑屏,是因为咱们进的调试模式,

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

shell脚本的一些事

之后咱们读写的硬盘都是hd60M.img,创建de.sh呢是因为我在后面调试的时候,经常会出现把硬盘弄的启动不了的情况emm,所以为了方便我直接

mv de.shell de
chmod 755 de
cp de /usr/bin/

这样之后无论在哪个文件夹,只要磁盘崩了,咱们都可以直接 de 就很方便啦

de 

还有这个./bochs -f bochsrc.disk也不是很方便,所以就又写了一个run脚本

code run
chomd 755 run
sudo cp run /usr/bin/
run 
# !/bin/bash
path="/home/linxi/bochs/bin"  #bin  # 大伙记得改下路径
cd $path
echo -e "\nc"|./bochs -f bochsrc.disk  

这echo 加不加都行,我就是偷个懒不想按,不过等到以后要调试的时候还是得把echo去掉的哈哈哈

操作系统真象还原源代码

本文标签: 真象操作系统环境bochs