CN113377445A - 一种从联机磁盘启动多操作系统的方法及装置 - Google Patents

一种从联机磁盘启动多操作系统的方法及装置 Download PDF

Info

Publication number
CN113377445A
CN113377445A CN202110934813.8A CN202110934813A CN113377445A CN 113377445 A CN113377445 A CN 113377445A CN 202110934813 A CN202110934813 A CN 202110934813A CN 113377445 A CN113377445 A CN 113377445A
Authority
CN
China
Prior art keywords
virtual
disk
operating system
computer
partition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110934813.8A
Other languages
English (en)
Other versions
CN113377445B (zh
Inventor
李大为
杜雄
杨更
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shengxin Network Technology Co ltd
Original Assignee
Beijing Shengxin Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Shengxin Network Technology Co ltd filed Critical Beijing Shengxin Network Technology Co ltd
Priority to CN202110934813.8A priority Critical patent/CN113377445B/zh
Publication of CN113377445A publication Critical patent/CN113377445A/zh
Application granted granted Critical
Publication of CN113377445B publication Critical patent/CN113377445B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded

Abstract

本文提供了一种从联机磁盘启动多操作系统的方法及装置,其中,方法执行之前需要预先确定多个虚拟磁盘,并使各虚拟磁盘与计算机内各虚拟操作系统所在磁盘分区相关联,设置虚拟机软件的启动模式为脱机磁盘模式,方法包括:虚拟机软件启动各虚拟操作系统时,生成读写各虚拟操作系统对应的虚拟磁盘的请求;将读写各虚拟操作系统对应的虚拟磁盘的请求,重定向至虚拟磁盘关联的虚拟操作系统所在磁盘分区;根据重定向到的磁盘分区中数据,完成虚拟操作系统启动。本文通过虚拟磁盘及重定向技术,能够实现虚拟磁盘启动多虚拟操作系统,不再需要将虚拟操作系统数据转换为不同的虚拟磁盘文件,节约了大量的转换时间及存储空间,也省去了不必要的硬件成本。

Description

一种从联机磁盘启动多操作系统的方法及装置
技术领域
本文涉及虚拟机领域,尤其涉及一种从联机磁盘启动多操作系统的方法及装置。
背景技术
现有技术中虚拟机软件启动虚拟操作系统包括两种模式:一种是从虚拟磁盘启动,这里的虚拟磁盘实际上是一个操作系统对应的数据被压缩后生成的特定文件格式的文件,该种方法也可以称之为是虚拟磁盘文件启动方法;另一种是从装有虚拟操作系统的脱机磁盘启动。
当计算机的同一物理磁盘中安装有多个虚拟操作系统时,虚拟机软件通过虚拟磁盘文件的方式启动虚拟操作系统,需要将对应的虚拟操作系统数据(一般是虚拟操作系统所在的分区,例如C分区)通过工具转换为特定格式的系统镜像文件(例如VHDX文件),转换过程需要很长的时间,转换之后设置虚拟机的启动项为该系统镜像文件,最后虚拟机软件可正常启动虚拟操作系统;另外,不同的虚拟机软件对应不同格式的虚拟磁盘文件,这些虚拟磁盘文件也会占用很大的存储空间。
从装有虚拟操作系统的脱机磁盘启动的方式,需要给计算机添加一块额外的硬盘,增加了额外的硬件成本,另外因为虚拟操作系统安装于同一物理磁盘,因此无法以脱机磁盘的方式启动。
发明内容
本文用于解决现有技术中通过虚拟磁盘文件启动方式存在启动效率低、浪费存储空间的问题以及无法利用脱机磁盘启动虚拟操作系统的问题。
为了解决上述技术问题,本文的第一方面提供从联机磁盘启动多操作系统的方法,预先确定多个虚拟磁盘,并使各虚拟磁盘与计算机内各虚拟操作系统所在磁盘分区相关联,设置虚拟机软件的启动模式为脱机磁盘模式,所述方法包括:
虚拟机软件启动各虚拟操作系统时,生成读写各虚拟操作系统对应的虚拟磁盘的请求;
将所述读写各虚拟操作系统对应的虚拟磁盘的请求,重定向至所述虚拟磁盘关联的所述虚拟操作系统所在磁盘分区;
根据重定向到的磁盘分区中数据,完成虚拟操作系统启动。
作为本文进一步实施例中,确定多个虚拟磁盘,并使各虚拟磁盘与计算机内各虚拟操作系统所在磁盘分区相关联,包括:
利用预先安装于计算机中的虚拟磁盘驱动执行如下操作:
虚拟出多个虚拟磁盘;
将各虚拟磁盘与计算机内各虚拟操作系统所在磁盘分区相关联。
作为本文进一步实施例中,虚拟出多个虚拟磁盘,包括:
获取计算机内各虚拟操作系统所在磁盘分区信息;
根据计算机内各虚拟操作系统所在磁盘分区信息,确定模拟分区信息;
根据计算机原操作系统发出的磁盘询问请求,发送所述模拟分区信息至计算机总线,由计算机原操作系统根据计算机总线中的模拟分区信息生成虚拟磁盘。
作为本文进一步实施例中,利用预先设计的脚本,设置虚拟机的启动模式为脱机磁盘模式。
作为本文进一步实施例中,多操作系统的启动方法还包括:
利用计算机中原操作系统的MBR扇区/EFI分区信息替换多虚拟操作系统的MBR扇区/EFI分区信息。
作为本文进一步实施例中,利用计算机中原操作系统的MBR扇区/EFI分区信息替换多虚拟操作系统的MBR扇区/EFI分区信息,包括:
在计算机中安装虚拟操作系统之前,备份所述计算机中原操作系统的MBR扇区/EFI分区信息至一特定文件;
在计算机安装完虚拟操作系统之后的每次启动读取到MBR扇区/EFI分区时,从所述特定文件中读取信息。
作为本文的进一步实施例中,还包括:
在计算机中安装虚拟操作系统之前,备份所述计算机中原操作系统的MBR扇区/EFI分区信息至一特定文件;
在计算机安装完虚拟操作系统之后的启动时,选择其中一虚拟操作系统选项进行启动;
虚拟机软件启动原操作系统时,重定向到所述特定文件,完成原操作系统启动。
本文的第二方面提供从联机磁盘启动多操作系统的装置,包括:预先确定多个虚拟磁盘,并使各虚拟磁盘与计算机内各虚拟操作系统所在磁盘分区相关联,设置虚拟机软件的启动模式为脱机磁盘模式,所述系统包括:
读写模块,用于虚拟机软件启动多个虚拟操作系统时,读写各虚拟操作系统对应的虚拟磁盘;
重定向模块,用于根据各虚拟操作系统对应的虚拟磁盘,重定向到所述虚拟磁盘关联的所述虚拟操作系统所在磁盘分区;
启动模块,用于根据重定向到的磁盘分区中数据,完成虚拟操作系统启动。
本文的第三方面提供一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行前述任一实施例所述从联机磁盘启动多操作系统的指令。
本文的第四方面提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行根据前述任一实施例所述的从联机磁盘启动多操作系统的方法的指令。
本文提供的从联机磁盘启动多操作系统的方法、装置、设备及存储介质,通过预先确定多个虚拟磁盘,并使各虚拟磁盘与计算机内各虚拟操作系统所在磁盘分区相关联,设置虚拟机的启动模式为脱机磁盘模式,虚拟机软件启动各虚拟操作系统时生成读写各虚拟操作系统对应的虚拟磁盘的请求;将读写各虚拟操作系统对应的虚拟磁盘的请求,重定向至所述虚拟磁盘关联的所述虚拟操作系统所在磁盘分区;根据重定向到的磁盘分区中数据,完成虚拟操作系统启动。本文通过虚拟磁盘及重定向技术,能够实现从虚拟操作系统的真实磁盘分区(即联机磁盘)启动多虚拟操作系统,不再需要将虚拟操作系统数据转换为不同的虚拟磁盘文件,节约了大量的转换时间,节省了大量的存储空间,也省去了不必要的硬件成本。
为让本文的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本文实施例从联机磁盘启动多操作系统的方法的第一流程图;
图2示出了本文实施例虚拟磁盘关联磁盘分区的流程图;
图3示出了本文实施例虚拟磁盘确定过程的流程图;
图4示出了本文实施例从联机磁盘启动多操作系统的方法的第二流程图;
图5示出了本文实施例从联机磁盘启动多操作系统的装置的结构图;
图6示出了本文实施例从联机磁盘启动多操作系统的方法的具体流程图;
图7示出了本文实施例计算机设备的结构图。
附图符号说明:
510、读写模块;
520、重定向模块;
530、启动模块;
702、计算机设备;
704、处理器;
706、存储器;
708、驱动机构;
710、输入/输出模块;
712、输入设备;
714、输出设备;
716、呈现设备;
718、图形用户接口;
720、网络接口;
722、通信链路;
724、通信总线。
具体实施方式
下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
需要说明的是,本文的说明书和权利要求书及上述附图中的术语 “包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
在工作和生活中,很多情况下都需要计算机运行多个操作系统,以满足不同的需求,例如,软件测试人员需要测试不同的操作系统下程序的兼容及稳定性等。而虚拟机软件通过模拟硬件系统的功能,运行一个完全隔离的完整计算机系统(即虚拟操作系统),在实体计算机中能够完成的工作在虚拟机中都可以实现。
本文中,计算机中已有的操作系统称之为原操作系统,除了计算机原操作系统之外的操作系统均可称之为虚拟操作系统,虚拟操作系统的启动建立在原操作系统启动之上,通过虚拟机软件可实现虚拟操作系统的启动,虚拟操作系统例如包括但不限于Windows1.0 、Windows 95、Windows 98、Windows ME、Windows 2000、Windows 2003、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10等。目前常用的虚拟机软件有VMWARE WORKSTATION,VIRSUALBOX,VMLITE以及Windows系统自带的Hyper-V等,常见的虚拟磁盘文件格式有VMDK/VHD/VHDX等,不同的虚拟机软件对应不同的虚拟磁盘文件,虚拟磁盘文件是一种操作系统所在分区经过转换后的一个文件,可以被虚拟机软件识别并加载,最后成功模拟出真实的操作系统。
现有技术中虚拟机软件启动虚拟操作系统包括两种模式:一种是从虚拟磁盘启动,另一种是从装有虚拟操作系统的脱机磁盘启动。当计算机的同一物理磁盘中安装有多个虚拟操作系统时,虚拟机软件通过虚拟磁盘文件的方式启动虚拟操作系统,需要将对应的虚拟操作系统数据(一般是虚拟操作系统所在的分区,例如C分区)通过工具转换为特定格式的系统镜像文件(例如VHDX文件),转换过程需要很长的时间,转换之后设置虚拟机的启动项为该系统镜像文件,最后虚拟机软件可正常启动虚拟操作系统;另外,不同的虚拟机软件对应不同格式的虚拟磁盘文件,这些虚拟磁盘文件也会占用很大的存储空间。从装有虚拟操作系统的脱机磁盘启动的方式,需要给计算机添加一块额外的硬盘,增加了额外的硬件成本,另外因为虚拟操作系统安装于同一物理磁盘,因此无法以脱机磁盘的方式启动。
为了解决现有技术中虚拟机软件启动多虚拟操作系统时存在的上述缺陷,本文的一实施例中,提供一种从联机磁盘启动多操作系统的方法。本方法实施之前,需要先安装多个虚拟操作系统,不同的操作系统安装的磁盘分区不同,例如原操作系统安装于C磁盘分区(即C盘)、虚拟操作系统A安装于磁盘分区D、虚拟操作系统B安装于磁盘分区E等,具体安装哪些操作系统由用户根据需求进行设定,本文对此不作限定,操作系统的安装过程可参考现有技术,本文对此不作限定。
虚拟操作系统安装完成之后,即可得知虚拟操作系统所在磁盘分区(即虚拟操作系统实际安装位置)。在安装完多个虚拟操作系统之后,预先确定多个虚拟磁盘,并使各虚拟磁盘与计算机内各虚拟操作系统所在磁盘分区相关联,虚拟磁盘与相关联的磁盘分区的容量等完全一致。因为虚拟操作系统配置了虚拟磁盘,因此,可将设置虚拟机软件的启动模式为脱机磁盘模式,具体实施时,可利用预先设计的脚本,设置虚拟机的启动模式为脱机磁盘模式。脱机磁盘指的是磁盘通电但没有正常连接,系统显示为脱机,这种情况看不到磁盘对应的分区,软件也无法通过盘符路径访问磁盘数据,但是可以编写驱动程序,通过扇区号来读写磁盘数据。
在前述操作执行完后,即可执行从联机磁盘启动多操作系统的过程,具体的,如图1所示,从联机磁盘启动多操作系统的方法包括:
步骤110,虚拟机软件启动各虚拟操作系统时,生成读写各虚拟操作系统对应的虚拟磁盘的请求;
步骤120,将读写各虚拟操作系统对应的虚拟磁盘的请求,重定向至所述虚拟磁盘关联的所述虚拟操作系统所在磁盘分区;
步骤130,根据重定向到的磁盘分区中数据,完成虚拟操作系统启动。
本实施例通过虚拟磁盘及重定向技术,能够实现从虚拟磁盘启动多虚拟操作系统,等效于从联机磁盘启动多操作系统,不再需要将虚拟操作系统数据转换为不同的虚拟磁盘文件,节约了大量的转换时间,节省了大量的存储空间,也省去了不必要的硬件成本。其中,联机磁盘指的是安装操作系统的真实磁盘,该磁盘处于联机状态,即通电及正常使用状态,联机状态时,可以看到磁盘分区,例如C盘、D盘,软件可通过盘符路径比如C:\1.txt读写该文件对应的磁盘数据。
详细的说,步骤110中,虚拟机软件为安装于计算机中的虚拟机软件,包括但不限于VMWARE WORKSTATION,VIRSUALBOX,VMLITE以及Windows系统自带的Hyper-V等。虚拟机软件启动的虚拟操作系统可由用户通过虚拟机软件配置虚拟操作系统对应的虚拟磁盘而定。本文对待启动的虚拟操作系统具体为何不做限定。
步骤120中,磁盘分区为计算机实体磁盘划分出的一块一块的硬盘区域,用于存储真实安装操作系统的启动所需的数据。磁盘具体划分方式可参考现有技术,此处不再详述。
具体实施时,因为虚拟磁盘为虚拟磁盘,其仅用于显示磁盘设备,实际上不存在对应的物理磁盘设备,虚拟磁盘本身是不会存储数据的。因此,当需要读写虚拟磁盘时,需要将读写虚拟磁盘的请求转发到虚拟磁盘关联的磁盘分区,磁盘分区中存储有操作系统启动所需的数据(操作系统系统文件),根据该些数据,即可完成虚拟操作系统的启动。
上述步骤130中,需将重定向到的磁盘分区数据读入到内存中,通过处理器执行内存中的数据,完成虚拟操作系统启动。
本文一实施例中,如图2所示,上述确定多个虚拟磁盘,并使各虚拟磁盘与计算机内各虚拟操作系统所在磁盘分区相关联,包括:
步骤210,利用预先安装于计算机中的虚拟磁盘驱动,虚拟出多个虚拟磁盘;
步骤 220,将各虚拟磁盘与计算机内各虚拟操作系统所在磁盘分区相关联。
详细的说,上述步骤210中,根据计算机内各虚拟操作系统所在磁盘分区信息,虚拟出多个虚拟磁盘。虚拟磁盘驱动可以脱机工作,以便虚拟机软件可以设置脱机磁盘工作模式并选择虚拟磁盘。虚拟磁盘驱动由开发者设计,该虚拟磁盘驱动可用于模拟出多个虚拟磁盘,具体的,虚拟出的磁盘个数可由人进行指定,也可由虚拟磁盘驱动根据已安装虚拟操作系统进行自动确定。例如,如果安装了主操作系统及虚拟操作系统1,分别安装在C分区及D分区, 当计算机从C分区启动了主操作系统,如果想在主操作系统的基础上模拟虚拟操作系统1,就需要模拟出一虚拟磁盘来对应虚拟操作系统1所在的分区D,同样,如果安装了主操作系统及两个虚拟操作系统1、2,分别安装在C分区、D分区及E分区,那么在主操作系统的基础上模拟出虚拟操作系统1、2,就需要利用虚拟磁盘驱动分别模拟出两个虚拟磁盘,分别对应D分区及E分区。
上述步骤210中,虚拟磁盘与计算机各虚拟操作系统所在磁盘分区的关联关系可由表格形式存储,如下表一所示。
表一
Figure 780499DEST_PATH_IMAGE001
本实施例能够利用虚拟磁盘驱动自动生成与虚拟操作系统相同个数的虚拟磁盘,将虚拟磁盘与虚拟操作系统的磁盘分区相关联,能够实现虚拟操作系统的脱机启动。
本文一实施例中,如图3所示,利用所述虚拟磁盘驱动,虚拟出多个虚拟磁盘,包括加载虚拟磁盘驱动,以执行如下操作:
步骤310,获取计算机内各虚拟操作系统所在磁盘分区信息;
步骤320,根据计算机内各虚拟操作系统所在磁盘分区信息,确定模拟分区信息;
步骤330,根据计算机原操作系统发出的磁盘询问请求,发送模拟分区信息至计算机总线,由计算机原操作系统根据计算机总线中的模拟分区信息生成虚拟磁盘。计算机原操作系统发现虚拟磁盘驱动后,会主动发出磁盘询问请求。
详细的说,上述步骤310中,虚拟操作系统所在磁盘分区信息包括但不限于:磁盘的容量,磁盘的序列号,磁盘的扇区大小等等。
上述步骤320中确定出的模拟分区信息中的磁盘容量、磁盘扇区大小等均与磁盘分区信息相同。
本文一实施例中,考虑到当计算机中安装有多个操作系统的情况下,操作系统启动的时候,引导程序会显示多个操作系统项,让用户选择需要启动的操作系统。为了避免手动选择操作系统,利用主操作系统的MBR(Main Boot Record)扇区/EFI(ExtensibleFirmware Interface)分区信息替换多虚拟操作系统的MBR扇区/EFI分区信息。修改后,即使安装了多个操作系统,也不会提示多个操作系统的选择项,避免每次都需要选择操作系统。
一些具体实施方式中,可通过磁盘数据重定向到文件技术实现主操作系统的MBR扇区/EFI分区信息替换多虚拟操作系统的MBR扇区/EFI分区信息。具体的,在计算机中安装虚拟操作系统之前,备份所述计算机中原操作系统的MBR扇区/EFI分区信息至一特定文件,其中,该特定文件用于存储原操作系统的MBR扇区/EFI分区信息,可由用户根据实际情况进行命名及确定存储位置,本文对此不做具体限定。在计算机安装完虚拟操作系统之后的每次启动时,从所述特定文件中读取信息。
详细的说,目前计算机的启动模式分为两种,Legacy BIOS和UEFI。Legacy BIOS是早期计算机一直使用的启动方式,磁盘的第一个扇区为MBR( Main Boot Record,主引导记录区),该扇区中存储有引导程序(Boot Loader)及分区表信息,该引导程序是在操作系统安装时,写入至MBR扇区的,当计算机启动操作系统时,需要从MBR中加载引导程序,继而启动操作系统,分区表信息记录有磁盘本身的相关信息以及磁盘各分区大小及位置信息。UEFI是Windows8及之后操作系统使用的启动模式,该启动模式下兼容了传统的BIOS模式,磁盘的第一个扇区依然是MBR,在MBR之后又划分出了一个EFI的分区,磁盘的分区表信息以及启动程序存储于EFI中。
本实施例能够无需用户选择操作系统,则可直接启动计算机,提高了多操作系统的计算机的启动效率。
为了能够实现计算机内原操作系统的隔离使用,例如测试原操作系统下程序的兼容及稳定性,但又不会对原操作系统产生影响,本文一实施例中,如图4所示,从联机磁盘启动多操作系统的方法还包括:
步骤410,在计算机中安装虚拟操作系统之前,备份所述计算机中原操作系统的MBR扇区/EFI分区信息至一特定文件;
步骤420,在计算机安装完虚拟操作系统之后的启动时,选择其中一虚拟操作系统选项进行启动;
步骤430,虚拟机软件启动原操作系统时,重定向到所述特定文件,完成原操作系统启动。
上述步骤420中,安装有多个操作系统的计算机启动时,会弹出操作系统选项界面供用户选择具体启动哪一操纵系统,或由预先设置于计算机中的程序从虚拟操作系统中随机选择其中之一启动。
本实施例能够实现原操作系统的隔离使用,避免测试员操作系统时,对系统造成不可逆影响。
基于同一发明构思,本文还提供一种从联机磁盘启动多操作系统的装置,如下面的实施例所述。由于从联机磁盘启动多操作系统的装置解决问题的原理与从联机磁盘启动多操作系统的方法相似,因此从联机磁盘启动多操作系统的装置的实施可以参见从联机磁盘启动多操作系统的方法,重复之处不再赘述。
具体的,从联机磁盘启动多操作系统的装置实施之前,需进行如下配置:预先确定多个虚拟磁盘,并使各虚拟磁盘与计算机内各虚拟操作系统所在磁盘分区相关联,设置虚拟机软件的启动模式为脱机磁盘模式,如图5所示,从联机磁盘启动多操作系统的装置包括:
读写模块510,用于虚拟机软件启动多个虚拟操作系统时,读写各虚拟操作系统对应的虚拟磁盘;
重定向模块520,用于根据各虚拟操作系统对应的虚拟磁盘,重定向到所述虚拟磁盘关联的所述虚拟操作系统所在磁盘分区;
启动模块530,用于根据重定向到的磁盘分区中数据,完成虚拟操作系统启动。
本实施例通过预先确定多个虚拟磁盘,并使各虚拟磁盘与计算机内各虚拟操作系统所在磁盘分区相关联,设置虚拟机的启动模式为脱机磁盘模式,虚拟机软件启动各虚拟操作系统时生成读写各虚拟操作系统对应的虚拟磁盘的请求;将读写各虚拟操作系统对应的虚拟磁盘的请求,重定向至所述虚拟磁盘关联的所述虚拟操作系统所在磁盘分区;根据重定向到的磁盘分区中数据,完成虚拟操作系统启动。本文通过虚拟磁盘及重定向技术,能够实现从虚拟操作系统的真实磁盘分区(即联机磁盘)启动多虚拟操作系统,不再需要将虚拟操作系统数据转换为不同的虚拟磁盘文件,节约了大量的转换时间,节省了大量的存储空间,也省去了不必要的硬件成本。
为了更清楚说明本文技术方案,下面以一具体实施例进行说明,具体的,如图6所示,实现联机磁盘启动多操作系统的具体过程包括:
步骤601,计算机原始系统启动后,对原始操作系统MBR扇区/EFI分区信息进行备份,将其保存至特定文件中;
步骤602,在计算机的不同磁盘分区中安装不同虚拟操作系统,例如安装虚拟操作系统1至D磁盘分区,安装虚拟操作系统2至E磁盘分区,…,安装虚拟操作系统n至X磁盘分区;
步骤603,计算机重新启动,当读取到MBR扇区/EFI分区时,从特定文件中读取信息,根据MBR扇区/EFI分区信息引导原始操作系统的启动,当读取到其他扇区时,则从真实分区读取数据;
步骤604,原始操作系统启动时加载虚拟磁盘驱动,根据虚拟操作系统所在磁盘分区,虚拟出多个虚拟磁盘,并将虚拟磁盘与虚拟操作系统所在磁盘分区相关联,例如将虚拟磁盘1关联D磁盘分区,将虚拟磁盘2关联E磁盘分区,…,将虚拟磁盘n关联X磁盘分区;
步骤605,运行虚拟机软件,例如Hyper-V,设置虚拟机软件的启动模式为脱机磁盘模式;
步骤606,虚拟机软件启动不同虚拟操作系统,生成读写各虚拟操作系统对应的虚拟磁盘的请求;
步骤607,通过虚拟操作系统对应的虚拟磁盘的请求,确定扇区的起始编号,根据扇区的起始编号读取扇区数据,根据读取扇区的编号范围,确定读取的扇区是否为系统启动引导扇区(MBR扇区/EFI分区),若判断结果为是,则引导扇区将读写请求重定向至步骤601的特定文件,若判断结果为否,则将读写请求重定向至虚拟磁盘关联的磁盘分区,完成虚拟操作系统启动。
本文提供的从联机磁盘启动多操作系统的方法及装置通过虚拟磁盘驱动虚拟出多个脱机的虚拟磁盘,分别对应不同的磁盘分区。配置虚拟机软件的启动项为脱机虚拟磁盘,当启动虚拟机软件启动操作系统时,虚拟机软件发出读写脱机虚拟磁盘的请求,经过虚拟磁盘驱动后被重定向到真实的磁盘分区,完成正常的数据交互并启动虚拟操作系统。本文通过磁盘重定向技术,能够跳过转换虚拟操作系统文件的过程,实现虚拟操作系统的快速启动。
本文一实施例中,还提供一种计算机设备,如图7所示,计算机设备702可以包括一个或多个处理器704,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备702还可以包括任何存储器706,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器706可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备702的固定或可移除部件。在一种情况下,当处理器704执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备702可以执行相关联指令的任一操作。计算机设备702还包括用于与任何存储器交互的一个或多个驱动机构708,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备702还可以包括输入/输出模块710(I/O),其用于接收各种输入(经由输入设备712)和用于提供各种输出(经由输出设备714))。一个具体输出机构可以包括呈现设备716和相关联的图形用户接口718(GUI)。在其他实施例中,还可以不包括输入/输出模块710(I/O)、输入设备712以及输出设备714,仅作为网络中的一台计算机设备。计算机设备702还可以包括一个或多个网络接口720,其用于经由一个或多个通信链路722与其他设备交换数据。一个或多个通信总线724将上文所描述的部件耦合在一起。
通信链路722可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路722可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
对应于图1-图4中的方法,本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。
本文实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图1至图4所示的方法。
应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。

Claims (10)

1.一种从联机磁盘启动多操作系统的方法,其特征在于,预先确定多个虚拟磁盘,并使各虚拟磁盘与计算机内各虚拟操作系统所在磁盘分区相关联,设置虚拟机软件的启动模式为脱机磁盘模式,所述方法包括:
虚拟机软件启动各虚拟操作系统时,生成读写各虚拟操作系统对应的虚拟磁盘的请求;
将所述读写各虚拟操作系统对应的虚拟磁盘的请求,重定向至所述虚拟磁盘关联的所述虚拟操作系统所在磁盘分区;
根据重定向到的磁盘分区中数据,完成虚拟操作系统启动。
2.如权利要求1所述的从联机磁盘启动多操作系统的方法,其特征在于,确定多个虚拟磁盘,并使各虚拟磁盘与计算机内各虚拟操作系统所在磁盘分区相关联,包括:
利用预先安装于计算机中的虚拟磁盘驱动执行如下操作:
虚拟出多个虚拟磁盘;
将各虚拟磁盘与计算机内各虚拟操作系统所在磁盘分区相关联。
3.如权利要求2所述的从联机磁盘启动多操作系统的方法,其特征在于,虚拟出多个虚拟磁盘,包括:
获取计算机内各虚拟操作系统所在磁盘分区信息;
根据计算机内各虚拟操作系统所在磁盘分区信息,确定模拟分区信息;
根据计算机原操作系统发出的磁盘询问请求,发送所述模拟分区信息至计算机总线,由计算机原操作系统根据计算机总线中的模拟分区信息生成虚拟磁盘。
4.如权利要求1所述的从联机磁盘启动多操作系统的方法,其特征在于,利用预先设计的脚本,设置虚拟机的启动模式为脱机磁盘模式。
5.如权利要求1所述的从联机磁盘启动多操作系统的方法,其特征在于,还包括:
利用计算机中原操作系统的MBR扇区/EFI分区信息替换多虚拟操作系统的MBR扇区/EFI分区信息。
6.如权利要求5所述的从联机磁盘启动多操作系统的方法,其特征在于,利用计算机中原操作系统的MBR扇区/EFI分区信息替换多虚拟操作系统的MBR扇区/EFI分区信息,包括:
在计算机中安装虚拟操作系统之前,备份所述计算机中原操作系统的MBR扇区/EFI分区信息至一特定文件;
在计算机安装完虚拟操作系统之后的每次启动读取到MBR扇区/EFI分区时,从所述特定文件中读取信息。
7.如权利要求1所述的从联机磁盘启动多操作系统的方法,其特征在于,还包括:
在计算机中安装虚拟操作系统之前,备份所述计算机中原操作系统的MBR扇区/EFI分区信息至一特定文件;
在计算机安装完虚拟操作系统之后的启动时,选择其中一虚拟操作系统选项进行启动;
虚拟机软件启动原操作系统时,重定向到所述特定文件,完成原操作系统启动。
8.一种从联机磁盘启动多操作系统的装置,其特征在于,包括:预先确定多个虚拟磁盘,并使各虚拟磁盘与计算机内各虚拟操作系统所在磁盘分区相关联,设置虚拟机软件的启动模式为脱机磁盘模式,所述系统包括:
读写模块,用于虚拟机软件启动多个虚拟操作系统时,读写各虚拟操作系统对应的虚拟磁盘;
重定向模块,用于根据各虚拟操作系统对应的虚拟磁盘,重定向到所述虚拟磁盘关联的所述虚拟操作系统所在磁盘分区;
启动模块,用于根据重定向到的磁盘分区中数据,完成虚拟操作系统启动。
9.一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时,执行根据权利要求1-7任意一项所述方法的指令。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机设备的处理器运行时,执行根据权利要求1-7任意一项所述方法的指令。
CN202110934813.8A 2021-08-16 2021-08-16 一种从联机磁盘启动多操作系统的方法及装置 Active CN113377445B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110934813.8A CN113377445B (zh) 2021-08-16 2021-08-16 一种从联机磁盘启动多操作系统的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110934813.8A CN113377445B (zh) 2021-08-16 2021-08-16 一种从联机磁盘启动多操作系统的方法及装置

Publications (2)

Publication Number Publication Date
CN113377445A true CN113377445A (zh) 2021-09-10
CN113377445B CN113377445B (zh) 2021-11-23

Family

ID=77577264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110934813.8A Active CN113377445B (zh) 2021-08-16 2021-08-16 一种从联机磁盘启动多操作系统的方法及装置

Country Status (1)

Country Link
CN (1) CN113377445B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114518936A (zh) * 2022-01-27 2022-05-20 广州鼎甲计算机科技有限公司 一种虚拟机增量备份方法、系统、装置及存储介质
CN115220797A (zh) * 2022-04-21 2022-10-21 北京联合伟世科技股份有限公司 操作系统启动及部署方法、装置、设备、介质及程序产品

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385486A (zh) * 2010-09-03 2012-03-21 深圳市拾三意强者科技有限公司 一种磁盘还原穿透方法、装置及设备
US8539137B1 (en) * 2006-06-09 2013-09-17 Parallels IP Holdings GmbH System and method for management of virtual execution environment disk storage
CN104484625A (zh) * 2014-12-29 2015-04-01 北京明朝万达科技有限公司 一种具有双操作系统的计算机及其实现方法
CN105677444A (zh) * 2015-12-31 2016-06-15 联想(北京)有限公司 一种启动虚拟机的方法和装置
US20170061145A1 (en) * 2015-08-28 2017-03-02 Dell Products L.P. System and method to redirect and unlock software secure disk devices in a high latency environment
CN106850825A (zh) * 2017-02-23 2017-06-13 中南大学 一种移动透明计算环境下客户端块级缓存优化方法
CN108287733A (zh) * 2017-12-19 2018-07-17 广东睿江云计算股份有限公司 一种虚拟机加载启动方法
CN112506534A (zh) * 2020-12-17 2021-03-16 武汉噢易云计算股份有限公司 一种物理机启动qcow2格式系统镜像的方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539137B1 (en) * 2006-06-09 2013-09-17 Parallels IP Holdings GmbH System and method for management of virtual execution environment disk storage
CN102385486A (zh) * 2010-09-03 2012-03-21 深圳市拾三意强者科技有限公司 一种磁盘还原穿透方法、装置及设备
CN104484625A (zh) * 2014-12-29 2015-04-01 北京明朝万达科技有限公司 一种具有双操作系统的计算机及其实现方法
US20170061145A1 (en) * 2015-08-28 2017-03-02 Dell Products L.P. System and method to redirect and unlock software secure disk devices in a high latency environment
CN105677444A (zh) * 2015-12-31 2016-06-15 联想(北京)有限公司 一种启动虚拟机的方法和装置
CN106850825A (zh) * 2017-02-23 2017-06-13 中南大学 一种移动透明计算环境下客户端块级缓存优化方法
CN108287733A (zh) * 2017-12-19 2018-07-17 广东睿江云计算股份有限公司 一种虚拟机加载启动方法
CN112506534A (zh) * 2020-12-17 2021-03-16 武汉噢易云计算股份有限公司 一种物理机启动qcow2格式系统镜像的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
揍悦: "计算机多个一个虚拟硬盘,妙用虚拟硬盘—教你一个固态硬盘装几十个电脑操作系统", 《CSDN论坛》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114518936A (zh) * 2022-01-27 2022-05-20 广州鼎甲计算机科技有限公司 一种虚拟机增量备份方法、系统、装置及存储介质
CN115220797A (zh) * 2022-04-21 2022-10-21 北京联合伟世科技股份有限公司 操作系统启动及部署方法、装置、设备、介质及程序产品

Also Published As

Publication number Publication date
CN113377445B (zh) 2021-11-23

Similar Documents

Publication Publication Date Title
US7017039B2 (en) Method of booting a computer operating system to run from a normally unsupported system device
US8830228B2 (en) Techniques for enabling remote management of servers configured with graphics processors
KR101484358B1 (ko) 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 어플라이언스를 부팅하기 위한 시스템들 및 방법들
US10481916B2 (en) Computer device and memory startup method of computer device
CN113377445B (zh) 一种从联机磁盘启动多操作系统的方法及装置
EP3518099B1 (en) Installation of operating system
US9239725B2 (en) System and method for installing an OS via a network card supporting PXE
EP1742150A1 (en) Computer system and method for selectively installing of operating system amonf a plurality of operating systems
CN113835644B (zh) 整机迁移方法、装置、设备及存储介质
CN103514015A (zh) 一种从存储介质中启动操作系统的方法和装置
CN109002346B (zh) 一种Windows虚拟机引导程序的转换方法
CN113326105B (zh) 基于主机迁移的硬件设备配置方法、装置及设备
JPH04332033A (ja) コンピュータプロセッサ動作用ユーザインターフェイス
US10491736B2 (en) Computer system and method thereof for bluetooth data sharing between UEFI firmware and OS
US8661237B2 (en) System and method for booting a plurality of servers from a shared boot image stored on a USB boot image sharer
CN104461402A (zh) 一种linux系统下多控制器间调整磁盘顺序的方法
KR20130068630A (ko) 임베디드 디바이스의 초기화 방법 및 장치
US7849300B2 (en) Method for changing booting sources of a computer system and a related backup/restore method thereof
US20130097412A1 (en) Performing A Boot Sequence In A Multi-Processor System
US20040243385A1 (en) Emulation of hardware devices in a pre-boot environment
JP7073654B2 (ja) 情報処理システム、情報処理装置およびプログラム
CN114296810A (zh) 一种操作系统迁移方法、装置、服务器与存储介质
CN102681859A (zh) 一种从USB大容量存储设备中启动Windows操作系统的方法
CN113342365A (zh) 操作系统部署方法、装置、设备及计算机可读存储介质
US10838737B1 (en) Restoration of memory content to restore machine state

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant