CN113687837A - 启动方式的转换方法及系统、虚拟机运行方法 - Google Patents

启动方式的转换方法及系统、虚拟机运行方法 Download PDF

Info

Publication number
CN113687837A
CN113687837A CN202110943307.5A CN202110943307A CN113687837A CN 113687837 A CN113687837 A CN 113687837A CN 202110943307 A CN202110943307 A CN 202110943307A CN 113687837 A CN113687837 A CN 113687837A
Authority
CN
China
Prior art keywords
target
format
partition
starting
source
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.)
Pending
Application number
CN202110943307.5A
Other languages
English (en)
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.)
Ruijie Networks Co Ltd
Original Assignee
Ruijie Networks 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 Ruijie Networks Co Ltd filed Critical Ruijie Networks Co Ltd
Priority to CN202110943307.5A priority Critical patent/CN113687837A/zh
Publication of CN113687837A publication Critical patent/CN113687837A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供一种启动方式的转换方法及电子设备、虚拟机的运行方法。其中,挂载镜像,从源启动分区查找所述镜像的源启动文件;按照目标启动方式,将所述镜像的磁盘格式由源磁盘格式转换为目标磁盘格式;按照所述目标磁盘格式,更新所述源启动文件,获得目标启动文件;将所述目标启动文件添加至所述源启动分区;所述目标启动文件用于按照所述目标启动方式启动操作系统以运行虚拟机。本申请实施例提供的技术方案解决了当启动方式改变时,需要重新制作镜像的问题。

Description

启动方式的转换方法及系统、虚拟机运行方法
技术领域
本申请实施例涉及计算机应用技术领域,尤其涉及一种启动方式的转换方法及系统、虚拟机运行方法。
背景技术
虚拟机指通过软件模拟的方式实现具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,可以实现安装操作系统、运行应用程序、访问网络资源等功能。虚拟机的操作系统通常可以存储在镜像中,通过镜像,运行虚拟机。具体的,可以获取镜像的磁盘中的启动文件,基于启动文件启动操作系统,运行虚拟机。
实际应用中,虚拟机可以通过不同的启动方式启动镜像,如UEFI(UnifiedExtensible Firmware Interface,统一可扩展固件接口)启动方式,或者legacy(传统BIOS(Basic Input Output System,基本输入输出系统)启动方式。并且,以某一启动方式制作的镜像只能以同样启动方式使用。因此,当启动方式改变时,原有的镜像将无法使用。现有技术中,通常需要重新制作镜像,时间较长,效率较低。
发明内容
本申请实施例提供一种启动方式的转换方法及系统、虚拟机运行方法,用以解决现有技术中当启动方式改变时,需要重新制作镜像的问题。
第一方面,本申请实施例中提供了一种启动方式的转换方法,包括:
挂载镜像,从源启动分区查找所述镜像的源启动文件;
按照目标启动方式,将所述镜像的磁盘格式由源磁盘格式转换为目标磁盘格式;
按照所述目标磁盘格式,更新所述源启动文件,获得目标启动文件;
将所述目标启动文件添加至所述源启动分区;所述目标启动文件用于按照所述目标启动方式启动操作系统以运行虚拟机。
第二方面,本申请实施例中提供了一种启动方式的转换方法,包括:
挂载镜像,从源启动分区查找所述镜像的源启动文件;
按照目标启动方式,将所述镜像的磁盘格式由源磁盘格式转换为目标磁盘格式;
按照所述目标磁盘格式,在所述镜像的磁盘上创建目标启动分区;
按照所述目标磁盘格式,修改所述源启动文件,获得目标启动文件;
将所述目标启动文件添加到所述目标启动分区;所述目标启动文件用于按照所述目标启动方式启动操作系统以运行虚拟机。
第三方面,本申请实施例中提供了一种虚拟机运行方法,包括:
按照目标启动方式,从源启动分区中获取目标启动文件,所述目标启动文件由源启动文件基于目标磁盘格式更新获得,所述源启动文件基于挂载镜像,从源启动分区查找获得,所述目标磁盘格式由源磁盘格式按照所述目标启动方式转换获得;
利用所述目标启动文件启动操作系统,以运行虚拟机。
第四方面,本申请实施例中提供了一种虚拟机运行方法,包括:
按照目标启动方式,从目标启动分区中获取目标启动文件,所述目标启动分区按照目标磁盘格式创建,所述目标磁盘格式由源磁盘格式按照所述目标启动方式转换获得,所述目标启动文件由源启动文件基于目标磁盘格式修改获得,所述源启动文件基于挂载镜像,从源启动分区查找获得;
利用所述目标启动文件启动操作系统,以运行虚拟机。
第五方面,本申请提供了一种启动方式的转换系统,包括存储组件及处理组件;
所述存储组件存储一条或多条计算机指令,所述一条或多条计算机指令供所述处理组件执行;
所述处理组件执行所述计算机指令时实现上述第一方面或第二方面或第三方面或第四方面任一项所述的方法。
本申请实施例中,通过转换镜像的磁盘格式,以及更新镜像的源启动文件,获得与目标启动方式对应的目标磁盘格式及目标启动文件,实现了对镜像的直接转换,转换之后的镜像可以与目标启动方式进行匹配,可以在目标启动方式下启动操作系统,运行虚拟机。解决了传统方案中需要以目标启动方式重新制作镜像的问题,节约了时间,提高了效率。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请提供的一种启动方式的转换方法一个实施例的流程图;
图2示出了本申请提供的一种启动方式的转换方法另一个实施例的流程图;
图3示出了本申请提供的一种虚拟机运行方法一个实施例的流程图;
图4示出了本申请提供的一种虚拟机运行方法另一个实施例的流程图;
图5示出了本申请提供的一种启动方式的转换系统一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请实施例的技术方案主要应用于操作系统启动的场景中,特别是虚拟机的操作系统启动的场景中。
为了方便理解,下面首先对本申请实施例中可能出现的技术术语进行相应解释:
虚拟机:通过软件模拟的方式实现具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,可以实现安装操作系统、运行应用程序、访问网络资源等功能。
镜像:一种文件存储形式,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。镜像中可以包括启动文件、引导程序及操作系统等数据。
挂载镜像:使用软件将镜像中的内容虚拟成物理光驱内容。
MBR(Master Boot Record,主引导记录):对IBM兼容机的硬盘或者可移动磁盘分区时,在驱动器最前端的一段引导扇区。MBR格式是一种磁盘格式。
GPT(GUIDPartition Table,GUID磁盘分割表):一种实体硬盘的分区表的结构布局的标准。GPT格式是另一种磁盘格式。GPT磁盘包括PMBR(保护MBR)、GPT头及分区表组成。
Legacy:传统的BIOS(Basic Input Output System,基本输入输出系统)镜像启动方式。以Legacy启动方式启动镜像时,镜像的磁盘格式是MBR格式。
UEFI(Unified Extensible Firmware Interface,统一可扩展固件接口):新式的BIOS镜像启动方式。以UEFI启动方式启动镜像时,镜像的磁盘格式是GPT格式。
启动文件:又称为引导文件,用于启动操作系统。
引导程序:用于读取引导文件,启动操作系统,包括bootmgr(Boot Manager,启动管理器)、grub(GRand Unified Bootloader,启动程序)、grub2(新版本grub)等。通常情况下,Windows操作系统选择bootmgr引导程序,Linux操作系统选择grub或gurb2引导程序。
系统分区:存储操作系统的磁盘分区。
启动分区:存储启动文件的磁盘分区。
在实际应用中,虚拟机的操作系统可以存储在镜像中,通过启动镜像,运行虚拟机。具体的,可以获取镜像的启动文件,基于启动文件启动内核加载程序,并利用内核加载程序加载内核,启动操作系统,运行虚拟机。虚拟机可以通过不同的启动方式启动镜像,如UEFI启动方式或legacy启动方式。并且,以某一启动方式制作的镜像,该镜像的磁盘格式和启动文件都与该启动方式对应,例如,以UEFI启动方式制作的镜像,其磁盘格式是GPT格式,而以legacy启动方式制作的镜像,其磁盘格式是MBR格式。因此,当启动方式改变时,原有的镜像由于磁盘格式及启动文件与启动方式不匹配,将无法使用。
传统方案中,通常需要以改变之后的启动方式重新制作镜像,时间较长,效率较低。因此,为了解决上述问题,提高效率,发明人提出了本申请的技术方案,挂载镜像,从源启动分区查找所述镜像的源启动文件;按照目标启动方式,将所述镜像的磁盘格式由源磁盘格式转换为目标磁盘格式;按照所述目标磁盘格式,更新所述源启动文件,获得目标启动文件;将所述目标启动文件添加至所述源启动分区;所述目标启动文件用于按照所述目标启动方式启动操作系统以运行虚拟机。
通过转换镜像的磁盘格式,以及更新镜像的源启动文件,获得与目标启动方式对应的目标磁盘格式及目标启动文件,实现了对镜像的直接转换,转换之后的镜像可以与目标启动方式进行匹配,可以在目标启动方式下启动操作系统,运行虚拟机。解决了传统方案中需要以目标启动方式重新制作镜像的问题,节约了时间,提高了效率。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为本申请提供的一种启动方式的转换方法一个实施例的流程图,该方法可以包括以下步骤:
101:挂载镜像,从源启动分区查找镜像的源启动文件。
在实际应用中,操作系统可以存储在镜像中,如虚拟机的操作系统或宿主机的操作系统等。其中,该操作系统可以包括Windows操作系统及Linux操作系统等。镜像中可以包括启动文件、引导程序、内核加载程序及操作系统等,通过镜像可以启动操作系统。本实施例中,镜像启动方式包括legacy启动和UEFI启动两种启动方式。其中,不同的启动方式对应的镜像磁盘格式不同,启动镜像以运行虚拟机的过程也不同。下面分别对按照legacy启动方式及UEFI启动方式运行虚拟机的过程进行简要说明。
若按照legacy启动方式启动镜像,对应的镜像磁盘格式是MBR格式。获取镜像的MBR磁盘中启动分区及系统分区的信息,该启动分区中可以包含启动文件。以镜像的操作系统是Windows操作系统为例,可以优先根据MBR磁盘的引导代码,查找活动分区的位置,并利用活动分区中的引导程序读取启动文件。该活动分区可以根据实际情况确定。根据启动文件查找内核加载程序,如查找winload.exe文件的位置信息,并利用该内核加载程序加载内核,启动操作系统,运行虚拟机。其中,Windows操作系统对应的引导程序可以实现为bootmgr程序,启动文件可以实现为BCD文件,Linux操作系统对应的引导程序可以实现为grub程序或grub2程序,启动文件可以实现为grub.cfg文件。
若按照UEFI启动方式启动镜像,对应的镜像磁盘格式是GPT格式。获取镜像的GPT磁盘中启动分区和系统分区的信息。以镜像的操作系统是Windows操作系统为例,利用系统分区中的启动管理程序,如bootx64.efi程序或bootia32.efi程序等,加载引导程序,并利用引导程序读取启动文件。根据启动文件查找内核加载程序,如查找winload.efi文件的位置信息,并利用该内核加载程序加载内核,启动操作系统,运行虚拟机。其中,Windows操作系统对应的引导程序可以实现为bootmgfw.efi程序,启动文件可以实现为BCD文件。Linux操作系统对应的引导程序可以实现为grub程序或grub2程序,启动文件可以实现为grub.cfg文件。
本实施例中,可以应用于安装有虚拟机的宿主机,可以直接获取待转换的镜像,并对镜像进行转换处理。由于镜像无法直接使用,在对镜像进行转换处理前,可以挂载镜像,获取镜像的磁盘分区信息及启动文件等数据。镜像可以有多种不同的格式,如qcow2格式、raw格式等。不同格式的镜像可以选择不同的挂载方式。可选的,挂载镜像的方法可以包括:
确定镜像的格式;
按照与上述格式对应的挂载方式挂载镜像。
本实施例中,若镜像格式为qcow2格式,可以选择qemu-nbd的方式进行挂载;若镜像格式为raw格式,可以选择loop+kpartx的方式进行挂载。具体的挂载过程与传统方案中一致,此处不进行赘述。
在镜像转换处理过程中,为了便于描述,可以将待转换镜像中的磁盘分区称为源磁盘分区,如源启动分区等,将转换后镜像中的磁盘分区称为目标磁盘分区,如目标启动分区等,以及将待转换镜像中的启动文件称为源启动文件,将转换后镜像中的启动文件称为目标启动文件等。本实施例中,可以从源启动分区查找镜像的源启动文件,以对该源启动文件进行转换。
102:按照目标启动方式,将镜像的磁盘格式由源磁盘格式转换为目标磁盘格式。
为了便于描述,可以将待转换的镜像的启动方式称为源启动方式,将转换后镜像的启动方式称为目标启动方式,以及将待转换的镜像的磁盘格式称为源磁盘格式,将转换后镜像的磁盘格式称为目标磁盘格式。
可选的,若镜像的源启动方式是UEFI启动,对应的源磁盘格式是GPT格式,当启动方式改变时,目标启动方式是legacy启动,对应的目标磁盘格式应该是MBR格式,此时,可以将镜像的磁盘格式由GPT格式转换为MBR格式。
可选的,若镜像的源启动方式是legacy启动,目标启动方式是UEFI启动,此时,可以将镜像的磁盘格式由MBR格式转换为GPT格式。上述磁盘格式转换的具体实现过程将在后续实施例中进行说明,此处不进行赘述。
103:按照目标磁盘格式,更新源启动文件,获得目标启动文件。
转换目标磁盘格式之后,按照目标启动方式启动镜像运行虚拟机的过程会发生改变,此时源启动文件中的配置数据将无法适用。例如,内核加载程序的位置信息将发生改变,根据源启动文件将无法查找内核加载程序,导致无法加载内核,影响虚拟机的正常运行。因此,可以按照目标磁盘格式,对源启动文件进行更新,具体可以是对源启动文件中的配置数据进行更新,获得目标启动文件。其中,该目标启动文件的配置数据与目标磁盘格式对应。
104:将目标启动文件添加至源启动分区;该目标启动文件可以用于按照目标启动方式启动操作系统以运行虚拟机。
将目标启动文件添加至源启动分区。由于转换后的目标磁盘格式与目标启动文件都与目标启动方式匹配,可以按照目标启动方式,启动操作系统,以运行虚拟机。
本实施例中,通过转换镜像的磁盘格式,以及更新镜像的源启动文件,获得与目标启动方式对应的目标磁盘格式及目标启动文件,实现了对镜像的直接转换,转换之后的镜像可以与目标启动方式进行匹配,可以在目标启动方式下启动操作系统,运行虚拟机。解决了传统方案中需要以目标启动方式重新制作镜像的问题,节约了时间,提高了效率。
下面分别以将镜像的启动方式由legacy启动转换为UEFI启动,以及由UEFI启动转换为legacy启动为例,对上述启动方式的转换流程进行说明。
在某些实施例中,镜像的源启动方式是legacy启动,源磁盘格式为MBR格式,目标启动方式是UEFI启动,目标磁盘格式为GPT格式。
具体的,获取待转换的镜像后,优先对镜像格式进行判断。若判断是qcow2格式,则采用qemu-nbd的方式挂载镜像,若判断是raw格式,则采用loop+kpartx的方式挂载镜像。挂载镜像后,可以获得镜像的源磁盘分区信息,包括源启动分区及源系统分区。其中,源启动分区中可以存储有源启动文件。此时,可以从源启动分区中查找源启动文件,以镜像的操作系统是Windows操作系统为例,可以从源启动分区中查找BCD文件。之后,将镜像的磁盘格式由MBR格式转换为GPT格式,更新源启动文件以获得目标启动文件,将目标启动文件存储至源启动分区,以用于按照UEFI启动方式启动操作系统,运行虚拟机。其中,更新源启动文件的具体实现过程将在后续实施例中进行说明,此处不进行赘述。在实际应用中,还可以从源系统分区中Windows/Boot/EFI路径下查找包括UI(User Interface,用户界面)等启动数据的其它文件,并结合上述文件与目标启动文件,按照UEFI启动方式启动操作系统,运行虚拟机。
在某些实施例中,镜像的源启动方式是UEFI启动,源磁盘格式是GPT格式,目标启动方式是legacy启动,目标磁盘格式是MBR格式,该方法还可以包括:
若镜像的操作系统为Windows操作系统,按照目标磁盘格式,在镜像的磁盘上设置活动分区,该活动分区用于读取目标启动文件;
按照目标磁盘格式,在镜像的磁盘上添加引导代码,该引导代码用于确定活动分区。
本实施例中,根据legacy启动方式的启动规范,以Windows操作系统为例,磁盘中设置有活动分区。根据MBR磁盘的引导代码,可以确定活动分区的位置,并利用活动分区中的引导程序读取启动文件。因此,可以在镜像磁盘格式转换之后,在镜像的磁盘上添加引导代码,并设置活动分区。其中,该引导代码和活动分区可以根据实际情况进行设置。
具体的,对镜像格式进行判断,若镜像是qcow2格式,则采用qemu-nbd的方式挂载镜像,若镜像是raw格式,则采用loop+kpartx的方式挂载镜像。挂在镜像后,获得镜像的源启动分区及源系统分区信息。从源启动分区中查找源启动文件,以Windows操作系统为例,可以从源启动分区中查找BCD文件。之后,将镜像的磁盘格式由GPT格式转换为MBR格式,并安装对应的引导代码。更新源启动文件的配置数据,获得目标启动文件,将目标启动文件存储至源启动分区,并设置活动分区,以用于按照legacy启动方式启动操作系统,运行虚拟机。在实际应用中,还可以从源系统分区中Windows/Boot/PCAT路径下查找包括UI等启动数据的其它文件,并结合上述文件与目标启动文件,按照legacy启动方式启动操作系统,运行虚拟机。
在实际应用中,镜像的磁盘格式不同,磁盘分区信息及磁盘数据也不同。在某些实施例中,按照目标启动方式,将镜像的磁盘格式由源磁盘格式转换为目标磁盘格式的方法可以包括:
获取磁盘的分区表;
将分区表的格式由源分区表格式转换为目标分区表格式,该源分区表格式对应于源磁盘格式,目标分区表格式对应于目标磁盘格式;
构建与目标分区表格式对应的数据。
具体的,镜像的磁盘格式不同,磁盘分区表的格式也不同。本实施例中,镜像的磁盘格式可以包括MBR格式及GPT格式,MBR磁盘对应的分区表格式实现为MBR分区表,GPT磁盘对应的分区表格式实现为GPT分区表。为了便于描述,可以将待转换的镜像磁盘的分区表格式称为源分区表格式,将转换后的镜像磁盘的分区表格式称为目标分区表格式。
作为一种可选的实现方式,镜像的源磁盘格式实现为MBR格式,目标磁盘格式实现为GPT格式,可以获取MBR分区表,并将MBR分区表转换为GPT分区表,以及构建GPT头部数据和PMBR数据。
作为另一种可选的实现方式,镜像的源磁盘格式实现为GPT格式,目标磁盘格式实现为MBR格式,可以获取GPT分区表,将GPT分区表转换为MBR分区表,并设置活动分区,以及基于引导代码和MBR分区表信息构建MBR扇区数据,以及清除GPT头部数据和GPT分区表数据。
在实际应用中,根据不同磁盘格式的磁盘设置规范,MBR磁盘中可以设置4个分区表,而GPT磁盘中设置的分区表可以多于4个,如果分区表个数不匹配,无法直接进行分区表格式转换。为了实现分区表的格式转换,若源分区表格式实现为MBR格式,目标分区表格式实现为GPT格式,在某些实施例中,将分区表的格式由源分区表格式转换为目标分区表格式的方法可以包括:
判断分区表中是否设置扩展分区;
若否,将分区表的格式由源分区表格式转换为目标分区表格式;
若是,确定扩展分区包含的全部分区信息,并基于全部分区信息,将分区表的格式由源分区表格式转换为目标分区表格式。
本实施例中,源磁盘格式为MBR磁盘,MBR磁盘中设置有4个MBR分区。其中,该4个分区可以全部设置为主分区,也可以设置3个主分区及1个扩展分区,扩展分区中又可以包括多个逻辑分区。
因此,优先对分区表中是否设置有扩展分区进行判断。若未设置扩展分区,可以直接将分区表的格式由MBR格式转换为GPT格式。若设置扩展分区,则可以确定扩展分区包含的全部逻辑分区信息,并基于MBR磁盘的全部分区信息,将分区表的格式由MBR格式转换为GPT格式。具体的,可以根据扩展分区中的单向链表,确定扩展分区链表中的全部逻辑分区信息。
本实施例中,通过对MBR磁盘中是否设置扩展分区进行判断,并在判断MBR磁盘中设置扩展分区时,确定扩展分区包含的全部逻辑分区信息,并基于MBR磁盘的全部分区信息,将MBR分区表转换为GPT分区表,实现了设置有扩展分区的MBR磁盘到包含四个分区以上的GPT磁盘的格式转换。
若源分区表格式实现为GPT格式,目标分区表格式实现为MBR格式,在某些实施例中,将分区表的格式由源分区表格式转换为目标分区表格式的方法可以包括:
判断分区表的个数是否大于4;
若否,将分区表的格式由源分区表格式转换为目标分区表格式;
若是,将目标分区表格式中第四个分区的位置作为扩展分区,更新目标分区表格式为包含扩展分区的目标分区表格式,并将分区表的格式由源分区表格式转换为更新后的目标分区表格式。
本实施例中,源磁盘格式为GPT磁盘,GPT磁盘中可以设置有多个GPT分区表。由于MBR磁盘最多可以设置4个MBR分区表,若GPT分区表的个数大于4,按照分区表的对应关系进行转换时,无法将GPT分区表全部转换为MBR分区表。
因此可以优先对分区表的个数是否大于4进行判断。若分区表个数不大于4,则可以直接将分区表的格式由GPT格式转换为MBR格式。若分区表个数大于4,则可以将MBR分区表中第四个分区设置为扩展分区,更新MBR格式,此时,MBR分区表中包含扩展分区,该扩展分区可以包括多个逻辑分区。可以将分区表的格式由GPT分区表转换为包含扩展分区的MBR分区表。
本实施例中,通过对GPT磁盘中分区表的个数是否大于4进行判断,并在判断GPT磁盘分区表个数大于4时,将MBR磁盘中的第四个分区设置为扩展分区,将GPT分区表转换为MBR分区表,实现了包含四个分区以上的GPT磁盘到设置有扩展分区的MBR磁盘的格式转换。
在实际应用中,转换目标磁盘格式之后,可以对源启动文件进行更新,获得与目标磁盘格式及目标启动方式对应的目标启动文件。在某些实施例中,按照目标磁盘格式,更新源启动文件,获得目标启动文件的方法可以包括:
获取源启动文件的配置数据,该配置数据中包括内核加载程序的源配置数据;
将源配置数据修改为与目标磁盘格式对应的目标配置数据,其中,目标启动文件中包含该目标配置数据。
其中,镜像的启动方式与磁盘格式不同时,启动文件中内核加载程序的配置数据也不同,该内核加载程序的配置数据可以包括内核加载程序的位置数据等。以Windows操作系统为例,MBR磁盘格式对应的内核加载程序的位置数据可以实现为winload.exe,GPT磁盘格式对应的内核加载程序的位置数据可以实现为winload.efi。为了便于描述,可以将源启动文件中内核加载程序的配置数据称为源配置数据,将目标启动文件中内核加载程序的配置数据称为目标配置数据。
本实施例中,可以获取源启动文件的配置数据。以Windows操作系统为例,可以获取BCD文件中的数据。可选的,若目标磁盘格式为GPT格式,将BCD文件中内核加载程序的位置数据由winload.exe修改为winload.efi。可选的,若目标磁盘格式为MBR格式,将BCD文件中内核加载程序的位置数据由winload.efi修改为winload.exe。以Linux操作系统为例,可以获取grub.cfg文件,修改grub.cfg文件中内核加载程序的位置数据。其中,grub.cfg文件的修改可以参考传统方案中的实现过程,本申请对此不进行赘述。在实际应用中,还可以对启动文件的其它配置数据进行更新,可以根据实际情况进行更新。
上述实施例所示的转换方法中,并未对镜像中源启动文件的存储分区进行修改。在实际应用中,还可以对源启动文件的存储分区进行修改。如图2所示,为本申请提供的一种启动方式的转换方法另一个实施例的流程图,该方法可以包括以下步骤:
201:挂载镜像,从源启动分区查找镜像的源启动文件。
202:按照目标启动方式,将镜像的磁盘格式由源磁盘格式转换为目标磁盘格式。
步骤201~202的实现方式与图1所示实施例中步骤101~102的实现方式一致,此处不再进行赘述。
203:按照目标磁盘格式,在镜像的磁盘上创建目标启动分区。
磁盘格式转换之后,可以在具有目标磁盘格式的磁盘上创建目标启动分区。具体的,可以将任一磁盘分区设置为目标启动分区。
本实施例中,镜像的磁盘格式可以包括MBR格式及GPT格式。可选的,镜像的源磁盘格式为GPT格式,目标磁盘格式为MBR格式时,可以设置任一磁盘分区为目标启动分区。
可选的,镜像的源磁盘格式为MBR格式,目标磁盘格式为GPT格式时,可以利用磁盘空间创建程序,如qemu-img resize程序,增加磁盘空间,并在新增的空间中创建目标启动分区。例如可以增加100兆(M)以上的空间。之后,可以利用分区工具,如parted和fdisk程序,在新增的空间中创建目标启动分区。分区过程可以参考传统方案中具体的实现过程,此处不进行赘述。
204:按照目标磁盘格式,修改源启动文件,获得目标启动文件。
具体的,转换目标磁盘格式并创建目标启动分区后,源启动文件的配置数据无法适用目标启动分区。例如,源启动文件的位置数据与源启动分区的位置数据对应,而目标启动分区的位置数据与源启动分区的位置数据不同,此时,利用目标启动分区将无法获取启动文件,导致无法加载内核,虚拟机无法正常运行。
因此,可以按照目标磁盘格式,对源启动文件进行修改,获得目标启动文件。其中,该目标启动文件的配置数据与目标磁盘格式对应。
205:将目标启动文件添加到目标启动分区;该目标启动文件用于按照目标启动方式启动操作系统以运行虚拟机。
获取目标启动文件之后,可以将该目标启动文件添加至目标启动分区。由于转换后的目标磁盘格式与目标启动文件都与目标启动方式匹配,可以按照目标启动方式,启动操作系统,以运行虚拟机。
本实施例中,通过转换镜像的磁盘格式,以及修改镜像的源启动文件,获得与目标启动方式对应的目标磁盘格式及目标启动文件,实现了对镜像的直接转换,转换之后的镜像可以与目标启动方式进行匹配,可以在目标启动方式下启动,运行虚拟机。解决了传统方案中需要以目标启动方式重新制作镜像的问题,节约了时间,提高了效率。
在实际应用中,按照镜像的磁盘格式转换之后,可以重新设置启动文件的存储分区。以Linux操作系统为例,按照legacy启动方式或UEFI启动方式启动Linux操作系统时,磁盘分区中无需设置活动分区,可以直接查找系统分区中的启动文件,加载内核,启动操作系统,运行虚拟机。此时,无需获取源磁盘格式的磁盘分区的信息,如活动分区的信息。可以在磁盘格式转换之后,重新设置启动文件的存储分区。因此,在某些实施例中,当镜像的操作系统为Linux操作系统时,可以按照目标磁盘格式,在镜像的磁盘上创建目标启动分区。
下面分别以将镜像的启动方式由legacy启动转换为UEFI启动,以及由UEFI启动转换为legacy启动为例,对上述启动方式的转换流程进行说明。
在某些实施例中,镜像的源启动方式是legacy启动,目标启动方式是UEFI启动。获取待转换的镜像后,优先对镜像格式进行判断。若镜像是qcow2格式,则采用qemu-nbd的方式挂载镜像,若镜像是raw格式,则采用loop+kpartx的方式挂载镜像。获取源启动文件,将镜像的磁盘格式由MBR格式转换为GPT格式,利用磁盘空间创建程序,如qemu-img resize程序,增加磁盘空间。之后,挂载镜像并利用分区工具,如parted和fdisk程序,在新增的空间中创建目标启动分区。更新源启动文件获得目标启动文件,将目标启动文件存储至该目标启动分区,以用于按照UEFI启动方式启动操作系统,运行虚拟机。其中,磁盘格式转换的具体实现过程在前面实施例中已进行了说明,此处不再进行赘述。
在某些实施例中,镜像的源启动方式是UEFI启动,目标启动方式是legacy启动。对镜像格式进行判断,若镜像是qcow2格式,则采用qemu-nbd的方式挂载镜像,若镜像是raw格式,则采用loop+kpartx的方式挂载镜像。获取源启动文件,将镜像的磁盘格式由GPT格式转换为MBR格式,挂载镜像并在磁盘中设置目标启动分区。更新源启动文件获得目标启动文件,将目标启动文件存储至该目标启动分区,以用于按照legacy启动方式启动操作系统,运行虚拟机。
在实际应用中,转换目标磁盘格式之后,可以对源启动文件进行修改,获得与目标磁盘格式及目标启动方式对应的目标启动文件。在某些实施例中,按照目标磁盘格式,对源启动文件进行修改,获得目标启动文件的方法可以包括:
将源启动文件的源位置数据修改为与目标磁盘格式对应的目标位置数据。
其中,镜像的启动方式与磁盘格式转换后,目标启动分区的位置数据发生改变,目标启动文件的位置数据也发生改变。为了便于描述,可以将源启动文件的位置数据称为源位置数据,将目标启动文件的位置数据称为目标位置数据。
因此,可以将源启动文件的源位置数据修改为目标位置数据。其中,源位置数据可以对应于源启动分区,目标位置数据可以对应于目标启动分区。目标启动分区根据实际情况进行设置,目标启动文件的目标位置数据也可以根据实际情况进行设置,此处不进行赘述。在实际应用中,还可以对启动文件中其它配置数据进行修改,如内核加载程序的配置数据等,可以根据实际情况进行修改。
如图3所示,为本申请提供的一种虚拟机运行方法一个实施例的流程图,该方法可以包括以下步骤:
301:按照目标启动方式,从源启动分区中获取目标启动文件,目标启动文件由源启动文件基于目标磁盘格式更新获得,源启动文件基于挂载镜像,从源启动分区查找获得,目标磁盘格式由源磁盘格式按照目标启动方式转换获得;
302:利用目标启动文件启动操作系统,以运行虚拟机。
本实施例中,镜像的磁盘格式及启动文件均实现为与目标启动方式对应的,目标磁盘格式及目标启动文件,与目标启动方式匹配,可以在目标启动方式下启动操作系统,运行虚拟机。通过直接对镜像进行转换,实现了无需重新制作镜像即可在目标启动方式下启动操作系统,节约了时间,提高了效率。
图3所示实施例中的虚拟机运行方法对应于图1所示实施例中的启动方式的转换方法,目标启动文件的更新过程及目标磁盘格式的转换过程在图1所示实施例中已进行了详细说明,此处不再进行赘述。
如图4所示,为本申请提供的一种虚拟机运行方法另一个实施例的流程图,该方法可以包括以下步骤:
401:按照目标启动方式,从目标启动分区中获取目标启动文件,目标启动分区按照目标磁盘格式创建,目标磁盘格式由源磁盘格式按照目标启动方式转换获得,目标启动文件由源启动文件基于目标磁盘格式修改获得,源启动文件基于挂载镜像,从源启动分区查找获得;
402:利用目标启动文件启动操作系统,以运行虚拟机。
本实施例中,镜像的磁盘格式及启动文件均实现为与目标启动方式对应的,目标磁盘格式及目标启动文件,与目标启动方式匹配,可以在目标启动方式下启动操作系统,运行虚拟机。通过直接对镜像进行转换,实现了无需重新制作镜像即可在目标启动方式下启动操作系统,节约了时间,提高了效率。
图4所示实施例中的虚拟机运行方法对应于图2所示实施例中的启动方式的转换方法,目标启动分区的创建过程、目标启动文件的更新过程及目标磁盘格式的转换过程在图2所示实施例中已进行了详细说明,此处不再进行赘述。
如图5所示,为本申请提供的一种启动方式的转换系统,包括存储组件501及处理组件502;
存储组件501存储一条或多条计算机指令,该计算机指令供处理组件502调用执行;
处理组件502用于:
挂载镜像,从源启动分区查找镜像的源启动文件;
按照目标启动方式,将镜像的磁盘格式由源磁盘格式转换为目标磁盘格式;
按照目标磁盘格式,更新源启动文件,获得目标启动文件;
将目标启动文件添加至源启动分区;该目标启动文件用于按照目标启动方式启动操作系统以运行虚拟机。
本实施例中,通过转换镜像的磁盘格式,以及更新镜像的源启动文件,获得与目标启动方式对应的目标磁盘格式及目标启动文件,实现了对镜像的直接转换,转换之后的镜像可以与目标启动方式进行匹配,可以在目标启动方式下启动操作系统,运行虚拟机。解决了传统方案中需要以目标启动方式重新制作镜像的问题,节约了时间,提高了效率。
图5所示实施例中的启动方式的转换系统对应于图1所示实施例中的启动方式的转换方法,具体的实现过程在图1所示实施例中已进行了详细的说明,此处不再进行赘述。
本申请还提供了一种启动方式的转换系统的另一个实施例,包括存储组件及处理组件;
存储组件存储一条或多条计算机指令,该计算机指令供处理组件调用执行;
处理组件用于:
挂载镜像,从源启动分区查找镜像的源启动文件;
按照目标启动方式,将镜像的磁盘格式由源磁盘格式转换为目标磁盘格式;
按照目标磁盘格式,在镜像的磁盘上创建目标启动分区;
按照目标磁盘格式,修改源启动文件,获得目标启动文件;
将目标启动文件添加到目标启动分区;目标启动文件用于按照目标启动方式启动操作系统以运行虚拟机。
本实施例中的启动方式的转换系统对应于图2所示实施例中的启动方式的转换方法,具体的实现过程在图2所示实施例中已进行了详细的说明,此处不再进行赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对传统方案做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (12)

1.一种启动方式的转换方法,其特征在于,包括:
挂载镜像,从源启动分区查找所述镜像的源启动文件;
按照目标启动方式,将所述镜像的磁盘格式由源磁盘格式转换为目标磁盘格式;
按照所述目标磁盘格式,更新所述源启动文件,获得目标启动文件;
将所述目标启动文件添加至所述源启动分区;所述目标启动文件用于按照所述目标启动方式启动操作系统以运行虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述按照目标启动方式,将所述镜像的磁盘格式由源磁盘格式转换为目标磁盘格式包括:
获取所述磁盘的分区表;
将所述分区表的格式由源分区表格式转换为目标分区表格式,所述源分区表格式对应于所述源磁盘格式,所述目标分区表格式对应于所述目标磁盘格式;
构建与所述目标分区表格式对应的数据。
3.根据权利要求2所述的方法,其特征在于,所述源磁盘格式为GUID磁盘分割表GPT格式,所述目标磁盘格式为主引导记录MBR格式;所述将所述分区表的格式由源分区表格式转换为目标分区表格式包括:
判断所述分区表的个数是否大于4;
若否,将所述分区表的格式由源分区表格式转换为目标分区表格式;
若是,将目标分区表格式中第四个分区的位置作为扩展分区,更新所述目标分区表格式为包含扩展分区的目标分区表格式,并将所述分区表的格式由源分区表格式转换为更新后的目标分区表格式。
4.根据权利要求2所述的方法,其特征在于,所述源磁盘格式为MBR格式,所述目标磁盘格式为GPT格式;所述将所述分区表的格式由源分区表格式转换为目标分区表格式包括:
判断所述分区表中是否设置扩展分区;
若否,将所述分区表的格式由源分区表格式转换为目标分区表格式;
若是,确定所述扩展分区包含的全部分区信息,并基于所述全部分区信息,将所述分区表的格式由源分区表格式转换为目标分区表格式。
5.根据权利要求1所述的方法,其特征在于,所述按照所述目标磁盘格式,更新所述源启动文件,获得目标启动文件包括:
获取所述源启动文件的配置数据,所述配置数据中包括内核加载程序的源配置数据,所述内核加载程序用于加载内核以启动操作系统;
将所述源配置数据修改为与所述目标磁盘格式对应的目标配置数据,所述目标启动文件包括所述目标配置数据。
6.根据权利要求1所述的方法,其特征在于,所述源磁盘格式为GPT格式,所述目标磁盘格式为MBR格式,所述方法还包括:
若所述镜像的操作系统为Windows操作系统,按照所述目标磁盘格式,在所述镜像的磁盘上设置活动分区,所述活动分区用于读取所述目标启动文件;
按照所述目标磁盘格式,在所述镜像的磁盘上添加引导代码,所述引导代码用于确定所述活动分区。
7.一种启动方式的转换方法,其特征在于,包括:
挂载镜像,从源启动分区查找所述镜像的源启动文件;
按照目标启动方式,将所述镜像的磁盘格式由源磁盘格式转换为目标磁盘格式;
按照所述目标磁盘格式,在所述镜像的磁盘上创建目标启动分区;
按照所述目标磁盘格式,修改所述源启动文件,获得目标启动文件;
将所述目标启动文件添加到所述目标启动分区;所述目标启动文件用于按照所述目标启动方式启动操作系统以运行虚拟机。
8.根据权利要求7所述的方法,其特征在于,所述按照所述目标磁盘格式,在所述镜像的磁盘上创建目标启动分区包括:
若所述镜像的操作系统为Linux操作系统,按照所述目标磁盘格式,在所述镜像的磁盘上创建目标启动分区。
9.根据权利要求7所述的方法,其特征在于,所述按照所述目标磁盘格式,修改所述源启动文件,获得目标启动文件包括:
将所述源启动文件的源位置数据修改为与所述目标磁盘格式对应的目标位置数据。
10.一种虚拟机运行方法,其特征在于,包括:
按照目标启动方式,从源启动分区中获取目标启动文件,所述目标启动文件由源启动文件基于目标磁盘格式更新获得,所述源启动文件基于挂载镜像,从源启动分区查找获得,所述目标磁盘格式由源磁盘格式按照所述目标启动方式转换获得;
利用所述目标启动文件启动操作系统,以运行虚拟机。
11.一种虚拟机运行方法,其特征在于,包括:
按照目标启动方式,从目标启动分区中获取目标启动文件,所述目标启动分区按照目标磁盘格式创建,所述目标磁盘格式由源磁盘格式按照所述目标启动方式转换获得,所述目标启动文件由源启动文件基于目标磁盘格式修改获得,所述源启动文件基于挂载镜像,从源启动分区查找获得;
利用所述目标启动文件启动操作系统,以运行虚拟机。
12.一种启动方式的转换系统,其特征在于,包括存储组件及处理组件;
所述存储组件包括一条或多条计算机指令,所述计算机指令供所述处理组件调用执行;
所述处理组件执行所述计算机指令时实现上述权利要求1至11任一项所述的方法。
CN202110943307.5A 2021-08-17 2021-08-17 启动方式的转换方法及系统、虚拟机运行方法 Pending CN113687837A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110943307.5A CN113687837A (zh) 2021-08-17 2021-08-17 启动方式的转换方法及系统、虚拟机运行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110943307.5A CN113687837A (zh) 2021-08-17 2021-08-17 启动方式的转换方法及系统、虚拟机运行方法

Publications (1)

Publication Number Publication Date
CN113687837A true CN113687837A (zh) 2021-11-23

Family

ID=78580287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110943307.5A Pending CN113687837A (zh) 2021-08-17 2021-08-17 启动方式的转换方法及系统、虚拟机运行方法

Country Status (1)

Country Link
CN (1) CN113687837A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114706533A (zh) * 2022-04-24 2022-07-05 苏州睿芯集成电路科技有限公司 一种基于gpt分区表的多文件多级启动加载方法及装置
CN115390996A (zh) * 2022-10-28 2022-11-25 安超云软件有限公司 虚拟机迁移方法和装置、计算设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160116574A (ko) * 2015-03-30 2016-10-10 주식회사 웨인 운영체제와 파일저장 기능이 가능한 이동식 저장장치
CN107861790A (zh) * 2017-10-27 2018-03-30 新华三云计算技术有限公司 虚拟机磁盘空间扩展方法、装置、宿主机及可读存储介质
CN109002346A (zh) * 2018-07-10 2018-12-14 广东微云科技股份有限公司 一种Windows虚拟机引导程序的转换方法
CN111913753A (zh) * 2020-07-10 2020-11-10 江苏安超云软件有限公司 一种windows系统云迁移中启动方式的变更方法及系统
CN113254089A (zh) * 2021-06-04 2021-08-13 深圳市科力锐科技有限公司 系统引导方式修正方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160116574A (ko) * 2015-03-30 2016-10-10 주식회사 웨인 운영체제와 파일저장 기능이 가능한 이동식 저장장치
CN107861790A (zh) * 2017-10-27 2018-03-30 新华三云计算技术有限公司 虚拟机磁盘空间扩展方法、装置、宿主机及可读存储介质
CN109002346A (zh) * 2018-07-10 2018-12-14 广东微云科技股份有限公司 一种Windows虚拟机引导程序的转换方法
CN111913753A (zh) * 2020-07-10 2020-11-10 江苏安超云软件有限公司 一种windows系统云迁移中启动方式的变更方法及系统
CN113254089A (zh) * 2021-06-04 2021-08-13 深圳市科力锐科技有限公司 系统引导方式修正方法、装置、设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114706533A (zh) * 2022-04-24 2022-07-05 苏州睿芯集成电路科技有限公司 一种基于gpt分区表的多文件多级启动加载方法及装置
CN114706533B (zh) * 2022-04-24 2023-10-27 苏州睿芯集成电路科技有限公司 一种基于gpt分区表的多文件多级启动加载方法及装置
CN115390996A (zh) * 2022-10-28 2022-11-25 安超云软件有限公司 虚拟机迁移方法和装置、计算设备和存储介质
CN115390996B (zh) * 2022-10-28 2024-02-02 安超云软件有限公司 虚拟机迁移方法和装置、计算设备和存储介质

Similar Documents

Publication Publication Date Title
CN106227579B (zh) 一种Docker容器构建方法及Docker管理控制台
US8370835B2 (en) Method for dynamically generating a configuration for a virtual machine with a virtual hard disk in an external storage device
CN101650660B (zh) 从中央存储装置引导计算机系统
US7558804B1 (en) Method, apparatus, and computer-readable medium for space-efficient storage of variables in a non-volatile computer memory
US7493314B2 (en) System and method for providing access to computer files across computer operating systems
EP3518099B1 (en) Installation of operating system
US10684846B2 (en) Using semantic annotations to control compatibility behaviors
US10592354B2 (en) Configurable recovery states
CN103189851A (zh) 用于将网络驱动程序注入目标映像的设备和方法
CN109002346B (zh) 一种Windows虚拟机引导程序的转换方法
US8539214B1 (en) Execution of a program module within both a PEI phase and a DXE phase of an EFI firmware
CN113687837A (zh) 启动方式的转换方法及系统、虚拟机运行方法
CN115390996B (zh) 虚拟机迁移方法和装置、计算设备和存储介质
CN115220797B (zh) 操作系统启动及部署方法、装置、设备、介质及程序产品
CN111433747B (zh) 用于加载操作系统的虚拟存储器
CN115291946A (zh) 鸿蒙系统移植方法、装置、电子设备及可读介质
US11263082B2 (en) Data recovery of guest virtual machines
US10564894B2 (en) Free space pass-through
US20150212866A1 (en) Management system for service of multiple operating environments, and methods thereof
TWI777636B (zh) 組成模組化韌體的方法、裝置及電腦程式產品
CN111045859B (zh) 用于备份虚拟机的方法、设备和计算机程序产品
CN115794132A (zh) 操作系统部署方法、装置、设备及存储介质
CN116243994B (zh) 一种存储设备的驱动加载方法、操作系统启动方法及系统
US11204752B1 (en) Intelligent migration of firmware configuration settings
CN117234662A (zh) 一种虚拟机配置方法、装置、设备及存储介质

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