基于链式引导和动态修改分区表的任意多系统的安装方法技术方案

技术编号:12308482 阅读:141 留言:0更新日期:2015-11-11 17:35
基于链式引导和动态修改分区表的任意多系统的安装方法,主要基于链式启动以及系统分区的动态修改实现任意多操作系统的安装。在常规开机启动流程中增加一级通用的bootloader, 变成两级boolloader组成的链式启动随后通过定制的Linux动态修改系统分区表,进而实现多系统的换切。

【技术实现步骤摘要】

本专利技术涉及电子
,具体说是基于链式引导和动态修改分区表的任意多系 统的安装方法。
技术介绍
目前越来越多的跨平台开发与应用,需要对多操作系统的支持,比如Windows、 linux、Mac等,再加上各个系统的不同的版本与分支,组合就更多,对多操作系统的需求就 更加迫切。 虽然纯软件的APP应用可以通过虚拟机来满足,但是一些与硬件相关的开发,如 驱动,使用虚拟机则无能为力。 因此常规的跨平台开发与应用需要安装多台机器,极不方便工程应用。 另一方面,目前计算机硬盘空间远远超过一般存储需求的大小,此时只安装一个 操作系统,造成硬盘空间的极大浪费。 虽然专利《一种实现多操作系统的方法及电子设备》实现了一种多系统的安装,但 是其实现的操作系统个数少于分区个数。 根据现有的MBR分区机制,最多有四个主分区,而启动分区只能是主分区。 虽然理论上GPT分区表对分区个数没有限制,但实际上一些操作系统对GPT分区 启动存在一定的限制,无法实现任意分区启动, 因此现存的多分区启动,无法实现多于四个操作系统的安装。 目前大部分多分区启动都是基于BIOS层以及Bootloader的一级引导机制方法, 只能实现简单的开机引导,二次扩展开发的难度很大。
技术实现思路
为解决上述技术问题,本专利技术采用链式引导加动态修改系统分区表的方法来实现 任意多系统的安装,突破操作系统安装个数受硬盘分区个数的限制。 为实现上述技术目的所采用的技术方案是:基于链式引导和动态修改分区表的任 意多系统的安装方法,包括以下步骤, 步骤一、在常规开机启动流程中增加一级通用的Bootloader,变成两级Bootloader 组成的链式启动,改进的后开机流程:首先BIOS从MBR中加载第一级Bootloader,称为 Bootloaderl,并且由 Bootloaderl 加载相应操作系统的 Bootloader,称为 Bootloader2,而 由Bootloader2加载与启动相对应的操作系统; 步骤二、把整个硬盘分为四块,分别放置在四个主分区:Muti-system、Data、 MaintainOS和Bootloader。其中Muti-system分区用来存放各种操作系统,各个系统分 时复用同一个分区,Data分区用来存放各系统之间的共享数据,MaintainOS分区安装一个 基本的定制Iinux操作系统,用来动态的修改分区表实现系统的切换,Bootloader分区用 来存放Bootloaderl,以及操作系统划分表,Bootloader2则存放在Muti-system分区中各 自操作系统空间的起始部分; 步骤三、利用Iinux启动盘,把MaintainOS安装放在MaintainOS分区,启动进入 MaintainOS,并在MaintainOS中把Bootloaderl安装在Bootleader分区,同时建立操作系 统划分表,放在Bootloader分区。根据切换方法,切换到对应的系统空间,进行正常操作系 统安装; 所述的切换方法为: 步骤一、把操作系统划分表中相应的系统状态置为1,其它系统的状态置为〇,并把二 级启动分区改为MaintainOS ; 步骤二、重启机器,Bootloaderl根据启动分区的状态加载MaintainOS对应的 Bootloader2,由 Bootloader2 启动 MaintainOS ; 步骤三、MaintainOS根据Bootloader分区中的操作系统划分表中激活的系统项来修 改Muti-system分区的起始地址,并把二级启动分区改为Muti-system分区; 步骤四、重启机器,Bootloaderl根据启动分区的选项链式加载Muti-system的对应的 Bootloader2,启动相应的OS ; 步骤五、切换完毕。 本专利技术有益效果是: 1、本专利技术提供一种任意多操作系统的安装方法,突破了操作系统安装个数受硬盘分区 个数的限制,其安装的操作系统个数只与硬盘容量大小和操作系统所占的空间有关,并且 各操作系统之间相互独立、互不影响。 2、本专利技术采用定制的Iinux操作系统,容易进行二次开发、扩展与网络集成。 A、对于系统的备份与维护,就是一般的Iinux文件操作,开发和日常操作难度都 很小,并且极容易实现自动和定时备份。 B、由于Iinux操作系统本身提供网络的支持,可以把操作系统划分表放在远程的 服务器端,从而实现多操作系统的远程切换。 C、备份也可以另外添加存储设备(只要MaintainOS支持即可),也可以实现远程备 份。 D、系统和数据之间的分区是独立的,因此系统之间可以共享数据分区。【附图说明】 图1为启动流程图; 图2为分区表结构图; 图3为多系统硬盘分区方案; 图4为操作系统划分表。【具体实施方式】 本专利技术所要用的支持链式启动的Bootloaderl要满足两个条件: 1、支持链式启动。 2、支持大部分的文件系统。 例如可以用grub作为一个通用Bootloaderl。Bootloader2则米用各个操作系统 所对应的Bootloader即可。例如windows可以用其自带的,而Iinux可以用grub,Iilo等 等。 MaintainOS采用定制的Iinux,可以使用gentoo来进行定制。 只需要安装最基本系统就可以,不需要安装XWindow。 本专利技术把整个硬盘分为四块,分别放置四个主分区(Muti-system, Data, MaintainOS,Bootloader),刚好满足MBR的分区表最多只有四个主分区的要求。因为MBR 分区表存放在硬盘第一个扇区的最后64字节,每份分区表占据16个字节,正好四个分区。 分区表结构如图2,本专利技术通过调整分区的开始地址、结束地址以及分区的大小实 现分区表分时复用。 本专利技术中所有操作系统分时共享Muti-system分区。Data、MaintainOS和 Bootloaderl分别独占一个分区。通过MaintainOS动态的改写分区表中Muti-system分区 始止地址实现操作系统的切换,分区的顺序分可以随意调整。一般的分配策略是顺序分配, 如图3所示: 1、Muti-system分区用来存放各种操作系统,安装的操作系统个数取决于硬盘容量的 大小。例如需要安装6个系统,每个系统120G,那么就需要600G的硬盘空间。 2、Data分区用来存放各系统之间的共享数据,其大小由硬盘的剩余空间大小来确 定。 3、Maintain0S安装一个基本的定制Iinux操作系统,用来实现系统切换以及系统 的备份(一般情况下需要2G左右空间)。 4、Bootloader分区用来存放Bootloaderl,以及操作系统划分表(如图4),而 Bootloader2则存放在Muti-system分区中各自操作系统空间的起始部分。 (一)多系统安装过程 1、根据需求以及硬盘的大小,计算出分区大小,对硬盘进行分区。 2、利用定制的Iinux启动盘,把MaintainOS安装放在MaintainOS分区。 3、启动进入 MaintainOS,并且 MaintainOS 中把 Bootloaderl 安装在 Bootleader 分区,同时在Bootlo本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/CN105045621.html" title="基于链式引导和动态修改分区表的任意多系统的安装方法原文来自X技术">基于链式引导和动态修改分区表的任意多系统的安装方法</a>

【技术保护点】
基于链式引导和动态修改分区表的任意多系统的安装方法,其特征在于:包括以下步骤,步骤一、在常规开机启动流程中增加一级通用的Bootloader,变成两级Bootloader组成的链式启动,改进的后开机流程:首先BIOS从MBR中加载第一级Bootloader,称为Bootloader1,并且由Bootloader1加载相应操作系统的Bootloader,称为Bootloader2,而由Bootloader2加载与启动相对应的操作系统;步骤二、把整个硬盘分为四块,分别放置在四个主分区:Muti‑system、Data、MaintainOS和Bootloader;其中Muti‑system分区用来存放各种操作系统,各个系统分时复用同一个分区,Data分区用来存放各系统之间的共享数据,MaintainOS分区安装一个基本的定制linux操作系统,用来动态的修改分区表实现系统的切换,Bootloader分区用来存放Bootloader1,以及操作系统划分表,Bootloader2则存放在Muti‑system分区中各自操作系统空间的起始部分;步骤三、利用linux启动盘,把MaintainOS安装放在MaintainOS分区,启动进入MaintainOS,并在MaintainOS中把Bootloader1安装在Bootleader分区,同时建立操作系统划分表,放在Bootloader分区,根据切换方法,切换到对应的系统空间,进行正常操作系统安装。...

【技术特征摘要】

【专利技术属性】
技术研发人员:张各各李刚伟
申请(专利权)人:河南科技大学
类型:发明
国别省市:河南;41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1