《操作系统真象还原》学习笔记:第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!

相关推荐
聪明的笨猪猪12 分钟前
Java Redis “运维”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
小张的博客之旅2 小时前
2025年“羊城杯”网络安全大赛 线上初赛 (WriteUp)
python·学习·网络安全
~无忧花开~3 小时前
JavaScript学习笔记(二十八):JavaScript性能优化全攻略
开发语言·前端·javascript·笔记·学习·性能优化·js
机器学习之心3 小时前
PINN物理信息神经网络风电功率预测!引入物理先验知识嵌入学习的风电功率预测新范式!Matlab实现
神经网络·学习·matlab·风电功率预测·物理信息神经网络
HalvmånEver4 小时前
红黑树实现与原理剖析(上篇):核心规则与插入平衡逻辑
数据结构·c++·学习·算法·红黑树
BreezeJuvenile4 小时前
外设模块学习(5)——DS18B20温度传感器(STM32)
stm32·嵌入式硬件·学习·温度传感器·ds18b20
cimeo4 小时前
【C学习】13-数组使用与运算
学习·c#
一只小风华~5 小时前
学习笔记:Vue Router 中的链接匹配机制与样式控制
前端·javascript·vue.js·笔记·学习·ecmascript
泽虞6 小时前
《Qt应用开发》笔记p2
linux·开发语言·数据库·c++·笔记·qt
月临水6 小时前
Redis 学习笔记(二)
redis·笔记·学习