http://blog.csdn.net/hellochina15/article/details/7253350

本文介绍如何在Windows 7操作系统和Virtual PC 2007虚拟机上安装Hello China操作系统,Hello China的版本是V1.75。对于Windows XP等非Windows 7操作系统,由于不能直接支持虚拟硬盘,不能按照本文介绍的方法安装Hello China的GUI功能,但是可以安装内核和基于字符界面的shell。

HelloChina在Virtual PC上的启动过程

首先介绍一下Hello ChinaV1.75在Virtual PC上的启动过程。为了最大可能的降低安装和使用的复杂性,V1.75版本在Virtual PC上是通过虚拟软盘启动的。Hello China的内核和核心驱动程序(比如键盘驱动、鼠标驱动、IDE接口硬盘驱动、文件系统等)等文件都集成在了虚拟软盘中。这样通过虚拟软盘启动计算机,操作系统的核心模块就直接从虚拟软盘中加载到内存并执行。内核初始化完成之后,Hello China会进入字符shell模式,这时候用户就可以运行字符模式命令了。

在字符模式下,用户输入GUI命令,即可进入图形模式的shell。一旦用户输入gui命令,Hello China会在硬盘的第一个分区(用C:标识,与Windows类似)的PTHOUSE目录下,寻找hcngui.bin文件,这个文件即是Hello China图形模式模块的可执行二进制文件。一旦找到这个文件,Hello China内核就会把它读入内存,然后运行该模块。因此要在虚拟机上支持图形模式,则必须创建一个虚拟硬盘,并分区和格式化。完成后在其第一个分区上创建PTHOUSE目录,把hcngui.bin等文件拷贝到该目录上就可以了。

GUI模块创建图形shell线程和其它图像模式的核心线程,然后初始化安装在Hello China上的应用程序。所谓初始化应用程序,指的是GUI模块读取所有应用程序的特征数据,比如应用程序名字,应用程序的图标,等等,然后把所有这些应用程序显示在图形界面的主窗口上。最终的启动结果如下:

其中左边部分就是图形界面主窗口,里面列举出了所有已安装在Hello China上的应用程序。一旦用户用鼠标点击某个应用程序,该程序就会被运行。

在Hello China V1.75的实现中,所有应用程序都是安装(实际上就是拷贝)在硬盘第一个分区(C:分区)的HCGUIAPP目录下。在GUI模块的初始化过程中,会读取该目录下的所有文件,一旦发现一个合法的应用程序,则就会进一步读取其特性数据,比如名称(上图中的显示名称)、图标等,然后加载到主窗口中。因此,要运行Hello China V1.75的应用程序,还必须在硬盘的第一个分区上创建一个HCGUIAPP目录,然后把所有应用程序文件拷贝到该目录即可。

Hello China V1.75应用程序就是一个后缀是HCX(Hello China eXecutable)的文件,该文件包含了应用程序的可执行二进制代码、应用程序的图标、应用程序的名称和版本等信息。HCX文件是由一个叫做hcxbuild(随Hello China V1.75的SDK一起发行)的程序构建的,具体构建方法,请参考下一个章节。

总结起来,在Virtual PC上安装Hello China,需完成下列工作:

1、        创建虚拟软盘文件,用于引导Hello China;

2、        创建一个虚拟硬盘,并至少创建一个分区,格式化该分区(建议格式化为NTFS)。Hello China会自动把分区的分区标识设置为C:;

3、        在C:分区上创建PTHOUSE和HCGUIAPP两个目录,把Hello China的外围模块(比如GUI模块)拷贝到PTHOUSE目录下,把应用程序(HCX文件)拷贝到HCGUIAPP目录下。

这样即可启动Hello China了。

Windows 7操作系统添加了对虚拟硬盘的支持,这样就使得上述过程变得非常简单,下面进行详细说明。

HelloChina V1.75安装包说明

Hello China安装包中包含了安装需要的所有文件和辅助工具,主要有:

1、        虚拟软驱文件(vfloppy.vfd)文件;

2、        Hello China的内核模块;

3、        Hello China的外围模块,比如GUI模块等;

4、        一些应用程序文件;

5、        相关辅助工具。

针对Virtual PC的安装包,放在bin/VirtualPC目录下。下面在介绍安装步骤的时候,会对上述文件的使用进行说明。

步骤一:下载和安装Virtual PC 2007

Virtual PC 2007(以上版本也可)可从Microsoft的官方网站上下载,具体可在google上搜索Virtual PC 2007,找到Microsoft网站上的具体链接,点击下载即可。该软件完全免费,也无需注册。而且根据作者的经验,下载速度也非常快。

下载后双击即可安装,无需做特殊设置,采用其默认安装设置即可。

步骤二:创建一个虚拟机

这个步骤也简单,运行步骤一中安装的VirtualPC,在Virtual PC的控制台中点击“New…”菜单,即可启动一个虚拟机的创建过程。假设创建的虚拟机名字是“Hello China”,无需做特殊设置,采用默认设置即可。但是在创建虚拟硬盘一步时,选择“A new hard disk”,如下:

在下一步中,指定虚拟硬盘的存放位置(可采用缺省位置)即可。对于虚拟硬盘的尺寸,可以直接使用缺省尺寸,也可以指定一个尺寸。若指定尺寸,建议至少在256M以上。

最后点击finish按钮,即可完成虚拟机的创建。

对于非Windows 7操作系统,由于不能直接支持虚拟硬盘的创建和操作,因此下列介绍的步骤三、四、五不能适用。读者可直接跳到步骤六,完成基于字符界面的Hello China的安装。

步骤三:对虚拟硬盘进行分区并格式化

Windows 7已经支持虚拟硬盘功能。在“我的电脑”上点击右键,点击“管理”菜单,启动windows计算机管理工具。在计算机管理工具上,点击左边导航树中“磁盘管理”选项,出现磁盘管理界面。点击右面面板的“更多操作”菜单,可出现虚拟硬盘操作菜单。进一步选择“附加VHD”菜单,在显示的对话框中,选择步骤三中创建的虚拟硬盘文件,点击确定即可。这时候windows的磁盘管理器就会把这个虚拟硬盘挂接到磁盘管理界面上了,比如下图中:

其中“磁盘2”就是刚刚挂接的虚拟硬盘。

在上图中“没有初始化“位置处点击右键,在弹出的菜单中选择”初始化硬盘“,采用默认设置初始化该硬盘即可。所谓初始化,指的是操作系统会建立这个硬盘的MBR扇区,并写入相关数据。需要注意的是,虚拟硬盘刚刚创建完成时,是没有任何数据的。要使这个虚拟硬盘可用,必须对之进行初始化。

初始化完成之后,只是写入了MBR扇区,但是具体分区操作还没有完成。这时候可在初始化后的磁盘上,点击鼠标右键,在出现的菜单中,选择“新建简单卷…“,采用默认设置,即可完成虚拟硬盘的分区和格式化工作。

完成格式化后,虚拟硬盘就可用了。可以看到,系统会增加一个新的盘符,这时就可以像使用普通硬盘一样使用虚拟硬盘了。

假设windows 7为新增加的虚拟硬盘分配的盘符是J:,本文后续部分将会以J:为标识引用该虚拟硬盘。

步骤四:准备Hello China V1.75安装目录

把Hello China软件包中bin目录下的VirtualPC目录,拷贝到任意一个本地硬盘(注意,这里不是虚拟硬盘)上,然后把VirtualPC目录下的install目录,在拷贝到虚拟硬盘上(即J:盘)。

步骤五:在虚拟硬盘上安装Hello China

进入J:盘的install目录,运行batch.bat文件,即可完成Hello China在虚拟硬盘J上的安装。Batch.bat文件主要是创建了HCGUIAPP和PTHOUSE两个目录,然后把相关文件拷贝到了这两个目录下。同时也拷贝了一些相关文件到J盘的根目录下。下列是成功安装后J:盘的内容:

其中PTHOUSE目录中存放的是HelloChina的外围功能模块,比如GUI模块、网络模块等。而HCGUIAPP目录中存放的是基于GUI模块的HelloChina应用程序,即HCX文件。

步骤六:将虚拟软驱与虚拟机进行关联

由于Hello China是使用虚拟软盘启动虚拟机的,最后一步就是把虚拟软盘文件(vfloppy.vfd)与虚拟机进行关联,该文件在VirtualPC目录下。在Virtual PC的控制台中,双击步骤二中创建的虚拟机,启动之。由于没有可启动设备,虚拟机无法正常启动。使用鼠标拖住vfloppy.vfd文件,拖到虚拟机窗口下面的软驱图标上,这时候就实现了虚拟软驱与虚拟机的关联。

重新启动虚拟机,正常情况下应该可进入HelloChina的字符模式了。

步骤七:验证Hello China是否成功安装

完成上述步骤之后,虚拟机应该可以正常启动,并进入Hello China的字符操作界面了。在字符界面下执行help命令,可看到一些帮助信息。运行version命令,可看到Hello China的版本信息,如下:

在字符模式下,运行fs命令,进入文件系统操作程序。执行fslist,应该可以看到C:分区,如下:

输入“exit“,退出fs程序,然后输入gui命令,即可进入图形模式,显示所有图形应用程序。点击任何一个应用程序即可运行,比如点击”CPI统计“程序,运行结果如下:

在图形模式下,输入“ctrl+alt+del“组合键(虚拟机下,可点击Action菜单,选择该组合键),即可退到字符模式。

Hello China V1.75测试版源代码和安装文件,可从下列链接下载:

http://download.csdn.net/detail/hellochina15/4059717

任何技术问题,欢迎加入QQ群:38467832 进行讨论。

Hello China操作系统在Virtual PC上的安装和使用的更多相关文章

  1. Centos操作系统在虚拟机VMware上的安装

    1.下载centos操作系统,提供百度云盘链接:http://pan.baidu.com/s/1pLHOR03 2.打开上篇在VMware中新建好的空白虚拟机,将centos安装在此空白虚拟机上,步骤 ...

  2. Win7下虚拟机个人使用小结:Virtual PC,VMware和VirtualBox

    想来用了很多年的虚拟机了,换了Win7之后,种种原因又需要使用虚拟机,这里就简单介绍和比较一下. 点击小图看大图. Virtual PC: 如果想做Windows虚拟机的话,Virtual PC在之前 ...

  3. Hyper-V和Virtual PC的不同

    微软在2003年收购了推出了Virtual PC软件的Connectix公司,并在其后推出了Virtual Server服务器虚拟化软件 Hyper-V跟微软自家的Virtual PC.Virtual ...

  4. 在virtual pc中搭建基于ubuntu 的git环境

    1. 在virtual pc 上安装 ubuntu http://www.hanselman.com/blog/InstallingUbuntu104LTSOnWindowsVirtualPCOnWi ...

  5. PC上安装多个操作系统

    目 录 第1章 绪论    1 1.1 目标    1 1.2 适宜的读者    1 第2章 制作启动U盘    2 2.1 初级安装    2 2.2 启动分析    3 2.3 高级安装    1 ...

  6. 系统重装 如何在PC上安装Mac OS,苹果操作系统

    [苹果系统 无影精品]<精睿 无影技术Mac OS X 中文优化正式会员版V10.14和V10.16>◆ 系统前沿:==================================== ...

  7. virtual pc中添加软盘支持

    最近对操作系统挺有兴趣的,实验了一下!准备找一个虚拟机,之前在xp上使用virtual pc感觉不错,准备在本机上装一下,但是发现居然不支持软盘了! 查阅了各种资料,终于找到了解决的办法. 1. 下载 ...

  8. Hello China操作系统STM32移植指南(二)

    移植步骤详解 下面就以MDK 4.72为开发环境,详细说明Hello China内核向STM32的移植过程.MDK 4.72评估版只支持32K代码的编译,这对Hello China的内核来说,裁剪掉一 ...

  9. Hello China操作系统STM32移植指南(一)

    Hello China操作系统移植指南 首先说明一下,为了适应更多的文化背景,对Hello China操作系统的名字做了修改,修改为"Hello X",或者连接在一起,写为&quo ...

随机推荐

  1. 基于redis的cas实现

    cas是我们常用的一种解决并发问题的手段,小到CPU指令集,大到分布式存储,都能看到cas的影子.本文假定你已经充分理解一般的cas方案,如果你还不知道cas是什么,请自行百度 我们在进行关系型数据库 ...

  2. ABP官方文档翻译 9.2 Entity Framework Core

    Entity Framework Core 介绍 DbContext 配置 在Startup类中 在模块PreInitialize方法中 仓储 默认仓储 自定义仓储 应用程序特定基础仓储类 自定义仓储 ...

  3. Oracle 12cR1 RAC 在VMware Workstation上安装(下)—静默安装

    Oracle 12cR1 RAC 在VMware Workstation上安装(下)—静默安装 1.1  静默安装 1.1.1  静默安装grid 安装之前使用脚本进行校验,确保所有的failed选项 ...

  4. BZOJ 3545: [ONTAK2010]Peaks [Splay启发式合并]

    3545: [ONTAK2010]Peaks 题意:带权图,多组询问与一个点通过边权\(\le x\)的边连通的点中点权k大值 又读错题了,输出点一直WA,问的是点权啊 本题加强版强制在线了,那这道题 ...

  5. 【Tools】ubuntu无法virtualenv创建python虚拟环境的解决

    刚有人问我Ubuntu python虚拟环境无法创建问题,报错same file error,防止今后遇到忘记,记录下可能的问题. 1.先在windows上试了下: pip install virtu ...

  6. 修改MacBook Pro主机名,共享电脑名

    https://support.apple.com/kb/PH25384?viewlocale=zh_CN&locale=zh_CN http://www.ituring.com.cn/art ...

  7. 原创!!jquery简单tips和dialog

    <!------------------html代码-----------------------> <!DOCTYPE html><html><head&g ...

  8. 使用js dom和jquery分别实现简单增删改

    <html><head> <meta http-equiv="Content-Type" content="text/html; chars ...

  9. Sping Boot入门到实战之入门篇(三):Spring Boot属性配置

    该篇为Sping Boot入门到实战系列入门篇的第三篇.介绍Spring Boot的属性配置.   传统的Spring Web应用自定义属性一般是通过添加一个demo.properties配置文件(文 ...

  10. vue子组件向父组件传值

    vue2.0中通过$emit事件在子组件中自定义事件,通过操作子组件中的事件,向父组件传递参数: 首先写一个叫做parentComp.vue的父组件: <template> <div ...