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

相关推荐
七灵微15 分钟前
PyTorch进阶学习笔记[长期更新]
pytorch·深度学习·学习
点我头像干啥16 分钟前
第8节:机器学习基础 - 监督学习概念
人工智能·神经网络·学习·机器学习
yuweififi16 分钟前
随手笔记-python-opencv 读取图像的顺序 与pytorch处理图像的顺序
pytorch·笔记·python·opencv
桃子叔叔36 分钟前
python学习从0到专家(8)容器之列表、元组、字典、集合、字符串小结
开发语言·python·学习
向阳逐梦1 小时前
具身智能机器人学习路线全解析
学习·机器人
Haoea!1 小时前
Flink-01学习 介绍Flink及上手小项目之词频统计
大数据·学习·flink
可乐^奶茶2 小时前
2026《数据结构》考研复习笔记二(C++面向对象)
数据结构·c++·笔记
OSwich3 小时前
【虚幻C++笔记】接口
c++·笔记·虚幻
大佛拈花3 小时前
Godot学习-创建简单动画
学习·游戏引擎·godot
-曾牛7 小时前
Git完全指南:从入门到精通版本控制 ------- Git仓库创建 (5)
大数据·网络·git·学习·elasticsearch·个人开发