CN113254089B - 系统引导方式修正方法、装置、设备及存储介质 - Google Patents

系统引导方式修正方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113254089B
CN113254089B CN202110622498.5A CN202110622498A CN113254089B CN 113254089 B CN113254089 B CN 113254089B CN 202110622498 A CN202110622498 A CN 202110622498A CN 113254089 B CN113254089 B CN 113254089B
Authority
CN
China
Prior art keywords
boot
target
candidate
source
guide
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.)
Active
Application number
CN202110622498.5A
Other languages
English (en)
Other versions
CN113254089A (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.)
Shenzhen Clerware Technology Co ltd
Original Assignee
Shenzhen Clerware 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 Shenzhen Clerware Technology Co ltd filed Critical Shenzhen Clerware Technology Co ltd
Priority to CN202110622498.5A priority Critical patent/CN113254089B/zh
Publication of CN113254089A publication Critical patent/CN113254089A/zh
Application granted granted Critical
Publication of CN113254089B publication Critical patent/CN113254089B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

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

Abstract

本发明属于计算机技术领域,公开了一种系统引导方式修正方法、装置、设备及存储介质。本发明通过获取源主机的源固件类型与源磁盘分区格式、目标主机的目标固件类型及被迁移系统的系统类型信息与引导配置数据;若源固件类型与目标固件类型不一致时,则根据源磁盘分区格式、系统类型信息及目标固件类型确定候选引导器集合;若候选引导器集合不为空,则在候选引导器集合中选取目标引导器;在目标主机中安装目标引导器,并根据所述引导配置数据在所述目标主机中创建引导配置文件。由于目标引导器为可引导被迁移操作系统、支持源磁盘分区格式且可在目标主机的固件平台上运行的引导器,不修改磁盘分区格式即可保证被迁移系统可在目标主机中正常运行。

Description

系统引导方式修正方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种系统引导方式修正方法、装置、设备及存储介质。
背景技术
现如今,计算机的固件程序主要有两种,分别是bios和uefi,固件程序不同的计算机,其中运行的操作系统需要使用不同的引导器来启动,而目前部分计算机仅支持其中一种固件程序,在做操作系统迁移的时候经常会遇到源主机与目标主机的固件程序不同的情况,而部分计算机并不支持固件程序的修改,会导致系统迁移之后无法正常启动。
由于两种固件程序规定的引导器安装时对磁盘分区格式的要求不同(uefi对应的操作系统的引导器必须安装在磁盘分区格式为GPT的磁盘分区上,bios对应的操作系统其中有部分仅支持将引导器安装在磁盘分区格式为MBR的磁盘分区上),现有技术针对因固件程序不同导致迁移之后系统无法正常启动的情况,在无法修改目标主机的固件程序时一般是采用修改目标主机的磁盘分区格式(如:将目标主机的磁盘分区格式由GPT格式修改为MBR格式或由MBR格式修改为GPT格式),再在目标主机中重新安装引导器,适配目标主机的固件程序,以保证操作系统可正常启动,但是此种方式存在问题较多:
1、若将磁盘分区格式由GPT格式转换为MBR格式,由于MBR格式的磁盘仅能识别2TB以内的空间,而如今许多系统分区所在硬盘的存储空间大小大于2TB,在格式转换后会导致2TB以后存储区域的数据无法访问;
2、磁盘分区格式为MBR格式的硬盘仅能有4个主分区,而磁盘分区格式为GPT格式的硬盘可以有128个分区,若将磁盘分区格式由GPT格式转换为MBR格式,可能会导致分区丢失;
3、部分软件会通过磁盘分区格式、磁盘分区结构进行软件授权,若将磁盘分区格式进行转换,会导致此类软件的授权不可用。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种系统引导方式修正方法、装置、设备及存储介质,旨在解决如何在不修改磁盘分区格式的情况下保证迁移后的操作系统正常运行的技术问题。
为实现上述目的,本发明提供了一种系统引导方式修正方法,所述方法包括以下步骤:
获取源主机的源固件类型与源磁盘分区格式、目标主机的目标固件类型及被迁移系统的系统类型信息与引导配置数据;
若所述源固件类型与所述目标固件类型不一致时,则根据所述源磁盘分区格式、所述系统类型信息及所述目标固件类型确定候选引导器集合;
若所述候选引导器集合不为空,则在所述候选引导器集合中选取目标引导器;
在所述目标主机中安装所述目标引导器,并根据所述引导配置数据在所述目标主机中创建引导配置文件,以实现系统引导方式修正。
可选的,所述根据所述源磁盘分区格式、所述系统类型信息及所述目标固件类型确定候选引导器集合的步骤,包括:
根据所述系统类型信息及所述目标固件类型在预设引导器信息库中查找可用引导器,以获得可用引导器集合;
根据所述源磁盘分区格式对所述可用引导器集合进行筛选,以获得候选引导器集合。
可选的,所述若所述源固件类型与所述目标固件类型不一致时,则根据所述源磁盘分区格式、所述系统类型信息及所述目标固件类型确定候选引导器集合的步骤之后,还包括:
若所述候选引导器集合为空,则在所述可用引导器集合中选取目标引导器;
获取所述目标引导器对应的磁盘分区格式及文件系统;
根据所述磁盘分区格式及所述文件系统在所述目标主机中添加独立磁盘,并将所述独立磁盘设置为默认引导盘;
在设置成功时,在所述独立磁盘中安装所述目标引导器,并根据所述引导配置数据在所述独立磁盘上创建引导配置文件,以实现系统引导方式修正。
可选的,所述若所述候选引导器集合不为空,则在所述候选引导器集合中选取目标引导器的步骤,包括:
若所述候选引导器集合不为空,则获取所述候选引导器集合中候选引导器数量;
在所述候选引导器数量等于1时,直接从所述候选引导器集合中获取候选引导器作为目标引导器。
可选的,所述若所述候选引导器集合不为空,则获取所述候选引导器集合中候选引导器数量的步骤之后,还包括:
在所述候选引导器数量大于1时,获取所述候选引导器集合中各候选引导器对应的引导器评分;
根据所述引导器评分从大到小对所述候选引导器中的各个候选引导器进行排序,以获得排序结果;
在所述排序结果中选取排序第一的候选引导器作为目标引导器。
可选的,所述在所述目标主机中安装所述目标引导器,并根据所述引导配置数据在所述目标主机中创建引导配置文件,以实现系统引导方式修正的步骤,包括:
在预设引导文件库中查找所述目标引导器对应的引导文件;
将所述引导文件安装至所述目标主机的引导分区中,并确定所述目标引导器是否为开源引导器;
若所述目标引导器为开源引导器,则获取所述目标引导器对应的配置文件格式;
根据所述引导配置数据及所述配置文件格式在所述目标主机的引导分区中创建引导配置文件,以实现系统引导方式修正。
可选的,所述确定所述目标引导器是否为开源引导器的步骤之后,还包括:
若所述目标引导器为非开源引导器,则获取所述目标引导器对应的配置文件生成命令;
根据所述引导配置数据及所述配置文件生成命令在所述目标主机的引导分区中创建引导配置文件,以实现系统引导方式修正。
此外,为实现上述目的,本发明还提出一种系统引导方式修正装置,所述系统引导方式修正装置包括以下模块:
信息获取模块,用于获取源主机的源固件类型与源磁盘分区格式、目标主机的目标固件类型及被迁移系统的系统类型信息与引导配置数据;
信息查找模块,用于若所述源固件类型与所述目标固件类型不一致时,则根据所述源磁盘分区格式、所述系统类型信息及所述目标固件类型确定候选引导器集合;
引导选取模块,用于若所述候选引导器集合不为空,则在所述候选引导器集合中选取目标引导器;
引导修正模块,用于在所述目标主机中安装所述目标引导器,并根据所述引导配置数据在所述目标主机中创建引导配置文件,以实现系统引导方式修正。
此外,为实现上述目的,本发明还提出一种系统引导方式修正设备,所述系统引导方式修正设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的系统引导方式修正程序,所述系统引导方式修正程序被处理器执行时实现如上所述的系统引导方式修正方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有系统引导方式修正程序,所述系统引导方式修正程序执行时实现如上所述的系统引导方式修正方法的步骤。
本发明通过获取源主机的源固件类型与源磁盘分区格式、目标主机的目标固件类型及被迁移系统的系统类型信息与引导配置数据;若源固件类型与目标固件类型不一致时,则根据源磁盘分区格式、系统类型信息及目标固件类型确定候选引导器集合;若候选引导器集合不为空,则在候选引导器集合中选取目标引导器;在目标主机中安装目标引导器,并根据所述引导配置数据在所述目标主机中创建引导配置文件。由于目标引导器为可引导被迁移操作系统、支持源磁盘分区格式且可在目标主机的固件平台上运行的引导器,不修改磁盘分区格式即可保证被迁移系统可在目标主机中正常运行。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;
图2为本发明系统引导方式修正方法第一实施例的流程示意图;
图3为本发明系统引导方式修正方法第二实施例的流程示意图;
图4为本发明系统引导方式修正装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的系统引导方式修正设备结构示意图。
如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及系统引导方式修正程序。
在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在系统引导方式修正设备中,所述电子设备通过处理器1001调用存储器1005中存储的系统引导方式修正程序,并执行本发明实施例提供的系统引导方式修正方法。
本发明实施例提供了一种系统引导方式修正方法,参照图2,图2为本发明一种系统引导方式修正方法第一实施例的流程示意图。
本实施例中,所述系统引导方式修正方法包括以下步骤:
步骤S10:获取源主机的源固件类型与源磁盘分区格式、目标主机的目标固件类型及被迁移系统的系统类型信息与引导配置数据。
需要说明的是,本实施例的执行主体可以是所述系统引导方式修正设备,所述系统引导方式修正设备可以是个人电脑、服务器等电子设备,还可以为其他可实现相同或相似功能的设备,本实施例对此不加以限制,在本实施例及下述各实施例中,以系统引导方式修正设备为例对本发明系统引导方式修正方法进行说明。
需要说明的是,固件类型可以分为uefi及bios两种,源固件类型为源主机的固件类型,源磁盘分区格式可以为源主机中磁盘的磁盘分区格式,目标固件类型为目标主机的固件类型。源主机可以为系统迁移过程中被迁移操作系统原本所在的主机,目标主机可以为系统迁移过程中操作系统被迁移至的主机。被迁移系统可以为被迁移的操作系统,操作系统可以为linux、windows、mac os等操作系统,还可以为其他操作系统,本实施例对此不加以限制。
需要说明的是,系统类型信息可以包括:操作系统的发行版信息、内核版本信息、处理器架构等信息,引导配置数据可以是先定位引导配置文件,再读取引导器对应的引导配置文件中的数据得到的。
在实际使用中,以linux系统为例,发行版信息(如centos、ubuntu、suse等)一般保存在/etc目录下,对应的文件可能是/etc/issue、/etc/redhat-release等,内核版本和处理架构等信息可以通过uname命令获得。定位引导配置文件位置,可以通过efibootmgr命令查询引导器信息(如果系统中存在多个引导器,此命令可以查询到当前正在用的引导器信息),从而获得一个相对路径,将该相对路径与引导分区的挂载路径拼接,即可获得完整的引导器路径,而引导配置文件一般在引导器同级目录下,根据引导器路径即可定位引导配置文件位置,例如:通过efibootmgr命令查询得到的引导器分区路径为/efi/SuSE/elilo.efi,引导分区的挂载路径为/boot/efi,则拼凑后即可获得完整的引导器路径为/boot/efi/efi/SuSE/elilo.efi,而引导配置文件会位于引导器同级目录下,即在/boot/efi/efi/SuSE/目录下,其文件名可能为elilo.conf、grub.cfg、grub.conf等。
在实际使用中,引导配置文件保存了系统引导项的引导参数,引导参数主要有:系统根分区(root分区)设备名、交换分区(swap分区)设备名、休眠分区(resume分区)设备名、内核文件名、initrd文件名等引导属性,对引导配置文件进行解析,获取各个字段对应的数据,转换为抽象的配置字段,即可获得引导配置数据。
步骤S20:若所述源固件类型与所述目标固件类型不一致时,则根据所述源磁盘分区格式、所述系统类型信息及所述目标固件类型确定候选引导器集合。
应当理解的是,若源固件类型与目标固件类型不一致,则说明在系统迁移过程中是将在固件类型为uefi的主机上运行的操作系统迁移至固件类型为bios主机上,或将固件类型为bios的主机上运行的操作系统迁移至固件类型为uefi的主机上,此时需要进行系统引导方式修正,迁移之后的操作系统才可在目标主机中正常运行。
需要说明的是,候选引导器集合中可以包括若干个候选引导器,候选引导器可以为被迁移操作系统在目标主机对应的固件平台上可运行,且可支持源磁盘分区格式的引导器。根据所述源磁盘分区格式、所述系统类型信息及所述目标固件类型确定候选引导器集合可以为根据源磁盘分区格式、系统类型信息及目标固件类型在预设引导器信息库中查找候选引导器的信息,根据查找到的候选引导器信息构建候选引导器集合。其中,预设引导器信息库中可以包含各种引导器的信息,可以由开发人员预先进行设置。
步骤S30:若所述候选引导器集合不为空,则在所述候选引导器集合中选取目标引导器。
可以理解的是,若候选引导器集合不为空,则说明被迁移操作系统存在可在目标主机对应的固件平台上运行,且可支持源磁盘分区格式的引导器,因此,可以从候选引导器集合中选取目标引导器。
进一步地,为了合理的选择目标引导器,本实施例步骤S30,可以包括:
若所述候选引导器集合不为空,则获取所述候选引导器集合中候选引导器数量;在所述候选引导器数量等于1时,直接从所述候选引导器集合中获取候选引导器作为目标引导器。
可以理解的是,若候选引导器集合中候选引导器数量等于1,则说明被迁移操作系统仅存在一个可在目标主机对应的固件平台上运行,且可支持源磁盘分区格式的引导器,因此,可以直接获取候选引导器集合中的候选引导器,将候选引导器作为目标引导器。
例如:以mac os系统为例,mac os 系统在固件程序为bios的主机上可使用的引导器仅有clover,且该引导器支持GPT磁盘分区格式,则可以将clover作为目标引导器。
进一步地,为了保证选择合适的目标引导器,本实施例所述若所述候选引导器集合不为空,则获取所述候选引导器集合中候选引导器数量的步骤之后,还可以包括:
在所述候选引导器数量大于1时,获取所述候选引导器集合中各候选引导器对应的引导器评分;根据所述引导器评分从大到小对所述候选引导器中的各个候选引导器进行排序,以获得排序结果;在所述排序结果中选取排序第一的候选引导器作为目标引导器。
应当理解的是,若候选引导器数量大于1,则说明被迁移操作系统存在多个可在目标主机对应的固件平台上运行,且可支持源磁盘分区格式的引导器,而在实际使用中,各个引导器的兼容性可能并不相同,部分引导器兼容性较好,而部分引导器的兼容性较差,因此,可以获取各个候选引导器对应的引导器评分,再根据引导器评分从大到小对各个候选引导器进行排序,获得排序结果,在排序结果中选取排序第一的候选引导器作为目标引导器,即选择引导器评分最高的候选引导器作为目标引导器。其中,引导器评分可以由开发人员根据引导器的使用率及兼容性预先进行设置。
例如:以linux系统为例,linux系统在固件类型为bios系统上支持GPT磁盘分区格式的引导器有grub2.0、Syslinux,其中,grub2.0的引导器评分为96,Syslinux的引导器评分为80,则表示grub2.0使用频率及兼容性较高,因此,可以选择grub2.0作为目标引导器。
步骤S40:在所述目标主机中安装所述目标引导器,并根据所述引导配置数据在所述目标主机中创建引导配置文件,以实现系统引导方式修正。
可以理解的是,目标引导器为被迁移操作系统在目标主机的固件程序下可使用,且支持源磁盘分区格式的引导器,因此,仅需在目标主机中安装目标引导器,并根据引导配置数据在目标主机中创建引导配置文件即可实现系统引导方式修正,保证被迁移系统在目标主机中可正常运行,不必修改磁盘分区格式,保证源主机及目标主机中的磁盘分区格式一致,避免因修改磁盘分区格式导致的数据无法读取、分区丢失或授权失效等问题。
进一步地,由于不同的引导器在安装和配置时并不相同,为了保证目标引导器正确安装,保证引导配置文件可正常创建,本实施例步骤S40,可以包括:
在预设引导文件库中查找所述目标引导器对应的引导文件;将所述引导文件安装至所述目标主机的引导分区中,并确定所述目标引导器是否为开源引导器;若所述目标引导器为开源引导器,则获取所述目标引导器对应的配置文件格式;根据所述引导配置数据及所述配置文件格式在所述目标主机的引导分区中创建引导配置文件,以实现系统引导方式修正。
需要说明的是,预设引导文件库可以是预先设置的数据库,其中可以包括各种不同引导器的引导文件。预设引导文件库可以由开发人员预先设置。而不同的引导文件的获取方式也不同,针对开源的引导器(如grub1.0、grub2.0、lilo、Syslinux等),可以预先下载引导器源代码,根据源代码编译出针对不同固件类型(bios和uefi)、不同系统架构(x86、arm等)的引导文件,存放至预设引导文件库中,针对非开源的引导器(bootmgr-winload)可以预先从操作系统中拷贝引导文件至预设引导文件库中,例如:针对windows10系统,其引导器为非开源引导器,其针对固件类型为bios的引导文件存放在C:\Windows\Boot\PCAT目录下,针对固件类型为uefi的引导文件存放在C:\Windows\Boot\EFI目录下,可以预先拷贝至预设引导文件库中。
在实际使用中,将引导文件安装至目标主机的引导分区中可以为将目标主机的引导分区的文件系统修改为目标引导器支持的文件系统(如针对grub2.0引导器,可以将引导分区的文件系统修改为ext格式或xfs格式),再将引导文件拷贝至目标主机的引导分区中。
需要说明的是,系统迁移之后硬件设备名可能会发生改变,则可根据引导配置数据生成迁移后的引导配置文件,例如:系统迁移前的根分区设备名是/dev/sda2,迁移之后设备名是/dev/vda2,则迁移之后的引导配置文件需使用/dev/vda2。不同类型的引导器、相同类型引导器的不同版本、不同系统发行版、不同的内核版本,使用的配置文件格式均可能不同,生成引导配置文件时,可根据引导配置数据及配置文件格式生成引导配置文件。
可以理解的是,若目标引导器为开源引导器,则代表开发人员可以获取目标引导器的源代码,根据源代码即可确定目标引导器的配置文件格式,则可以直接根据引导配置数据及配置文件格式在目标主机的引导分区中创建引导配置文件。
进一步地,为了可对非开源引导器可正确生成引导配置文件,本实施例所述将所述引导文件安装至所述目标主机的引导分区中,并确定所述目标引导器是否为开源引导器的步骤之后,还包括:
若所述目标引导器为非开源引导器,则获取所述目标引导器对应的配置文件生成命令;根据所述引导配置数据及所述配置文件生成命令在所述目标主机的引导分区中创建引导配置文件,以实现系统引导方式修正。
可以理解的是,若目标引导器为非开源引导器,则代表开发人员无法获取目标引导器的源代码,无法确定目标引导器的配置文件格式,但非开源引导器一般会提供配置文件生成命令,因此,可以获取目标引导器对应的配置文件生成命令,根据引导配置数据及配置文件生成命令在目标主机的引导分区中创建引导配置文件。
例如:以windows10为例,其引导器为非开源引导器,无法获取引导器的源代码,但是,windows10提供了引导生成命令bcdedit,调用bcdedit命令根据引导配置数据即可在目标主机的引导分区中创建引导配置文件。
本实施例通过获取源主机的源固件类型与源磁盘分区格式、目标主机的目标固件类型及被迁移系统的系统类型信息与引导配置数据;若源固件类型与目标固件类型不一致时,则根据源磁盘分区格式、系统类型信息及目标固件类型确定候选引导器集合;若候选引导器集合不为空,则在候选引导器集合中选取目标引导器;在目标主机中安装目标引导器,并根据所述引导配置数据在所述目标主机中创建引导配置文件。由于目标引导器为可引导被迁移操作系统、支持源磁盘分区格式且可在目标主机的固件平台上运行的引导器,不修改磁盘分区格式即可保证被迁移系统可在目标主机中正常运行。
参考图3,图3为本发明一种系统引导方式修正方法第二实施例的流程示意图。
基于上述第一实施例,本实施例系统引导方式修正方法在所述步骤S20,具体包括:
步骤S201:根据所述系统类型信息及所述目标固件类型在预设引导器信息库中查找可用引导器,以获得可用引导器集合。
需要说明的是,可用引导器集合由多个可用引导器构建,可用引导器可以为被迁移操作系统在固件程序为目标固件类型的主机上可使用的引导器。
步骤S202:根据所述源磁盘分区格式对所述可用引导器集合进行筛选,以获得候选引导器集合。
需要说明的是,不同的系统在不同的固件程序的主机上可用的引导器也不同,例如:以固件程序为bios的主机为例,windows7系统仅可使用bootmgr-winload引导器,而linux的系统可使用grub1.0、grub2.0、lilo、Syslinux等引导器。各个引导器可支持的磁盘分区格式也并不相同,例如:在以固件程序为bios的主机为例,grub1.0、lilo不支持GPT磁盘分区格式,而grub2.0及Syslinux支持GPT格式。若需要直接根据源磁盘分区格式、系统类型信息及目标固件类型在预设引导器信息库中查找候选引导器,会使得数据存储较为复杂,查询效率不高,因此,可以先根据系统类型信息及目标固件类型在预设引导器信息库中查找可用引导器,以获得可用引导器集合,再在内存中根据源磁盘分区格式对可用引导器集合进行筛选,将可用引导器集合中不支持源磁盘分区格式的引导器的信息在可用引导器集合中清除,以获得候选引导器集合,可以在一定程度上降低数据存储复杂度,提高查找效率,降低查找难度。
所述步骤S20之后,还可以包括:
步骤S30':若所述候选引导器集合为空,则在所述可用引导器集合中选取目标引导器。
可以理解的是,若候选引导器集合为空,则说明被迁移操作系统不存在多个可在目标主机对应的固件平台上运行,且可支持源磁盘分区格式的引导器,则此时可以在可用引导器集合中选取目标引导器。
在实际使用中,在可用引导器集合中选取目标引导器可以是获取可用引导器集合中各引导器对应的引导器评分,根据引导器评分从大到小将可用引导器中的各个引导器进行排序,以获得排序结果,在排序结果中选取排序第一的引导器作为目标引导器,即在可用引导器集合中选取引导器评分最高的引导器作为目标引导器。其中,引导器评分可以由开发人员根据引导器的使用率及兼容性预先进行设置。
步骤S40':获取所述目标引导器对应的磁盘分区格式及文件系统。
可以理解的是,获取目标引导器对应的磁盘分区格式及文件系统可以是获取目标引导器支持的磁盘分区格式及文件系统。
步骤S50':根据所述磁盘分区格式及所述文件系统在所述目标主机中添加独立磁盘,并将所述独立磁盘设置为默认引导盘。
需要说明的是,根据磁盘分区格式在及文件系统在目标主机中添加独立磁盘,并将独立磁盘设置为默认引导盘可以是在系统迁移完成之后,在目标主机中创建一个独立于被迁移操作系统所在的磁盘之外的独立磁盘,并根据目标引导器对应的磁盘分区格式及文件系统对独立磁盘的硬盘分区格式及文件系统进行调整,再在独立磁盘中建立引导分区,并通过目标主机的固件程序将该独立磁盘设置为默认引导盘。其中,独立磁盘的大小一般需要设置为大于100MB即可。
步骤S60':在设置成功时,在所述独立磁盘中安装所述目标引导器,并根据所述引导配置数据在所述独立磁盘上创建引导配置文件,以实现系统引导方式修正。
需要说明的是,在独立磁盘中安装目标引导器同样可以是在预设引导文件库中获取目标引导器对应的引导文件,将引导文件拷贝至独立磁盘中的引导分区,再根据引导配置数据在独立磁盘中的引导分区中创建引导配置文件。
可以理解的是,根据引导配置数据生成引导配置文件的方式可与上述方式相同,先区分目标引导器为开源引导器或非开源引导器,在根据区分结果选取对应的方式根据引导配置数据在独立磁盘的引导分区中创建引导配置文件。
可以理解的是,在将独立磁盘设置为默认引导盘之后,再在独立磁盘中的引导分区中安装引导器及引导配置文件,令目标主机在启动时从独立磁盘中加载引导器及引导配置文件,即可在不修改被迁移系统所在磁盘的磁盘分区格式的前提下保证被迁移系统在目标主机中可正常运行。
本实施例通过在被迁移操作系统不存在支持源磁盘分区格式且可在目标主机的固件平台上运行的引导器时选取了被迁移操作系统在目标主机的固件平台上运行的引导器作为目标引导器,并在目标主机中添加独立于被迁移操作系统所在磁盘之外的独立磁盘,在独立磁盘中创建引导分区并将独立磁盘设置为默认引导盘,根据目标引导器支持的磁盘分区格式及文件系统对独立磁盘的格式进行调整,再将引导器安装至独立磁盘中的引导分区中,并在独立磁盘中的引导分区中创建引导配置文件,从而令目标主机在启动时从独立磁盘中加载引导器及引导配置文件,在不修改被迁移系统所在磁盘的磁盘分区格式的前提下保证被迁移系统在目标主机中可正常运行。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有系统引导方式修正程序,所述系统引导方式修正程序被处理器执行时实现如上文所述的系统引导方式修正方法的步骤。
参照图4,图4为本发明系统引导方式修正装置第一实施例的结构框图。
如图4所示,本发明实施例提出的系统引导方式修正装置包括:
信息获取模块401,用于获取源主机的源固件类型与源磁盘分区格式、目标主机的目标固件类型及被迁移系统的系统类型信息与引导配置数据;
信息查找模块402,用于若所述源固件类型与所述目标固件类型不一致时,则根据所述源磁盘分区格式、所述系统类型信息及所述目标固件类型确定候选引导器集合;
引导选取模块403,用于若所述候选引导器集合不为空,则在所述候选引导器集合中选取目标引导器;
引导修正模块404,用于在所述目标主机中安装所述目标引导器,并根据所述引导配置数据在所述目标主机中创建引导配置文件,以实现系统引导方式修正。
本实施例通过获取源主机的源固件类型与源磁盘分区格式、目标主机的目标固件类型及被迁移系统的系统类型信息与引导配置数据;若源固件类型与目标固件类型不一致时,则根据源磁盘分区格式、系统类型信息及目标固件类型确定候选引导器集合;若候选引导器集合不为空,则在候选引导器集合中选取目标引导器;在目标主机中安装目标引导器,并根据所述引导配置数据在所述目标主机中创建引导配置文件。由于目标引导器为可引导被迁移操作系统、支持源磁盘分区格式且可在目标主机的固件平台上运行的引导器,不修改磁盘分区格式即可保证被迁移系统可在目标主机中正常运行。
进一步地,所述信息查找模块402,还用于根据所述系统类型信息及所述目标固件类型在预设引导器信息库中查找可用引导器,以获得可用引导器集合;根据所述源磁盘分区格式对所述可用引导器集合进行筛选,以获得候选引导器集合。
进一步地,所述引导选取模块403,还用于若所述候选引导器集合为空,则在所述可用引导器集合中选取目标引导器;
引导修正模块404,还用于获取所述目标引导器对应的磁盘分区格式及文件系统;根据所述磁盘分区格式及所述文件系统在所述目标主机中添加独立磁盘,并将所述独立磁盘设置为默认引导盘;在设置成功时,在所述独立磁盘中安装所述目标引导器,并根据所述引导配置数据在所述独立磁盘上创建引导配置文件,以实现系统引导方式修正。
进一步地,所述引导选取模块403,还用于若所述候选引导器集合不为空,则获取所述候选引导器集合中候选引导器数量;在所述候选引导器数量等于1时,直接从所述候选引导器集合中获取候选引导器作为目标引导器。
进一步地,所述引导选取模块403,还用于在所述候选引导器数量大于1时,获取所述候选引导器集合中各候选引导器对应的引导器评分;根据所述引导器评分从大到小对所述候选引导器中的各个候选引导器进行排序,以获得排序结果;在所述排序结果中选取排序第一的候选引导器作为目标引导器。
进一步地,所述引导修正模块404,还用于在预设引导文件库中查找所述目标引导器对应的引导文件;将所述引导文件安装至所述目标主机的引导分区中,并确定所述目标引导器是否为开源引导器;若所述目标引导器为开源引导器,则获取所述目标引导器对应的配置文件格式;根据所述引导配置数据及所述配置文件格式在所述目标主机的引导分区中创建引导配置文件,以实现系统引导方式修正。
进一步地,所述引导修正模块404,还用于若所述目标引导器为非开源引导器,则获取所述目标引导器对应的配置文件生成命令;根据所述引导配置数据及所述配置文件生成命令在所述目标主机的引导分区中创建引导配置文件,以实现系统引导方式修正。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的系统引导方式修正方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种系统引导方式修正方法,其特征在于,所述系统引导方式修正方法包括以下步骤:
获取源主机的源固件类型与源磁盘分区格式、目标主机的目标固件类型及被迁移系统的系统类型信息与引导配置数据;
若所述源固件类型与所述目标固件类型不一致时,则根据所述源磁盘分区格式、所述系统类型信息及所述目标固件类型确定候选引导器集合;
若所述候选引导器集合不为空,则在所述候选引导器集合中选取目标引导器;
在所述目标主机中安装所述目标引导器,并根据所述引导配置数据在所述目标主机中创建引导配置文件,以实现系统引导方式修正。
2.如权利要求1所述的系统引导方式修正方法,其特征在于,所述根据所述源磁盘分区格式、所述系统类型信息及所述目标固件类型确定候选引导器集合的步骤,包括:
根据所述系统类型信息及所述目标固件类型在预设引导器信息库中查找可用引导器,以获得可用引导器集合;
根据所述源磁盘分区格式对所述可用引导器集合进行筛选,以获得候选引导器集合。
3.如权利要求2所述的系统引导方式修正方法,其特征在于,所述若所述源固件类型与所述目标固件类型不一致时,则根据所述源磁盘分区格式、所述系统类型信息及所述目标固件类型确定候选引导器集合的步骤之后,还包括:
若所述候选引导器集合为空,则在所述可用引导器集合中选取目标引导器;
获取所述目标引导器对应的磁盘分区格式及文件系统;
根据所述磁盘分区格式及所述文件系统在所述目标主机中添加独立磁盘,并将所述独立磁盘设置为默认引导盘;
在设置成功时,在所述独立磁盘中安装所述目标引导器,并根据所述引导配置数据在所述独立磁盘上创建引导配置文件,以实现系统引导方式修正。
4.如权利要求1所述的系统引导方式修正方法,其特征在于,所述若所述候选引导器集合不为空,则在所述候选引导器集合中选取目标引导器的步骤,包括:
若所述候选引导器集合不为空,则获取所述候选引导器集合中候选引导器数量;
在所述候选引导器数量等于1时,直接从所述候选引导器集合中获取候选引导器作为目标引导器。
5.如权利要求4所述的系统引导方式修正方法,其特征在于,所述若所述候选引导器集合不为空,则获取所述候选引导器集合中候选引导器数量的步骤之后,还包括:
在所述候选引导器数量大于1时,获取所述候选引导器集合中各候选引导器对应的引导器评分;
根据所述引导器评分从大到小对所述候选引导器中的各个候选引导器进行排序,以获得排序结果;
在所述排序结果中选取排序第一的候选引导器作为目标引导器。
6.如权利要求1所述的系统引导方式修正方法,其特征在于,所述在所述目标主机中安装所述目标引导器,并根据所述引导配置数据在所述目标主机中创建引导配置文件,以实现系统引导方式修正的步骤,包括:
在预设引导文件库中查找所述目标引导器对应的引导文件;
将所述引导文件安装至所述目标主机的引导分区中,并确定所述目标引导器是否为开源引导器;
若所述目标引导器为开源引导器,则获取所述目标引导器对应的配置文件格式;
根据所述引导配置数据及所述配置文件格式在所述目标主机的引导分区中创建引导配置文件,以实现系统引导方式修正。
7.如权利要求6所述的系统引导方式修正方法,其特征在于,所述确定所述目标引导器是否为开源引导器的步骤之后,还包括:
若所述目标引导器为非开源引导器,则获取所述目标引导器对应的配置文件生成命令;
根据所述引导配置数据及所述配置文件生成命令在所述目标主机的引导分区中创建引导配置文件,以实现系统引导方式修正。
8.一种系统引导方式修正装置,其特征在于,所述系统引导方式修正装置包括以下模块:
信息获取模块,用于获取源主机的源固件类型与源磁盘分区格式、目标主机的目标固件类型及被迁移系统的系统类型信息与引导配置数据;
信息查找模块,用于若所述源固件类型与所述目标固件类型不一致时,则根据所述源磁盘分区格式、所述系统类型信息及所述目标固件类型确定候选引导器集合;
引导选取模块,用于若所述候选引导器集合不为空,则在所述候选引导器集合中选取目标引导器;
引导修正模块,用于在所述目标主机中安装所述目标引导器,并根据所述引导配置数据在所述目标主机中创建引导配置文件,以实现系统引导方式修正。
9.一种系统引导方式修正设备,其特征在于,所述系统引导方式修正设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的系统引导方式修正程序,所述系统引导方式修正程序被处理器执行时实现如权利要求1-7中任一项所述的系统引导方式修正方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有系统引导方式修正程序,所述系统引导方式修正程序执行时实现如权利要求1-7中任一项所述的系统引导方式修正方法的步骤。
CN202110622498.5A 2021-06-04 2021-06-04 系统引导方式修正方法、装置、设备及存储介质 Active CN113254089B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110622498.5A CN113254089B (zh) 2021-06-04 2021-06-04 系统引导方式修正方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110622498.5A CN113254089B (zh) 2021-06-04 2021-06-04 系统引导方式修正方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113254089A CN113254089A (zh) 2021-08-13
CN113254089B true CN113254089B (zh) 2021-10-29

Family

ID=77186400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110622498.5A Active CN113254089B (zh) 2021-06-04 2021-06-04 系统引导方式修正方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113254089B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113687837A (zh) * 2021-08-17 2021-11-23 锐捷网络股份有限公司 启动方式的转换方法及系统、虚拟机运行方法
CN117591170B (zh) * 2024-01-18 2024-04-12 麒麟软件有限公司 一种龙芯PMON平台支持基于OSTree系统的方法及装置、存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744710A (zh) * 2014-01-24 2014-04-23 中国联合网络通信集团有限公司 操作系统的安装方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140523A (zh) * 2007-04-25 2008-03-12 中兴通讯股份有限公司 用于嵌入式系统的存储资源划分方法及装置
GB2512376A (en) * 2013-03-28 2014-10-01 Ibm Secure execution of software modules on a computer
CN105242986B (zh) * 2015-09-11 2018-04-06 金步国 备份与还原Windows操作系统的方法
CN107220071A (zh) * 2016-03-22 2017-09-29 北京蓝光引力网络股份有限公司 一种引导电子设备启动系统的方法
KR102079131B1 (ko) * 2018-12-14 2020-02-19 (주)스마트인디지털 컴퓨터 복구 시스템
CN110399159A (zh) * 2019-07-23 2019-11-01 广州夏达信息科技有限公司 操作系统的部署方法、装置、计算机设备和存储介质
US11385902B2 (en) * 2019-11-17 2022-07-12 Nuvoton Technology Corporation Secure firmware management with hierarchical boot sequence using last known good firmware
CN111258666B (zh) * 2020-01-22 2023-07-04 奇安信科技集团股份有限公司 计算机文件的读取方法、装置、计算机系统及存储介质
CN111475175B (zh) * 2020-04-03 2022-08-12 苏州浪潮智能科技有限公司 基于arm服务器的操作系统安装引导方法、装置及介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744710A (zh) * 2014-01-24 2014-04-23 中国联合网络通信集团有限公司 操作系统的安装方法及系统

Also Published As

Publication number Publication date
CN113254089A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
JP7090657B2 (ja) アプリケーションをアップグレードするための方法、装置、デバイスならびに記憶媒体
US7237238B2 (en) Method and apparatus for automated operating systems upgrade
US7873960B2 (en) Generic packaging tool for packaging application and component therefor to be installed on computing device
CN112882729B (zh) 应用镜像升级方法、装置、计算机设备和存储介质
EP3518099B1 (en) Installation of operating system
CN113254089B (zh) 系统引导方式修正方法、装置、设备及存储介质
US20060248524A1 (en) System and method for common file installation
US10296353B2 (en) Protecting basic input/output (BIOS) code
KR20040004551A (ko) 사전 습득된 프로그램 파일들을 생성 및 이용하기 위한방법 및 디바이스
US7159105B2 (en) Platform-based optimization routines provided by firmware of a computer system
US9513889B2 (en) System and method of automating installation of applications
CN103677937A (zh) 升级软件和运行软件的方法及装置
CN113672296B (zh) 定制应用的切换方法、切换装置、电子设备和存储介质
US9141385B2 (en) Managing operating system components
CN113835644A (zh) 整机迁移方法、装置、设备及存储介质
CN114385251A (zh) 基于存储器的操作系统引导方法、系统、终端及存储介质
CN113760306A (zh) 安装软件的方法、装置、电子设备及存储介质
US20100162234A1 (en) Method for installing application and computer system thereof
WO2008014635A1 (en) A method to use global variables for pre-efi initialization modules in efi-based firmware
US20050060378A1 (en) Method and apparatus for providing language modularization
US7493627B2 (en) System and method for configuring computer for operation
KR20000052312A (ko) 컴퓨터 시스템의 초기 시스템 셋업 동안 시디롬 드라이브의 드라이브 문자 할당을 결정하는 방법 및 장치
CN103106086B (zh) 操作系统处理方法以及系统
US20150212866A1 (en) Management system for service of multiple operating environments, and methods thereof
CN102455919A (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
GR01 Patent grant
GR01 Patent grant