《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一个操作系统的实现》环境心得的更多相关文章

  1. 《Orange'S:一个操作系统的实现》笔记(一)

    感觉自己对于操作系统始终没有一个清楚的概念,尤其最近困扰于实模式.保护模式以及寻址方式等一些概念.转而一想,所有的程序,最终都是操作的计算机资源,需要和操作系统打交道,所以操作系统有必要深入了解一下. ...

  2. 《Orange’s 一个操作系统的实现》1.搭建操作系统开发环境

    书中给出了两种环境:windows和linux,平台选择根据自己喜好.本人这里选择ubuntu10.04+virtualbox作为开发平台. 1.下载.安装VirtualBox     http:// ...

  3. x86汇编分页模式实验 --《ORANGE'S一个操作系统的实现》中 pmtest8.asm解析

    序言(废话) : 在看书的过程中发现一开始不是很能理解pmtest8的目的,以及书上说得很抽象..于是在自己阅读过源代码后,将一些自己的心得写在这里. 正文 : 讲解顺序依然按照书上贴代码的顺序来.但 ...

  4. 《一个操作系统的实现》 ubuntu系统环境配置

    <一个操作系统的实现> ubuntu系统环境配置 电脑之前已经安装了gcc. 一.nasm安装:sudo apt-get install nasm或官网下载http://sourcefor ...

  5. 转:面对一个全新的环境,作为一个Oracle DBA,首先应该了解什么

    转载:面对一个全新的环境,作为一个Oracle DBA,首先应该了解什么 由于时间比较久了,找不到原文章的链接,先贴上内容供大家参考 在这里,不谈那些大的方面,比如了解整个IT环境整体情况,假设你已经 ...

  6. 【maven】之配置开发,测试,正式环境pom.xml文件

    在进行web程序开发,如果项目组没有使用自动化发布工具(jenkins + maven + svn + tomcat ),我们一般会使用maven的热部署来完成发布,在部署的过程中我们开发,测试,生产 ...

  7. 【转】手把手教你把Vim改装成一个IDE编程环境(图文)

    手把手教你把Vim改装成一个IDE编程环境(图文) By: 吴垠 Date: 2007-09-07 Version: 0.5 Email: lazy.fox.wu#gmail.com Homepage ...

  8. Web —— java web 项目 Tomcat 的配置 与 第一个web 项目创建

    目录: 0.前言 1.Tomcat的配置 2.第一个Web 项目 0.前言 刚刚开始接触web开发,了解的也不多,在这里记录一下我的第一个web项目启动的过程.网上教程很多,使用的java IDE 好 ...

  9. 第三篇——第二部分——第四文 配置SQL Server镜像——非域环境

    原文:第三篇--第二部分--第四文 配置SQL Server镜像--非域环境 本文为非域环境搭建镜像演示,对于域环境搭建,可参照上文:http://blog.csdn.net/dba_huangzj/ ...

随机推荐

  1. Gitignore 配置语法

    Gitignore 配置语法 原文地址:http://kuanghy.github.io/2016/05/17/gitignore Git 的 .gitignore 配置文件用于配置不需要加入到版本管 ...

  2. 理解Tomcat工作原理

    WEB服务器 只要Web上的Server都叫Web Server,但是大家分工不同,解决的问题也不同,所以根据Web Server提供的功能,每个Web Server的名字也会不一样. 按功能分类,W ...

  3. 【代码周边】MongoDB与Mysql对比以及插入稳定性分析(指定主键的影响)

    在数据库存放的数据中,有一种特殊的键值叫做主键,它用于惟一地标识表中的某一条记录.也就是说,一个表不能有多个主键,并且主键不能为空值. 无论是MongoDB还是MySQL,都存在着主键的定义. 对于M ...

  4. Arduino IDE 开发ESP-01/ESP8266-01读取DHT11温度湿度传感器

    引脚接线: DHT11---ESP8266-01 Singnal--IO2, GND----GND, VCC----VCC DHT11引脚说明: ESP8266-01/ESP8266-01S引脚说明: ...

  5. 表单综合HTML

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  6. 毕大从自身设计HSF的角度出发谈服务化这回事

    服务化的过去.现在和未来 原创: bluedavy HelloJava  9月18日 服务化毫无疑问是技术圈一直火热的buzzword,而且其实已经非常多年了,这在日益更新的技术圈还挺神奇的,作为在服 ...

  7. 浅谈Java并发编程系列(八)—— LockSupport原理剖析

    LockSupport 用法简介 LockSupport 和 CAS 是Java并发包中很多并发工具控制机制的基础,它们底层其实都是依赖Unsafe实现. LockSupport是用来创建锁和其他同步 ...

  8. 30天自制操作系统-day1

    30天自制操作系统(linux环境)--第一天 我是在CentOS的环境上面实现的,使用ubuntu的环境也是类似的 第一步:因为要对二进制文件进行编辑,所以安装二进制编辑器hexedit(当然其他的 ...

  9. Beta冲刺——第五天

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...

  10. 深入理解Kafka必知必会(1)

    Kafka的用途有哪些?使用场景如何? 消息系统: Kafka 和传统的消息系统(也称作消息中间件)都具备系统解耦.冗余存储.流量削峰.缓冲.异步通信.扩展性.可恢复性等功能.与此同时,Kafka 还 ...