CN114168207B - 一种基于uefi的备份及一键引导启动项的方法 - Google Patents

一种基于uefi的备份及一键引导启动项的方法 Download PDF

Info

Publication number
CN114168207B
CN114168207B CN202111481791.0A CN202111481791A CN114168207B CN 114168207 B CN114168207 B CN 114168207B CN 202111481791 A CN202111481791 A CN 202111481791A CN 114168207 B CN114168207 B CN 114168207B
Authority
CN
China
Prior art keywords
partition
key
guide
item
efi
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
CN202111481791.0A
Other languages
English (en)
Other versions
CN114168207A (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.)
Chengdu Aomei Technology Co ltd
Original Assignee
Chengdu Aomei 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 Chengdu Aomei Technology Co ltd filed Critical Chengdu Aomei Technology Co ltd
Priority to CN202111481791.0A priority Critical patent/CN114168207B/zh
Publication of CN114168207A publication Critical patent/CN114168207A/zh
Application granted granted Critical
Publication of CN114168207B publication Critical patent/CN114168207B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • 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
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming

Abstract

本发明公开了一种基于UEFI的备份方法,包括以下步骤:系统判断步骤;系统分区检测步骤;恢复分区检测步骤;恢复分区容量判断步骤;文件移动步;一键引导创建步骤;一键引导配置步骤;一键引导调整步骤。在本发明中,通过将用户的操作系统备份到自定义的恢复环境中,并且,通过本发明中提供的一键还原方法,一键引导用户进入恢复环境,使得用户可以方便、快速的将系统还原到最优状态。

Description

一种基于UEFI的备份及一键引导启动项的方法
技术领域
本发明属于计算机系统安全技术领域,具体为一种基于UEFI的备份及一键引导启动项的方法。
背景技术
由于用户购买的电脑通常没有系统备份,且由于现在互联网中影响操作系统稳定性的因素较多,当用户的操作系统出现问题或需要优化时往往比较费力,通常需要使用第三方的优化工具或者购买付费服务,其效果也不一定能将系统优化到之前最优的状态。亟需一种能快速有效的备份及还原方法,将系统快速恢复到最优状态。
发明内容
本发明的目的在于提供一种基于UEFI的备份及一键引导启动项的方法,以解决背景技术中提出的现有技术中,家用电脑中缺少系统备份,在进行恢复时需要借助第三方软件的问题。
为解决上述技术问题,本发明所采用的技术方案是:
一种基于UEFI的备份方法,包括以下步骤:
系统判断步骤:判断当前系统是否支持UEFI引导;如果是,则继续,如果不是,则结束;
系统分区检测步骤:对当前系统的System分区进行检测,如果检测到当前系统的System分区所在头盘为GPT磁盘,且当前系统分区的标志位EFI分区的标志,则保留该分区的符号链接;如果不是,则结束;
恢复分区检测步骤:检查当前操作系统所在磁盘是否存在恢复分区,如果存在则进行下一步,如果不存在,则根据用户指定的位置重新创建恢复分区;
恢复分区容量判断步骤:判断当前操作系统所在磁盘上存在的恢复分区容量是否能够保存系统备份的所有文件,如果是,则不做调整,如果不是,则根据用户指定的位置重新创建分区;
文件移动步骤:将制作好的WIM文件、引导文件以及配置文件拷贝到恢复分区;
一键引导创建步骤:在UEFI的BIOS中创建用于一键引导的引导项;
一键引导配置步骤:配置一键引导创建步骤中创建的引导项;
一键引导调整步骤:将一键引导配置步骤中配置完成的引导项的顺序调整至引导的第一项;通过一键引导完成备份;
一键引导创建步骤中,UEFI的引导管理通过GetFirmwareEnvironmentVariable、GetFirmwareEnvironmentVariableEx和SetFirmwareEnvironmentVariable、SetFirmwareEnvironmentVariableEx来完成。
根据上述技术方案,恢复分区检测步骤中,创建恢复分区的具体步骤为:
恢复分区判断步骤:用户是否选择创建恢复分区,如果是,则根据用户指定的位置调整分区并创建恢复分区,如果不是,则将系统备份镜像文件存储在用户指定的位置;
系统备份步骤:根据用户指定的位置执行系统备份;
引导项创建步骤:备份完成后,创建UEFI引导项,结束。
根据上述技术方案,所述一键引导创建步骤中,引导项的创建具体为:
获取引导配置步骤:首先,调用GetFirmwareEnvironmentVariable获得当前UEFI的所有引导配置;
创建引导配置步骤:判断当前UEFI是否存在已有的引导项,如果是,则将已有的引导项删除,并重新创建一个引导项,如果不是,则直接创建一个引导项。
根据上述技术方案,所述一键引导配置步骤中,配置引导项具体操作为:
获取引导步骤:通过GetFirmwareEnvironmentVariable获取到一键引导创建步骤中创建的引导项;
配置引导步骤:在一键引导创建步骤中创建的引导项的数据结构中填入恢复分区的标识,完成配置。
根据上述技术方案,所述配置引导步骤中,分区标识包括恢复分区所在的分区号、分区的起始位置、分区的大小、分区的GUID、分区的类型、分区的签名。
根据上述技术方案,所述一键引导调整步骤中,调整引导项位置具体为:
调用引导配置步骤:调用GetFirmwareEnvironmentVariable获得当前UEFI的所有引导项配置;
判断引导配置步骤:判断创建的引导项是否为所有引导项配置的第一项,如果是,则不做处理,如果不是,则跳转到步骤;
调整引导配置步骤:将引导项的BootOrder0001后再次调用SetFirmwareEnvironmentVariable将其回写即可。
一种一键引导启动项的方法,所述一键引导包括以下步骤:
信息获取步骤:读取OneKeyEfiConfig.dat文件,获得显示信息、延时信息和按键的配置;
信息显示步骤:显示配置文件中的信息并根据延时信息进行等待;
加载判断步骤:判断用户是否按下对应的按键;如果是,则加载WIM文件,进入恢复环境;如果超时没有按下对应的按钮则,则加载boot×64.efi文件启动系统;完成后结束。
根据上述技术方案,所述加载判断步骤中,具体调用为:
如果用户按下对应的按键则调用:
BootDevPath=FileDevicePath(HandleBuf[i],(CHAR16*)L"\\efi\\boot\\AomeiPeLdr.efi");
Status=gBS->LoadImage(TRUE,ImageHandle,BootDevPath,NULL,0,&hOsKernel);
加载恢复环境下的AomeiPeLdr.efi引导加载WIM文件;
如果超时则调用:
StrCpy(FileName,(CHAR16*)L"\\EFI\\Boot\\bootx64.efi");
BootDevPath=FileDevicePath(LoadedImage->DeviceHandle,FileName);
Status=gBS->LoadImage(TRUE,ImageHandle,BootDevPath,NULL,0,&hOsKernel);
用于加载bootx64.efi程序;
如果调用失败则调用:
StrCpy(FileName,(CHAR16*)L"\\EFI\\Mircosoft\\Boot\\bootmgfw.efi");
BootDevPath=FileDevicePath(LoadedImage->DeviceHandle,FileName);
Status=gBS->LoadImage(TRUE,ImageHandle,BootDevPath,NULL,0,&hOsKernel),用于加载bootmgfw.efi程序。
根据上述技术方案,AomeiPeLdr.efi通过调用EFI SDK提供的gST/ConIn/ReadKeyStroke;获取到用户的按键信息。
与现有技术相比,本发明具有以下有益效果:
在本发明中,通过将用户的操作系统备份到自定义的恢复环境中,并且,通过本发明中提供的一键还原方法,一键引导用户进入恢复环境,使得用户可以方便、快速的将系统还原到最优状态。
在本发明中,不需要使用额外的第三方软件,避免了数据外泄的风险。并且,本发明操作简单,使用方便,能够有效降低用户的使用难度。
附图说明
图1为本发明备份以及引导项的创建流程图;
图2为本发明一键引导的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如图1所述,一种基于UEFI的备份方法,包括以下步骤:
系统判断步骤:通过调用NtQuerySystemInformation,并通过SystemBootEnvironmentInformation查询获得当前系统的引导类型,判断当前系统是否支持UEFI引导;如果是,则继续,如果不是,则结束;
系统分区检测步骤:对当前系统的System分区进行检测,如果检测到当前系统的System分区所在头盘为GPT磁盘,且当前系统分区的标志位EFI分区的标志,则保留该分区的符号链接;如果不是,则结束;
恢复分区检测步骤:检查当前操作系统所在磁盘是否存在恢复分区,如果存在则进行下一步,如果不存在,则根据用户指定的位置重新创建恢复分区;
恢复分区容量判断步骤:判断当前操作系统所在磁盘上存在的恢复分区容量是否能够保存系统备份的所有文件,如果是,则不做调整,如果不是,则根据用户指定的位置重新创建分区;
文件移动步骤:将制作好的WIM文件、引导文件以及配置文件拷贝到恢复分区;
一键引导创建步骤:在UEFI的BIOS中创建用于一键引导的引导项;
一键引导配置步骤:配置一键引导创建步骤中创建的引导项;
一键引导调整步骤:将一键引导配置步骤中配置完成的引导项的顺序调整至引导的第一项;通过一键引导完成备份;
一键引导创建步骤中,UEFI的引导管理通过GetFirmwareEnvironmentVariable、GetFirmwareEnvironmentVariableEx和SetFirmwareEnvironmentVariable、SetFirmwareEnvironmentVariableEx来完成。
恢复分区检测步骤中,创建恢复分区的具体步骤为:
恢复分区判断步骤:用户是否选择创建恢复分区,如果是,则根据用户指定的位置调整分区并创建恢复分区,如果不是,则将系统备份镜像文件存储在用户指定的位置;
系统备份步骤:根据用户指定的位置执行系统备份;
引导项创建步骤:备份完成后,创建UEFI引导项,结束。
所述一键引导创建步骤中,引导项的创建具体为:
获取引导配置步骤:首先,调用GetFirmwareEnvironmentVariable获得当前UEFI的所有引导配置;
创建引导配置步骤:判断当前UEFI是否存在已有的引导项,如果是,则将已有的引导项删除,并重新创建一个引导项,如果不是,则直接创建一个引导项。
所述一键引导配置步骤中,配置引导项具体操作为:
获取引导步骤:通过GetFirmwareEnvironmentVariable获取到一键引导创建步骤中创建的引导项;
配置引导步骤:在一键引导创建步骤中创建的引导项的数据结构中填入恢复分区的标识,完成配置。
所述配置引导步骤中,分区标识包括恢复分区所在的分区号、分区的起始位置、分区的大小、分区的GUID、分区的类型、分区的签名。
所述一键引导调整步骤中,调整引导项位置具体为:
调用引导配置步骤:调用GetFirmwareEnvironmentVariable获得当前UEFI的所有引导项配置;
判断引导配置步骤:判断创建的引导项是否为所有引导项配置的第一项,如果是,则不做处理,如果不是,则跳转到步骤;
调整引导配置步骤:将引导项的BootOrder0001后再次调用SetFirmwareEnvironmentVariable将其回写即可。
一种一键引导启动项的方法,所述一键引导包括以下步骤:
信息获取步骤:读取OneKeyEfiConfig.dat文件,获得显示信息、延时信息和按键的配置;
信息显示步骤:显示配置文件中的信息并根据延时信息进行等待;
加载判断步骤:判断用户是否按下对应的按键;如果是,则加载WIM文件,进入恢复环境;如果超时没有按下对应的按钮则,则加载boot×64.efi文件启动系统;完成后结束。
所述加载判断步骤中,具体调用为:
如果用户按下对应的按键则调用:
BootDevPath=FileDevicePath(HandleBuf[i],(CHAR16*)L"\\efi\\boot\\AomeiPeLdr.efi");
Status=gBS->LoadImage(TRUE,ImageHandle,BootDevPath,NULL,0,&hOsKernel);
加载恢复环境下的AomeiPeLdr.efi引导加载WIM文件;
如果超时则调用:
StrCpy(FileName,(CHAR16*)L"\\EFI\\Boot\\bootx64.efi");
BootDevPath=FileDevicePath(LoadedImage->DeviceHandle,FileName);
Status=gBS->LoadImage(TRUE,ImageHandle,BootDevPath,NULL,0,&hOsKernel);用于加载bootx64.efi程序;
如果调用失败则调用:
StrCpy(FileName,(CHAR16*)L"\\EFI\\Mircosoft\\Boot\\bootmgfw.efi");
BootDevPath=FileDevicePath(LoadedImage->DeviceHandle,FileName);
Status=gBS->LoadImage(TRUE,ImageHandle,BootDevPath,NULL,0,&hOsKernel),用于加载bootmgfw.efi程序。
AomeiPeLdr.efi通过调用EFISDK提供的gST/ConIn/ReadKeyStroke;获取到用户的按键信息。
实施例二
本发明中,具体的实施步骤为:a)检查当前系统是否支持UEFI引导,如果不支持则进入Legacy的一键引导流程,如果检测到当前系统的System分区所在头盘为GPT磁盘,且当前系统分区的标志为EFI分区的标志,则保存该分区的符号链接。
b)检查当前操作系统所在磁盘是否存在恢复分区,如果没有则需要创建,检测当前操作系统所在的磁盘是否具备创建恢复分区境的条件,如果没有则需要通过调整当前磁盘用户指定的某个分区的大小后创建恢复分区;如果当前操作系统所在的磁盘上存在恢复分区容量足够保存系统备份的镜像文件则不作调整,如果当前的恢复不分的容量不足以存储系统备份的镜像文件则需要用户指定位置且重新创建恢复分区,程序也可以自动根据恢复分区的位置调整其邻近分区的大小后扩大恢复分区。用户也可以选择将镜像文件备份到数据分区,这样就不需要创建单独的恢复分区。
程序拷贝制作好的WIM文件、引导文件以及配置文件到恢复环境,其主要的文件和目录结构如下所示:
Figure BDA0003395120460000101
Figure BDA0003395120460000111
Figure BDA0003395120460000121
其中AomeiPeLdr.efi是自主研发的EFI程序,用于加载恢复分区中的WIM文件,boot.wim文件是自主自定义的Windows PE,其中包含了用于做操作系统还原功能的AOMEIOnekey Recovery应用程序,bootmgr.efi是系统自带的操作系统导致程序。
c)待以上环境创建好后需要在UEFI的BIOS中创建用于一键引导的启动项,Windows操作系统下主要通过GetFirmwareEnvironmentVariable、GetFirmwareEnvironmentVariableEx和SetFirmwareEnvironmentVariable、SetFirmwareEnvironmentVariableEx四个API来对UEFI的引导进行管理,首先会调用GetFirmwareEnvironmentVariable获得当前UEFI的所有引导配置,如果已经存在自己的引导项则先删除,再创建;如果不存在则直接创建一个引导项即可。
d)引导项创建后需要配置这个引导项,配置的目地在于让这个引导项能识别的恢复分区并加载引导文件AomeiPeLdr.efi文件,还通过GetFirmwareEnvironmentVariable获取到创建的引导项,并在引导项的数据结构中填入恢复分区所在的分区号、分区的起始位置、分区的大小、分区的GUID、分区的类型、分区的签名等。该数据结构如下所示:
Figure BDA0003395120460000122
Figure BDA0003395120460000131
再通过调用SetFirmwareEnvironmentVariable将修改的引导项写入到UEFI的引导配置中即完成引导项的创建。
e)最后还需要将该引导项的顺序调整到引导的第一项,以确保每次开机都会默认加载一键引导这个启动项,引导项的改变还是调用GetFirmwareEnvironmentVariable获得当前UEFI的所有引导项配置,如果引导项是第一项则不做处理,如果不是第一项则需要调整其引导配置,需要将引导项的BootOrder0001后再次调用SetFirmwareEnvironmentVariable将其回写即可。
实施例三
本实施例为实施例二的进一步细化。一键引导的具体流程为:1、根据上述步骤BIOS已经自己可以正常加载AomeiPeLdr.efi程序,AomeiPeLdr.efi中主要负责两件事情:1、加载WIM文件,启动恢复环境;2、加载当前系统的bootmgr.efi程序,启动当前系统;
2、当BIOS加载AomeiPeLdr.efi成功后,AomeiPeLdr.efi会读取OneKeyEfiConfig.dat文件读取显示信息、延时信息和按键的配置,AomeiPeLdr.efi会根据显示信息、延时信息显示相关的信息到屏幕上,如果在延时范围内用户按下了配置对应的按键则进入到恢复环境,如果超时没有按下对应的按钮则引导当前的操作系统。
3、AomeiPeLdr.efi通过调用EFISDK提供的gST->ConIn->ReadKeyStroke(gST->ConIn,&Key);获取到用户的按键信息,如果用户按下对应的按键则调用:
BootDevPath=FileDevicePath(HandleBuf[i],(CHAR16*)L"\\efi\\boot\\AomeiPeLdr.efi");
Status=gBS->LoadImage(TRUE,ImageHandle,BootDevPath,NULL,0,&hOsKernel)。
加载恢复环境下的AomeiPeLdr.efi引导加载WIM文件:
如果超时则调用:
StrCpy(FileName,(CHAR16*)L"\\EFI\\Boot\\bootx64.efi");
BootDevPath=FileDevicePath(LoadedImage->DeviceHandle,FileName);
Status=gBS->LoadImage(TRUE,ImageHandle,BootDevPath,NULL,0,&hOsKernel);
如果调用失败则调用:
StrCpy(FileName,(CHAR16*)L"\\EFI\\Mircosoft\\Boot\\bootmgfw.efi");
BootDevPath=FileDevicePath(LoadedImage->DeviceHandle,FileName);
Status=gBS->LoadImage(TRUE,ImageHandle,BootDevPath,NULL,0,&hOsKernel);
至此,以上便是一种基于UEFI的备份及一键引导启动项的方法的全部流程。
实施例四
专业述语解释:
System分区:指的是引导分区
Bootmgfw.efi:基于UEFI的Windows的引导程序
AomeiPeLdr.efi:基于UEFI的引导程序
创建分区:在磁盘的某个位置建立一个文件系统,例如:C盘
扩展分区:基于AOMEI的文件系统模块对NTFS、FAT32等文件系统进行扩大、缩小等操作。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种基于UEFI的备份方法,其特征在于:包括以下步骤:
系统判断步骤:判断当前系统是否支持UEFI引导;如果是,则继续,如果不是,则结束;
系统分区检测步骤:对当前系统的System分区进行检测,如果检测到当前系统的System分区所在头盘为GPT磁盘,且当前系统分区的标志位为EFI分区的标志,则保留该分区的符号链接;如果不是,则结束;
恢复分区检测步骤:检查当前操作系统所在磁盘是否存在恢复分区,如果存在则进行下一步,如果不存在,则根据用户指定的位置重新创建恢复分区;
恢复分区容量判断步骤:判断当前操作系统所在磁盘上存在的恢复分区容量是否能够保存系统备份的所有文件,如果是,则不做调整,如果不是,则根据用户指定的位置重新创建分区;
文件移动步骤:将制作好的WIM文件、引导文件以及配置文件拷贝到恢复分区;
一键引导创建步骤:在UEFI的BIOS中创建用于一键引导的引导项;
一键引导配置步骤:配置一键引导创建步骤中创建的引导项;
一键引导调整步骤:将一键引导配置步骤中配置完成的引导项的顺序调整至引导的第一项;通过一键引导完成备份;
一键引导创建步骤中,UEFI的引导管理通过GetFirmwareEnvironmentVariable、GetFirmwareEnvironmentVariableEx和SetFirmwareEnvironmentVariable、SetFirmwareEnvironmentVariableEx来完成;
恢复分区检测步骤中,创建恢复分区的具体步骤为:
恢复分区判断步骤:用户是否选择创建恢复分区,如果是,则根据用户指定的位置调整分区并创建恢复分区,如果不是,则将系统备份镜像文件存储在用户指定的位置;
系统备份步骤:根据用户指定的位置执行系统备份;
引导项创建步骤:备份完成后,创建UEFI引导项,结束;
所述一键引导创建步骤中,引导项的创建具体为:
获取引导配置步骤:首先,调用GetFirmwareEnvironmentVariable获得当前UEFI的所有引导配置;
创建引导配置步骤:判断当前UEFI是否存在已有的引导项,如果是,则将已有的引导项删除,并重新创建一个引导项,如果不是,则直接创建一个引导项;
所述一键引导配置步骤中,配置引导项具体操作为:
获取引导步骤:通过GetFirmwareEnvironmentVariable获取到一键引导创建步骤中创建的引导项;
配置引导步骤:在一键引导创建步骤中创建的引导项的数据结构中填入恢复分区的标识,完成配置;
所述一键引导调整步骤中,调整引导项位置具体为:
调用引导配置步骤:调用GetFirmwareEnvironmentVariable获得当前UEFI的所有引导项配置;
判断引导配置步骤:判断创建的引导项是否为所有引导项配置的第一项,如果是,则不做处理,如果不是,则跳转到步骤;
调整引导配置步骤:将引导项的BootOrder0001后再次调用SetFirmwareEnvironmentVariable将其回写即可。
2.根据权利要求1所述的一种基于UEFI的备份方法,其特征在于:所述配置引导步骤中,分区标识包括恢复分区所在的分区号、分区的起始位置、分区的大小、分区的GUID、分区的类型和分区的签名。
3.一种一键引导启动项的方法,其特征在于:所述一键引导使用权利要求1创建的一键引导,包括以下步骤:
信息获取步骤:读取OneKeyEfiConfig.dat文件,获得显示信息、延时信息和按键的配置;
信息显示步骤:显示配置文件中的信息并根据延时信息进行等待;
加载判断步骤:判断用户是否按下对应的按键;如果是,则加载WIM文件,进入恢复环境;如果超时没有按下对应的按钮则,则加载boot×64.efi文件启动系统;完成后结束;
所述加载判断步骤中,具体调用为:
如果用户按下对应的按键则调用:
BootDevPath = FileDevicePath(HandleBuf[i], (CHAR16*)L"\efi\boot\AomeiPeLdr.efi");
Status = gBS->LoadImage(TRUE, ImageHandle, BootDevPath, NULL, 0, &hOsKernel);
加载恢复环境下的AomeiPeLdr.efi引导加载WIM文件;
如果超时则调用:
StrCpy(FileName, (CHAR16*)L"\EFI\Boot\bootx64.efi");
BootDevPath = FileDevicePath(LoadedImage->DeviceHandle, FileName);
Status = gBS->LoadImage(TRUE, ImageHandle, BootDevPath, NULL, 0, &hOsKernel);用于加载bootx64.efi程序;
如果调用失败则调用:
StrCpy(FileName, (CHAR16*)L"\EFI\Mircosoft\Boot\bootmgfw.efi");
BootDevPath = FileDevicePath(LoadedImage->DeviceHandle, FileName);
Status = gBS->LoadImage(TRUE, ImageHandle, BootDevPath, NULL, 0, &hOsKernel),用于加载bootmgfw.efi程序。
4. 根据权利要求3所述的一种一键引导启动项的方法,其特征在于:AomeiPeLdr.efi通过调用EFI SDK提供的gST/ConIn/ReadKeyStroke;获取到用户的按键信息。
CN202111481791.0A 2021-12-06 2021-12-06 一种基于uefi的备份及一键引导启动项的方法 Active CN114168207B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111481791.0A CN114168207B (zh) 2021-12-06 2021-12-06 一种基于uefi的备份及一键引导启动项的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111481791.0A CN114168207B (zh) 2021-12-06 2021-12-06 一种基于uefi的备份及一键引导启动项的方法

Publications (2)

Publication Number Publication Date
CN114168207A CN114168207A (zh) 2022-03-11
CN114168207B true CN114168207B (zh) 2023-04-25

Family

ID=80483599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111481791.0A Active CN114168207B (zh) 2021-12-06 2021-12-06 一种基于uefi的备份及一键引导启动项的方法

Country Status (1)

Country Link
CN (1) CN114168207B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201001180A (en) * 2008-06-19 2010-01-01 Insyde Software Corp Method to perform data backup and Internet surfing while operating system or hard drive is broken
CN102567136A (zh) * 2010-12-15 2012-07-11 研祥智能科技股份有限公司 一种计算机系统的备份、还原方法、装置及计算机系统
CN102819469A (zh) * 2012-07-04 2012-12-12 北京奇虎科技有限公司 操作系统恢复方法及系统
CN103870762A (zh) * 2012-12-18 2014-06-18 联想(北京)有限公司 分区访问方法和电子设备
CN105242986A (zh) * 2015-09-11 2016-01-13 金步国 备份与还原Windows操作系统的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9563497B2 (en) * 2012-12-19 2017-02-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Correcting a failure associated with a current firmware image

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201001180A (en) * 2008-06-19 2010-01-01 Insyde Software Corp Method to perform data backup and Internet surfing while operating system or hard drive is broken
CN102567136A (zh) * 2010-12-15 2012-07-11 研祥智能科技股份有限公司 一种计算机系统的备份、还原方法、装置及计算机系统
CN102819469A (zh) * 2012-07-04 2012-12-12 北京奇虎科技有限公司 操作系统恢复方法及系统
CN103870762A (zh) * 2012-12-18 2014-06-18 联想(北京)有限公司 分区访问方法和电子设备
CN105242986A (zh) * 2015-09-11 2016-01-13 金步国 备份与还原Windows操作系统的方法

Also Published As

Publication number Publication date
CN114168207A (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
CN109906433B (zh) 针对容器的存储隔离
US7707190B2 (en) Method for restoring backup data
US8677345B2 (en) System for creating virtual application, method for installing virtual application, method for calling native API and method for executing virtual application
US7111203B2 (en) Method for implementing data backup and recovery in computer hard disk
WO2017049828A1 (zh) 基于Linux的数据处理方法、装置和系统
US20070204089A1 (en) Multi-protocol removable storage device
US20120084272A1 (en) File system support for inert files
US20040193953A1 (en) Method, system, and program for maintaining application program configuration settings
CN108241550B (zh) 一种操作系统备份还原方法
CN102567136A (zh) 一种计算机系统的备份、还原方法、装置及计算机系统
US20080109676A1 (en) Processing device and storage medium
US9785511B2 (en) Network device and operating method thereof
JP2004302991A (ja) コンピュータシステム用インターフェイスbiosのバックアップ方法
CN108829351B (zh) 一种mbr磁盘转gpt磁盘的方法
CN103389905A (zh) 插件加载方法及系统
EP3467681A1 (en) Data migration method and device
CN114168207B (zh) 一种基于uefi的备份及一键引导启动项的方法
CN1368683A (zh) 利用同步目录容错的方法
CN115129570A (zh) 一种内存性能测试方法及相关装置
US20060069902A1 (en) Method for recovering operating system and user data executed in a computer and its recovery system thereof
US11269739B2 (en) Method and system for managing backup data
KR20020041221A (ko) 외부저장장치를 이용한 컴퓨터의 환경을 설정하고복구하는 방법 및 컴퓨터 환경 설정/복구 장치
TWI536161B (zh) 備份方法、還原方法及其電腦、電腦程式產品與電腦可讀取記錄媒體
CN103389927A (zh) 一种数据恢复的方法、装置及系统
US20170364353A1 (en) Segregating a monolithic computing system into multiple attachable application containers based on application boundaries

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