配置《Orange's一个操作系统的实现》环境心得
《Orange》这本书开篇第一章就做了一个实例,编写了一段引导扇区的代码,但是引导介质仍然采用了已被淘汰多年的软盘。在经历了两天的痛苦查找后终于找到了最方便的解决办法,在此做一下记录,希望能为有同样爱好的朋友提供一点点小帮助,省去不必要的麻烦。
一、安装virtualbox和常见问题排除
首先需要安装virtualbox,注意是必须用virtualbox,因为需要virtualbox创建的vhd格式虚拟硬盘,经过测试通过Windows磁盘管理创建的vhd虚拟硬盘不能使用,VMware通过改名创建的vhd虚拟硬盘也不能用。有些电脑virtualbox安装以后不能正常打开,网上的解决办法有很多,例如:https://looaon.com/index.php/windows%E6%8A%A5%E9%94%99/874.html提供的解决办法,但是通过以上方法修改注册表后仍然解决不了问题,经过不断查找、不断试错终于找到解决办法。出现的问题是:在启动virtualbox时提示“获取 VirtualBox COM 对象失败”,在c:\users\administrator\virtualbox下有一个virtualbox.xml存在zero format错误,如果你也出现了类似问题,那就按照以下方法试一下:首先关闭提示框,然后进入“c:\users\admimistrator”目录中将所有涉及virtualbox的文件夹全部删除,再次启动,问题解决。不需要担心删除文件后virtualbox异常,经测试,virtualbox启动时会在c:\user\administrator中创建文件,并且删除后新建和运行虚拟机都正常。
二、使用《X86汇编语言:从实模式到保护模式》的附带工具vhd writer
编译和创建虚拟机在此就不再赘述,相信看这篇文章的都知道怎么做,在此只说如何运行的问题。在https://www.liangchan.net/liangchan/9279.html或者http://www.xdowns.com/app/286527.html下载《X86汇编...》的所有工具,也可以在百度搜索“从实模式到保护模式工具下载”,打开解压的文件夹后,其中有一个fixvhdwr的应用程序,打开后为vhd writer,双击打开。通过vhd writer将编译后的bin文件直接写入虚拟硬盘,虚拟机直接从虚拟硬盘启动,免去需要借助外部介质或者映像的麻烦。此工具可以工具使用起来非常简单,按照提示将bin文件写入即可。然后启动virtualbox,直接启动创建的虚拟机即可,Hello,OS World!将呈现在你面前。
配置《Orange's一个操作系统的实现》环境心得的更多相关文章
- 《Orange'S:一个操作系统的实现》笔记(一)
感觉自己对于操作系统始终没有一个清楚的概念,尤其最近困扰于实模式.保护模式以及寻址方式等一些概念.转而一想,所有的程序,最终都是操作的计算机资源,需要和操作系统打交道,所以操作系统有必要深入了解一下. ...
- 《Orange’s 一个操作系统的实现》1.搭建操作系统开发环境
书中给出了两种环境:windows和linux,平台选择根据自己喜好.本人这里选择ubuntu10.04+virtualbox作为开发平台. 1.下载.安装VirtualBox http:// ...
- x86汇编分页模式实验 --《ORANGE'S一个操作系统的实现》中 pmtest8.asm解析
序言(废话) : 在看书的过程中发现一开始不是很能理解pmtest8的目的,以及书上说得很抽象..于是在自己阅读过源代码后,将一些自己的心得写在这里. 正文 : 讲解顺序依然按照书上贴代码的顺序来.但 ...
- 《一个操作系统的实现》 ubuntu系统环境配置
<一个操作系统的实现> ubuntu系统环境配置 电脑之前已经安装了gcc. 一.nasm安装:sudo apt-get install nasm或官网下载http://sourcefor ...
- 转:面对一个全新的环境,作为一个Oracle DBA,首先应该了解什么
转载:面对一个全新的环境,作为一个Oracle DBA,首先应该了解什么 由于时间比较久了,找不到原文章的链接,先贴上内容供大家参考 在这里,不谈那些大的方面,比如了解整个IT环境整体情况,假设你已经 ...
- 【maven】之配置开发,测试,正式环境pom.xml文件
在进行web程序开发,如果项目组没有使用自动化发布工具(jenkins + maven + svn + tomcat ),我们一般会使用maven的热部署来完成发布,在部署的过程中我们开发,测试,生产 ...
- 【转】手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文) By: 吴垠 Date: 2007-09-07 Version: 0.5 Email: lazy.fox.wu#gmail.com Homepage ...
- Web —— java web 项目 Tomcat 的配置 与 第一个web 项目创建
目录: 0.前言 1.Tomcat的配置 2.第一个Web 项目 0.前言 刚刚开始接触web开发,了解的也不多,在这里记录一下我的第一个web项目启动的过程.网上教程很多,使用的java IDE 好 ...
- 第三篇——第二部分——第四文 配置SQL Server镜像——非域环境
原文:第三篇--第二部分--第四文 配置SQL Server镜像--非域环境 本文为非域环境搭建镜像演示,对于域环境搭建,可参照上文:http://blog.csdn.net/dba_huangzj/ ...
随机推荐
- spring mvc 集成quartz
首先quartz配置文件 # Default Properties file for use by StdSchedulerFactory # to create a Quartz Scheduler ...
- 记 CentOS 服务器上安装 neo4j 图数据库及本地访问
下载 去官网下载压缩包放到服务器上.地址为neo4j 下载中心,我这里选择的是 Neo4j 3.5.25 (tar).具体如何做呢?我这里使用的是土方法,即先压缩包下载到本地电脑(win 10系统), ...
- [leetcode350]Intersection of Two Arrays II求数组交集
List<Integer> res = new ArrayList<>(); Arrays.sort(nums1); Arrays.sort(nums2); int i1 = ...
- Linux嵌入式学习-mount命令+nfs挂载失败原因【转】
NFS 挂载失败原因[待搜集] 1.挂载时若出现mount.nfs: Input/output error 解决:在客户端也需启动portmap服务 service portmap status[查看 ...
- niceyoo的2020年终总结-2021年Flag
碎碎念,向本命年说再见! 又到了一年一度立 Flag 的时间了,怎么样,去年的 Flag 大家实现的怎么样?还有信心立下 2021 年的 Flag 吗~ 今年我算比较背的,年初的一次小意外,直接在床上 ...
- Java学习日报7.24
package tem; public class Tem { public static void main(String[] args) { // TODO 自动生成的方法存根 //每隔10摄氏度 ...
- Redis+LUA整合使用
.前言 从本章节开始我们就开始讲解一些 Redis 的扩展应用了,之前讲的主从.哨兵和集群都相当重要,也许小公司用不到集群这么复杂的架构,但是也要了解各知识点的原理,只要了解了原理,无论什么时候是有, ...
- 风炫安全WEB安全学习第二十一节课 存储型XSS讲解
风炫安全WEB安全学习第二十一节课 存储型XSS讲解 存储型XSS演示 存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存 ...
- RPC框架学习+小Demo实例
一.什么是RPC协议? 全称:远程过程调度协议 效果:使消费者向调用本地方法一样调用远程服务方法,对使用者透明 目前常用:Dubbo.Thirft.Sofa.... 功能: 建立远程通信(socket ...
- 使用python做一个IRC在线下载器
使用python做一个IRC在线下载器 1.开发流程 2.软件流程 3.开始 3.0 准备工作 3.1寻找API接口 3.2 文件模块 3.2.1 选择文件弹窗 3.2.2 提取文件名 3.2.2.1 ...