《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. [论文分享] DHP: Differentiable Meta Pruning via HyperNetworks

    [论文分享] DHP: Differentiable Meta Pruning via HyperNetworks authors: Yawei Li1, Shuhang Gu, etc. comme ...

  2. easyui框架 jsp页面

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

  3. Qt学习笔记-Qtcreator的webkit和qt4.7.0的版本有关

    之前下载了一个最新的是qtcreator,是通过ubuntu的是apt-get下载的.可是里面没有webkit控件.网上的网友说是最新的没有了.要用老版的,于是下载了一个2.5.2的就正常了. 用老版 ...

  4. springboot容器启动顺序之@Configuration ContextRefreshedEvent事件初始化 ApplicationRunner

    笔者最近遇到一个问题 我们根据自己业务需要  需要首次启动springboot项目时 把数据库数据同步至本地缓存(比如ehcache)但有一个要求 在缓存未载入成功  不允许有流量打入 一开始我们使用 ...

  5. 轻松理解UML用例图时序图类图的教程

    摘自https://zhuanlan.zhihu.com/p/29874146 写在前面 当你老大扔给你这样的图,或者你需要完成某些功能而去看文档的时候发现以下类似这样的图会不会不(一)知(脸)所(懵 ...

  6. python实例:解决经典扑克牌游戏 -- 四张牌凑24点 (二)

    Hey! 如果你还没有看这篇的上文的话,可以去稍稍瞅一眼,会帮助加速理解这一篇里面涉及到的递归结构哦!(上一篇点这里:<python实例:解决经典扑克牌游戏 -- 四张牌凑24点 (一)> ...

  7. Kubernetes官方java客户端之二:序列化和反序列化问题

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. —用python写图片格式批量处理工具

    python爬取微博评论(无重复数据) 前言 一.整体思路 二.获取微博地址 1.获取ajax地址 2.解析页面中的微博地址 3.获取指定用户微博地址 三.获取主评论 四.获取子评论 1.解析子评论 ...

  9. Linux sed 命令总结

    一.sed格式命令 sed 命令行格式为:sed [选项] 'command' 输入文本 二.sed命令的选项 sed [选项] [动作] 选项与参数: -n :使用安静(silent)模式.在一般 ...

  10. 多年经验总结,写出最惊艳的 Markdown 高级用法

    点赞再看,养成习惯,微信搜索[高级前端进阶]关注我. 本文 GitHub https://github.com/yygmind 已收录,有一线大厂面试完整考点和系列文章,欢迎 Star. 最近在学习的 ...