《操作系统真象还原》学习笔记:第1章 部署工作环境

**提示:**这篇文章是根据学长提供的教程《操作系统真象还原》第一章 部署工作环境来完成的,我按照学长给的教程一步一步做下来,再结合《操作系统真象还原》这本书,对实验环境进行了配置。以下是我按照教程进行搭建的记录:

1.1 部署工作环境

  1. 物理机操作系统:Windows10
  2. 虚拟机软件:VMware Workstation 17pro
  3. 虚拟机操作系统:Ubuntu 22.04.3 LTS
  4. Bochs下载安装:我下载的版本是2.6.8,下载后的文件是bochs-2.6.8.tar.gz,下载完成后将主机中的文件复制到Ubuntu中,在这里我遇到了一点小麻烦,就是主机中的文件无法复制到Ubuntu中,我在csdn中找了一些解决办法,按照教程首先输入sudo apt-get autoremove open-vm-tools卸载清除了目前Ubuntu中已存在的vm-tools,其次再输入sudo apt-get install open-vm-tools安装vm-tools,安装完成后重新启动Ubuntu虚拟机,但还是没有解决,后来经过一番摸索,发现我没有开启虚拟机中的共享文件夹,开启之后终于成功将Bochs安装包复制进了虚拟机。

    然后就是打开终端输入以下内容:
bash 复制代码
sudo apt install build-essential
bash 复制代码
sudo apt-get install libghc-x11-dev
bash 复制代码
sudo apt-get install xorg-dev

进入bochs-2.6.8文件夹:

bash 复制代码
cd bochs-2.6.8

配置bochs的config文件:

bash 复制代码
./configure --prefix=/home/abc/Desktop/Bochs --enable-debugger --enable-disasm --enable-iodebug --enable-x86-debugger --with-x --with-x11 LDFLAGS='-pthread'

输入make命令:

输入make install命令:

安装成功!

1.2 配置bochs

进入安装好bochs的目录,创建编辑bochs配置文件:

bash 复制代码
cd /home/abc/Desktop/Bochs
touch bochsrc.disk
vim bochsrc.disk

由于我没有安装vim命令,因此这里我需要输入以下命令进行安装:

bash 复制代码
sudo apt install vim 

安装后重新输入vim bochsrc.disk

输入i进行插入模式,向文件中进行输入:

按照学长给的例子:

Esc回到命令模式并输入:wq

1.3 运行bochs

创建启动磁盘bin/bximage

依次写入1,hd,flat,60,hd60M.img,输入一个按一次回车键:

测试代码:

用学长给的例子进行测试:

安装编译器nasm 命令:

bash 复制代码
sudo apt install nasm

编译:

bash 复制代码
nasm -o test mbr.s

写入虚拟机启动磁盘:

bash 复制代码
dd if=/home/abc/Desktop/test of=/home/abc/Desktop/Bochs/hd60M.img bs=512 count=1 conv=notrunc

启动虚拟机查看效果:

bash 复制代码
cd Bochs
bin/bochs -f bochsrc.disk

启动之后,输入c可以看见Hello world!

相关推荐
koo3647 分钟前
李宏毅机器学习笔记43
人工智能·笔记·机器学习
lkbhua莱克瓦2433 分钟前
Java基础——常用算法3
java·数据结构·笔记·算法·github·排序算法·学习方法
做一道光41 分钟前
6、foc控制——IF控制
笔记·单片机·嵌入式硬件·电机控制
moringlightyn1 小时前
进度条+ 基础开发工具----版本控制器git 调试器gdb/cgdb
笔记·git·其他·c·调试器·gdb/cgdb·进度条 倒计时
snakecy1 小时前
系统架构设计师学习大纲目录
学习·系统架构
im_AMBER1 小时前
React 15
前端·javascript·笔记·学习·react.js·前端框架
WarPigs1 小时前
Visual Studio笔记
ide·笔记·visual studio
卡提西亚1 小时前
C++笔记-24-文件读写操作
开发语言·c++·笔记
雾岛听蓝1 小时前
算法复杂度解析:时间与空间的衡量
c语言·数据结构·经验分享·笔记
snakecy2 小时前
树莓派学习资料共享
大数据·开发语言·学习·系统架构