《操作系統真象還原》學習筆記:第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安裝包復制進了虛擬機。
    在這里插入圖片描述
    然后就是打開終端輸入以下內容:
sudo apt install build-essential

在這里插入圖片描述

sudo apt-get install libghc-x11-dev

在這里插入圖片描述

sudo apt-get install xorg-dev

在這里插入圖片描述進入bochs-2.6.8文件夾:

cd bochs-2.6.8

在這里插入圖片描述
配置bochs的config文件:

./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配置文件:

cd /home/abc/Desktop/Bochs
touch bochsrc.disk
vim bochsrc.disk

在這里插入圖片描述
由于我沒有安裝vim命令,因此這里我需要輸入以下命令進行安裝:

sudo apt install vim 

安裝后重新輸入vim bochsrc.disk在這里插入圖片描述
輸入i進行插入模式,向文件中進行輸入:
在這里插入圖片描述
按照學長給的例子:
在這里插入圖片描述
Esc回到命令模式并輸入:wq
在這里插入圖片描述

1.3 運行bochs

創建啟動磁盤bin/bximage
在這里插入圖片描述
依次寫入1,hd,flat,60,hd60M.img,輸入一個按一次回車鍵:
在這里插入圖片描述
測試代碼:
在這里插入圖片描述
用學長給的例子進行測試:
在這里插入圖片描述
安裝編譯器nasm 命令:

sudo apt install nasm

在這里插入圖片描述
編譯:

nasm -o test mbr.s

寫入虛擬機啟動磁盤:

dd if=/home/abc/Desktop/test of=/home/abc/Desktop/Bochs/hd60M.img bs=512 count=1 conv=notrunc

啟動虛擬機查看效果:

cd Bochs
bin/bochs -f bochsrc.disk

啟動之后,輸入c可以看見Hello world!
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/40476.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/40476.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/40476.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[Vue3 + TS + Vite] CSS穿透

以 Element-Plus UI 中的 <el-drawer> 為例 方法一 Template中 <el-drawer>CSS中 <style lang"scss" scoped> :deep(.el-drawer__header) {margin: 0px 0px 0px 0px; /*上 右 下 左*/box-sizing: border-box;padding: 0px 0px 0px 0px; /*上 右…

【Ubuntu】詳細說說Parallels DeskTop安裝和使用Ubuntu系統

希望文章能給到你啟發和靈感~ 如果覺得文章對你有幫助的話,點贊 + 關注+ 收藏 支持一下博主吧~ 閱讀指南 開篇說明一、基礎環境說明1.1 硬件環境1.2 軟件環境二、Ubuntu系統的使用2.1 系統的下載2.2 系統的安裝2.3 安裝桌面版(可選)2.3.1 安裝/更新apt2.3.2 安裝桌面版2.3…

【JNDI注入利用工具】JNDIExploit v1.1

# 簡介 JNDIExploit一款用于 JNDI注入 利用的工具&#xff0c;大量參考/引用了 Rogue JNDI 項目的代碼&#xff0c;集成了JDNI注入格式&#xff0c;能夠更加方便的開啟服務端后直接利用&#xff0c;支持反彈Shell、命令執行、直接植入內存shell等&#xff0c;并集成了常見的by…

7.4、空指針和野指針

空指針 #include <iostream> using namespace std;int main() {//空指針//1、空指針用于給變量進行初始化int * p NULL;//2、空指針是不可以進行訪問的//0-255之間的內存編號是系統占用的&#xff0c;因此不可以訪問//cout<<*p<<endl;system("pause&q…

算法訓練 | 圖論Part3 | 101.孤島的總面積、102.沉沒孤島、103.水流問題、104.建造最大島嶼

目錄 101.孤島的總面積 圖論法 102.沉沒孤島 圖論法 103.水流問題 圖論法 104.建造最大島嶼 圖論法 101.孤島的總面積 題目鏈接&#xff1a;101. 孤島的總面積 文章講解&#xff1a;代碼隨想錄 圖論法 代碼一&#xff1a;深搜 #include <iostream> #includ…

在Centos7上安裝PostgreSQL16的詳細步驟

文章目錄 環境一、準備二、postgresql下載方法一&#xff1a;wget下載方法二&#xff1a;下載壓縮包解壓 三、創建用戶組、用戶四、創建數據主目錄五、配置環境變量六、initdb初使化數據庫七、配置服務八、設置開機自啟動九、設置防火墻十、啟動數據庫服務 環境 CPU: 4 核心或以…

Python爬蟲系列-讓爬蟲自己寫爬蟲(半自動化,代替人工寫爬蟲)

現在的PC、手機客戶端等終端設備大量使用了網頁前后端技術&#xff0c;另外主流的網站也會經常會更新&#xff0c;導致以前一個月更新一次爬蟲代碼&#xff0c;變成了天天需要更新代碼&#xff0c;所以自動化爬蟲技術在當前就顯得特別重要&#xff0c;最近我也是在多次更新某個…

養老院生活管理系統

摘要 隨著全球范圍內人口老齡化趨勢的日益加劇&#xff0c;養老院作為老年人生活的重要場所&#xff0c;其生活管理問題也顯得愈發突出和重要。為了滿足養老院在日常生活管理、老人健康監護、服務人員管理等多方面的需求&#xff0c;提高管理效率和服務質量。決定設計并實現了…

用一百場線下講座科普充電樁 能效電氣做到了

在新能源汽車產業蓬勃發展的今天,充電樁作為產業鏈的重要環節,其建設與發展成為推動行業進步的關鍵。在這一背景下,能效電氣憑借其卓越的技術實力和前瞻性的市場布局,成為了新能源充電樁行業的佼佼者。 為了進一步推動新能源產業的發展,普及充電樁知識,能效電氣精心策劃并舉辦…

C語言數據類型和變量(二)

目錄 1.數據類型的取值范圍 2.變量 2.1 變量的創建 2.2 變量的分類 2.3全局變量和局部變量在內存中的存儲?編輯 3. 算術操作符&#xff1a; 、 - 、* 、/ 、% 3.1 和 - 3.2 * 3.3 / 3.4 % 1.數據類型的取值范圍 每一種數據類型有自己的取值范圍&#xff0c;也就是存…

mapper.xml 文件對應的 Dao 接口原理

在 Java 框架如 MyBatis 中&#xff0c;Mapper.xml 文件是用于定義 SQL 查詢的配置文件&#xff0c;而對應的 Dao 接口&#xff08;Mapper 接口&#xff09;則提供了與 XML 文件中的 SQL 查詢相對應的方法。這種設計模式使得 Java 代碼與 SQL 語句解耦&#xff0c;提高了代碼的…

盤點亞馬遜5大實用選品思路(圖文講解+選品案例)

一、7天藍海選品法 市場上很多工具一般都是近30天的跨境商品數據&#xff0c;而店雷達亞馬遜選品&#xff0c;可以篩選出上架近7天的亞馬遜產品&#xff0c;避免在已經市場相對飽和的賽道&#xff0c;中小賣家還要擠破頭去搶蛋糕。我們更應該學會在市場反饋好的新品中找到出單…

Git刪除了文件拉取時失敗

本地刪除了一些文件&#xff0c;遠端的另一個提交修改了被刪除的文件&#xff0c;vs里拉取時提示未處理的提交&#xff0c;無法繼續操作&#xff0c;git gui里顯示很多unstaged change的項 解決辦法&#xff1a; 1、用git bash的git rm --cached filename或 git rm -r --cached…

GBASE8S如何使用dbexport實現單表的還原和實現數據庫的復制

(一) 通過dbexport實現單表數據還原 1. 測試前的信息查看 本次以test庫的表test21為例 [gbasedbtiZ2ze5s78e4tanwe5q2znxZ ~]$ dbaccess test - Your evaluation license will expire on 2025-05-26 00:00:00Database selected.> select * from test21;id name1 a2 b3 c3…

探索Vue.js的無限可能 —— vuejs-challenges

vuejs-challenges&#xff1a;挑戰自我&#xff0c;共同成長&#xff0c;Vue.js挑戰等你來戰&#xff01;- 精選真開源&#xff0c;釋放新價值。 概覽 vuejs-challenges是一個專為Vue.js學習者和開發者設計的開源項目。它通過提供一系列精心設計的挑戰&#xff0c;幫助參與者深…

使用 JavaScriptCore 進行跨語言調用

使用 JavaScriptCore 進行跨語言調用時&#xff0c;既可以在 Native 代碼中執行 JavaScript 代碼&#xff0c;也可以在 JavaScript 中調用 Native 方法。以下是詳細的實現步驟和示例。 1. 在 Native 代碼中執行 JavaScript 代碼 使用 JavaScriptCore 框架&#xff0c;可以在 …

手把手教你一步一步通過AI助手生成利潤表分析報告

AI助手之利潤表分析報告-操作篇 以下為文字整理部分&#xff1a; 如果要手工制作一份這樣的利潤分析報告大概要多久時間&#xff1f;從準備數據做成表格&#xff0c;到完成報告&#xff0c;至少需要1天的時間吧&#xff0c;特別是敲文字報告的時候&#xff0c;生怕把數字搞錯要…

什么是森林防火氣象站?作用?

森林防火氣象站用精準的數據和先進的技術&#xff0c;守護著森林的安全。本文將帶您了解其重要性、工作原理以及在森林防火中的實際應用。 一、森林防火氣象站的重要性 森林火災是森林生態系統的大敵&#xff0c;它能在短時間內燒毀大片森林&#xff0c;破壞生態平衡&#xff0…

5、Redis 緩存設計相關知識點

1. 多級緩存架構 多級緩存架構是一種通過在應用層和數據庫層之間添加多個緩存層來提高系統性能和可用性的架構設計。這種設計能夠有效減少數據庫負載,并提高數據訪問速度。常見的多級緩存包括本地緩存、分布式緩存和數據庫緩存。 本地緩存:本地緩存位于應用服務器本地,響應…

高通平臺Display顯示架構

目錄 一、顯示整體架構二、SurfaceFlinger三、HWC四、Gralloc五、DisplayManagerService六、WindowManagerService 一、顯示整體架構 二、SurfaceFlinger SurfaceFlinger是一個系統服務&#xff0c;如&#xff1a;audioflinger等等&#xff0c;這個系統服務主要實現了Surface的…