《操作系统真象还原》记录全流程——第一章

2024-03-21 19:36

本文主要是介绍《操作系统真象还原》记录全流程——第一章,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

提示: 写这篇文章的目的是只是激励自己完成这本书的linux内核项目,本文不够细致。

指路大佬:操作系统真象还原 自制操作系统_Love 6的博客-CSDN博客

感谢CSDN上的前辈们的热心分享。

搭建环境。

1. 选择vmware虚拟机。我一开始利用virtualbox虚拟机搭建环境,但是无论是共享文件夹还是USB还是共享粘贴板,都无法传输文件,增强模式也无法改变。需要下载的那个文件,网络还访问不了。之前我用过vmware虚拟机的vmtool实现了复制粘贴共享。所以我抛弃了virtualbox虚拟机,用vmware重新搭建了Ubuntu环境。

2. 搭建Ubuntu环境。本来搭建的是CentOS环境,但是网上的资料比较少。更多的是Ubuntu,反正我们实现的是一个小linux内核,Ubuntu也是可以的。我选择了Ubuntu。

3. 安装boch。这里我遇到了非常多的报错,过程很痛苦。主要报错如下:

(1)Ubuntu 无法打开锁文件 /var/lib/dpkg/lock - open (13: 权限不够) 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend)

解决方案:权限不够。

在终端输入:sudo passwd root

然后输入两次密码

再输入:su

再输入一次密码,就完成root提升

此处参考资料:【解决】Ubuntu 无法打开锁文件 /var/lib/dpkg/lock - open (13: 权限不够) 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend)_e: 无法打开锁文件 /var/lib/dpkg/lock-frontend - open (13:-CSDN博客

(2)admin is not in the sudoers file. 

修改用户权限。升级为root。


此处参考资料: 

admin is not in the sudoers file. This incident will be reported_admin is not in the sudoers file. this incident wi-CSDN博客

(3).bochsrc:9: romimage directive malformed.

这里,我的bochsrc配置文件里,romimage对应的文件路径写错了。

此处参考资料:

操作系统真象还原中bochs的bochsrc.disk配置bochs2.6.9_bochsrc.disk:193:cpu-CSDN博客

(4)bochsrc:247: cpu directive malformed

linux终端下:bochs -help cpu,选择了amd_k6_2_chomper。修改bochsrc配置文件

cpu: model=amd_k6_2_chomper

此处参考资料:

ubuntu下bochs的安装和配置_sudo apt-get install build-essential xorg-dev libg-CSDN博客

(5)message: fstat floppy 0 drive image file returns error: bad file descriptor

创建一个虚拟键盘,bximage命令

此处参考资料:

《操作系统真象还原》第一章 ---- 安装Vmware Station 安装Ubuntu 装载配置Bochs 安装Vmware tools 开始乘帆历险!_学习操作系统真相还原安装虚拟机-CSDN博客

这篇关于《操作系统真象还原》记录全流程——第一章的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/833694

相关文章

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

统一返回JsonResult踩坑的记录

《统一返回JsonResult踩坑的记录》:本文主要介绍统一返回JsonResult踩坑的记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录统一返回jsonResult踩坑定义了一个统一返回类在使用时,JsonResult没有get/set方法时响应总结统一返回

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和