CN102422265B - Bios映像管理器 - Google Patents

Bios映像管理器 Download PDF

Info

Publication number
CN102422265B
CN102422265B CN200980159032.3A CN200980159032A CN102422265B CN 102422265 B CN102422265 B CN 102422265B CN 200980159032 A CN200980159032 A CN 200980159032A CN 102422265 B CN102422265 B CN 102422265B
Authority
CN
China
Prior art keywords
bios
reflection
current
machine
classification
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
CN200980159032.3A
Other languages
English (en)
Other versions
CN102422265A (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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN102422265A publication Critical patent/CN102422265A/zh
Application granted granted Critical
Publication of CN102422265B publication Critical patent/CN102422265B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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

Abstract

本发明公开了一种用于管理基本输入/输出系统(BIOS)映像的机器和方法。当对BIOS执行更新、重新运行、和/或恢复时,期望使用另一BIOS来替换该BIOS。本发明中的BIOS管理器根据机器可访问的BIOS映像的诸如当前、先前和/或破坏之类的状态来对机器可访问的BIOS映像进行分类。而且,BIOS管理器选择一个BIOS映像、使用所选择的BIOS映像来重写当前BIOS,并且在当前BIOS被替换时更新BIOS映像的分类。

Description

BIOS映像管理器
技术领域
本发明涉及用于BIOS映像管理的方法和用于BIOS映像管理的设备。
背景技术
BIOS是一种用于机器的基本输入/输出系统。BIOS对机器的硬件组件和操作系统进行初始化和控制。当对BIOS执行更新、重新运行(roll back)、和/或恢复时,期望使用另一BIOS来替换该BIOS。
发明内容
按照本发明的一个方面,本发明涉及一种用于BIOS映像管理的方法,包括:
基于BIOS映像的状态和/或稳定性对机器可访问的BIOS映像进行分类;
为当前BIOS中标记的一个或更多个标记扫描所述当前BIOS;
根据BIOS映像中的一个的分类和所述标记,选择一个BIOS映像来替换所述当前BIOS;以及
使用所选择的BIOS映像来重写当前BIOS;
当前BIOS被替换时更新至少两个BIOS映像的分类;
将所述更新的分类记录到BIOS日志中;
其中所述标记是相应BIOS映像的指示,用来表示所述相应BIOS映像的状态。
按照本发明的另一个方面,本发明涉及用于BIOS映像管理的设备,包括:
用于基于BIOS映像的状态和/或稳定性对机器可访问的BIOS映像进行分类的装置;
用于为当前BIOS中标记的一个或更多个标记扫描当前BIOS的装置;
用于根据BIOS映像中的一个的分类和所述标记,选择一个BIOS映像来替换当前BIOS的装置;以及
用于使用所选择的BIOS映像来重写当前BIOS的装置;
用于当前BIOS被替换时更新至少两个BIOS映像的分类的装置;
用于将所述更新的分类记录到BIOS日志中的装置;
其中所述标记是相应BIOS映像的指示,用来表示所述相应BIOS映像的状态。
附图说明
根据以下结合附图的详细说明,所公开实施例的各种特征和优势将显而易见,同时附图通过示例的方式示出了实施例的各特征。
图1示出了根据本发明的一个实施例的具有通过BIOS管理器管理的BIOS映像的机器。
图2示出了根据本发明的一个实施例的BIOS映像被分类以及当前BIOS已被替换时至少两个BIOS映像的分类被更新的流程图。
图3示出了根据本发明的一个实施例的列出和更新BIOS映像的分类的BIOS数据库以及机器的当前BIOS被替换时写入的BIOS日志。
图4示出了根据本发明的一个实施例的具有嵌入式BIOS管理器以及存储在由机器访问的可移动介质上的BIOS管理器的机器。
图5是示出了根据本发明的一个实施例的用于BIOS映像管理的方法的流程图。
图6是示出了根据本发明的另一个实施例的用于BIOS映像管理的方法的流程图。
具体实施方式
图1示出了根据本发明的一个实施例的具有由BIOS管理器110管理的BIOS映像130的机器100。在一个实施例中,机器100是台式电脑、笔记本电脑、服务器、和/或使用BIOS映像的任意设备。如图1所示,机器100包括处理器120、BIOS管理器110、BIOS映像130、内存/存储装置180、签名140、输入/输出装置150、网络接口160、以及通信总线170用于机器100的通信和/或用于机器100的一个或多个组件间的彼此通信。在其他实施例中,机器100包括除了上述及图1所示那些组件之外的和/或代替上述及图1所示那些组件的额外的组件和/或被耦合到额外的组件。
如图1所示,机器100包括耦合到机器100的处理器120。处理器120执行指令来加载被机器100用作当前BIOS的BIOS映像。当前BIOS是启动机器100、对机器100的硬件组件和操作系统进行初始化和控制的嵌入式软件。在一个实施例中,当前BIOS嵌入到机器100中的内存上并且存储在与机器100上的操作系统分立的或专用的分区上。机器100可访问的BIOS映像130中的一个被用作当前BIOS。
BIOS映像130存储在机器100上的存储装置180上。存储装置180可以包括在机器中和/或存储装置180可以在机器100的外部并且可以由机器100访问。在一个实施例中,BIOS映像130存储在存储装置180的一个分立分区上,诸如uEFI分区。BIOS映像130被写入并存储在uEFI分区上。在其他实施例中,由操作系统上的应用程序或者机器100上的BIOS管理器110使用网络接口160或输入/输出装置150将BIOS映像130从另一位置下载到存储装置180上。网络接口160可以是有线或无线网络接口卡。另外,在一个实施例中,输入/输出装置150可以是USB驱动器或红外装置。
BIOS映像130通过运行在操作系统上的应用程序写入存储装置180。所述应用程序可以是存储在与操作系统相同的分区上的软件应用程序,并且可以由操作系统执行。另外,所述应用程序可以是与机器100上的BIOS管理器分立的软件应用程序。
如上所述,BIOS映像130由BIOS管理器110管理。BIOS管理器110对机器100可访问的BIOS映像130进行分类。在一个实施例中,BIOS管理器110是嵌入到机器100上的固件。在其他实施例中,BIOS管理器110是存储在机器100上的ROM内或存储在机器100可访问的存储装置180上的软件应用程序,或者BIOS管理器110存储在机器100可从不同位置读取和访问的计算机可读介质上。在另一个实施例中,BIOS管理器110通过经由局域网或广域网耦合的服务器进行存储和/或访问。BIOS管理器110与通过包括在机器100中或附着到机器100的通信总线170物理或无线耦合到机器100的装置和/或组件进行通信。在一个实施例中,通信总线170可以是存储总线。在其他实施例中,通信总线170可以是数据总线。
BIOS管理器110对BIOS映像130进行分类。在一个实施例中,BIOS管理器使用BIOS映像130上的头部(图2)来对BIOS映像130进行分类。可替换地,BIOS管理器110使用BIOS数据库(图3)来对BIOS映像130进行分类。在一个实施例中,使用以下状态中的一个来对机器100可访问的BIOS映像130进行分类,所述状态为:当前、默认、先前、新、和/或破坏。
根据相应BIOS映像的状态和/或稳定性,将BIOS映像130分类为诸如当前(BIOS映像当前被用作运行机器100的有效BIOS映像)或破坏(BIOS映像被确定为不能正确地运行)。此外,将分类为当前的BIOS映像的创建日期用作参考,根据创建的日期来给出诸如先前(当前BIOS之前的创建日期)、新(当前BIOS之后的创建日期)、或默认(用作有效BIOS的机器100上的原始BIOS映像)之类的分类。对机器100可访问的一个或多个BIOS映像130进行分类时使用和考虑除了上述那些要素和考虑因素之外的和/或代替上述那些要素和考虑因素的额外的要素和考虑因素。
此外,在其他实施例中,机器100可访问的BIOS映像130还被分类为稳定、最近使用,和/或被标识为与机器100的特定组件一起使用。给出了BIOS映像130的除了上述那些分类之外的和/或代替上述那些分类的其他分类。在一个实施例中,一个或多个BIOS映像130包括多个分类。
BIOS管理器110根据BIOS映像130的分类从BIOS映像130中选择一个BIOS映像来替换运行机器100的当前BIOS。在确定是否替换当前BIOS的过程中,BIOS管理器110首先扫描当前BIOS以查找当前BIOS中标记的一个或多个标记。机器100接通电源并加载当前BIOS时,BIOS管理器110执行扫描。另外,当前BIOS被确定为破坏时,BIOS管理器110确定替换当前BIOS。
一个或多个标记是相应BIOS映像的指示,用来表示相应BIOS映像的不同状态。BIOS映像130可以包括多个标记来表示何时相应BIOS为当前BIOS以及是否执行更新、重新运行、和/或恢复。在其他实施例中,标记指示在更新、重新运行的情况下何时选择相应BIOS和/或何时当前BIOS为破坏。在另外的实施例中,标记可以指示相应BIOS映像的优先权高于相同分类的其他BIOS映像130,和/或何时更新、重新运行、和/或恢复成功。所述标记可以被存储为BIOS映像130的部分,并且可以用0或1来标记。另外,所述标记可以由BIOS管理器110或来自操作系统的应用程序来标记。
BIOS管理器110读取一个或多个标记来确定选择哪个分类和/或选择哪个BIOS映像来替换当前BIOS。在一个实施例中,一个或多个标记是由来自机器100上的操作系统的应用程序标记的更新标记,使用1标记该标记。因此,BIOS管理器110搜索BIOS映像130以查找分类为新的BIOS映像。另外,一个或多个标记是重新运行或破坏的标记,其指示使用分类为先前或默认的BIOS映像来替换当前BIOS。因此,根据BIOS映像130的分类来从BIOS映像130中选择用来替换当前BIOS的BIOS映像。
在一个实施例中,BIOS管理器110确定更新标记被标记。然后,BIOS管理器110搜索BIOS映像130以查找分类为新的BIOS映像。一旦BIOS管理器110找到分类为新的BIOS映像,则BIOS管理器110通过使用分类为新的BIOS映像替换当前BIOS来更新当前BIOS。
在另一个实施例中,BIOS管理器110确定当前BIOS为破坏。如果BIOS映像不能正确地运行或者没有正确地安装到机器100上,则BIOS映像为破坏。BIOS管理器110扫描BIOS映像130以查找分类为先前或默认的BIOS映像。一旦BIOS管理器110找到分类为先前或默认的BIOS映像,BIOS管理器110使用所选择的分类为先前或默认的BIOS映像来替换被确定为破坏的当前BIOS。
在一个实施例中,如果BIOS管理器110找到被分类为默认的一个BIOS映像和被分类为先前的额外的BIOS映像130,则BIOS管理器110可以选择分类为默认的BIOS映像。在另一个实施例中,BIOS管理器110可以扫描分类为先前或默认的BIOS映像130以查找优先权标记。如果分类为先前或默认的BIOS映像130的任意一个包括优先权标记,则BIOS管理器110可以选择具有优先权标记的BIOS映像。
在选择分类为先前或默认的BIOS映像之前,BIOS管理器110还验证BIOS映像没有另外被分类为破坏。如果BIOS映像另外被分类为破坏,则BIOS管理器扫描并选择分类为先前或默认的另一BIOS映像。
此外,在其他实施例中,BIOS管理器110确定当前BIOS中标记了重新运行标记。类似于从被确定为破坏的当前BIOS进行恢复,BIOS管理器110扫描BIOS映像130以查找分类为先前或默认的BIOS映像。一旦BIOS管理器110找到分类为先前或默认的BIOS映像,BIOS管理器110就恢复到分类为先前或默认的BIOS映像。
类似于上述实施例,如果BIOS管理器110找到分类为默认的一个BIOS映像和分类为先前的额外的BIOS映像130,则BIOS管理器110可以选择分类为默认的BIOS。在其他实施例中,BIOS管理器110可以扫描分类为先前或默认的BIOS映像130以查找优先权标记。如果分类为先前或默认的BIOS映像130中的任意一个包括优先权标记,则BIOS管理器110可以选择具有优先权标记的BIOS映像。
此外,在替换当前BIOS之前,BIOS管理器110扫描所选择的BIOS映像以确定所选择的BIOS映像是否具有与机器100上的签名140匹配的二进制签名。机器100上的签名140是用来标识相应BIOS映像与机器100一起使用兼容和/或稳定的二进制序列号。在其他实施例中,可以采用其他适当的签名140。签名140可以存储在存储装置180上。如果所选择的BIOS映像的二进制签名与存储在机器100上的签名140匹配,则BIOS管理器110通过使用所选择的BIOS映像重写当前BIOS来使用所选的BIOS映像替换当前BIOS。否则,BIOS管理器11O继续搜索BIOS映像130以查找另一BIOS映像用来替换当前BIOS,直到找到匹配的二进制签名并且重写当前BIOS。
一旦当前BIOS被从BIOS映像130中选择的BIOS映像替换,则BIOS管理器110确定所选择的BIOS映像将作为当前BIOS。另外,BIOS管理器11O还确定当前BIOS是否为破坏。如果当前BIOS被破坏,则BIOS管理器110通过恢复回到分类为先前或默认的BIOS映像来尝试恢复。一旦BIOS管理器110确定当前BIOS没有被破坏,则BIOS管理器110对当前BIOS标记一个成功标记。另外,BIOS管理器更新至少两个BIOS映像130的分类。
在更新BIOS映像130的分类的过程中,BIOS管理器110修改分类要被更新的相应BIOS映像130的头部(图2)。另外,BIOS管理器110更新机器100所访问的列出了BIOS映像130的BIOS数据库(图3)中的相应条目。在更新至少两个BIOS映像130的分类的过程中,BIOS管理器110将分类为当前的BIOS映像重新分类为先前。另外,BIOS管理器110将被选择来替换当前BIOS的BIOS映像重新分类为当前。更新至少两个BIOS映像130的分类之后,在一个实施例中,BIOS管理器110还删除分类为破坏的BIOS映像130。另外,如果被破坏的BIOS映像130的备份BIOS映像130可用,则BIOS管理器110尝试替换分类为破坏的BIOS映像130。
图2示出了根据本发明的一个实施例的BIOS映像21O被分类以及当前BIOS已被替换时至少两个BIOS映像210的分类被更新的流程图。如上所述,机器200的BIOS管理器对机器200可访问的BIOS映像21O进行分类。另外,如上所述,机器200可访问的BIOS映像210还包括相应的头部220,其被配置来指定相应BIOS映像210的分类。
如图2所示,在一个实施例中,头部220是访问相应BIOS映像210时被自动访问和读取的分立文件。在其他实施例中,头部220包括在相应BIOS映像210的文件本身中。头部220由BIOS管理器填充和/或写入,以申明或标识相应BIOS映像210的状态。如上所述,以及如图2所示,BIOS映像210被分类为新、当前、先前、默认、和/或破坏。另外,如图2所示,BIOS映像1最初被分类为新,而BIOS映像2最初被分类为当前。
然后,如果BIOS映像1的二进制签名230与存储在机器200上的二进制签名230匹配,则BIOS管理器使用机器200上的BIOS映像来替换分类为当前的BIOS映像2。此外,如图2所示,在一个实施例中,选择分类为新的BIOS映像1来替换当前BIOS(BIOS映像2)。从而,由于当前BIOS(BIOS映像2)被分类为新的BIOS映像1替换,则BIOS管理器执行了更新。重写了当前BIOS之后,BIOS管理器更新至少两个BIOS映像210的分类。
如图2所示,在更新至少两个BIOS映像210的分类的过程中,BIOS管理器通过将BIOS 2的头部220从当前重写为先前来对BIOS映像2进行重新分类,并且通过将BIOS 1的头部220从新重写为当前来对BIOS映像1进行重新分类。此外,如上所述以及如图2所示,重写了之前分类为当前的BIOS映像之后,BIOS管理器对当前BIOS(BIOS映像1)标记一个成功标记250。类似于相应BIOS映像的头部220,成功标记250是访问当前BIOS时所访问的分立文件。在其他实施例中,成功标记250是当前BIOS的部分。如上所述,原始的当前BIOS已被BIOS映像1替换。因此,BIOS映像1此时为当前BIOS,并且将对BIOS映像1标记成功标记250。
一旦BIOS管理器对至少两个BIOS映像210进行了重新分类并且对当前BIOS标记了成功标记250,则BIOS管理器还将机器200可访问的BIOS映像210的分类写入BIOS日志240。在一些实施例中,不使用成功标记250。在一个实施例中,BIOS日志240是存储在机器200上的文档或文件,其列出机器200可访问的BIOS映像21O以及在机器200上的当前BIOS被替换之后的BIOS映像21O的分类。另外,当机器200上的当前BIOS已被替换时,更新和/或重写BIOS日志240。
BIOS日志240存储在机器200可访问的存储装置上。如上所述,存储装置是耦合到机器200或包括在机器200中的内部或外部存储装置。此外,BIOS日志240被存储在存储BIOS映像210的存储装置的一个分区上。此外,BIOS日志240由机器200的操作系统访问。操作系统访问BIOS日志240并且识别机器200可访问的BIOS映像210以及BIOS映像210的分类。如果不存在BIOS日志240和/或没有可访问的BIOS日志240,则操作系统访问存储了BIOS映像210的分立分区并且扫描BIOS映像210的头部220以查找相应BIOS映像210的分类。
在一个实施例中,操作系统访问BIOS日志240以识别分类为破坏的BIOS映像210(BIOS映像5和6)。在另一个实施例中,操作系统扫描头部220并且识别具有表示分类为破坏的头部220的BIOS映像5和6。一旦操作系统识别出了分类为破坏的BIOS映像210,操作系统删除该破坏的BIOS映像(BIOS映像5和6)。可替换地,操作系统尝试修复该破坏的BIOS映像5和6和/或替换该破坏的BIOS映像。操作系统利用恢复工具来替换破坏的BIOS映像,或者通过经由机器200上的网络接口或输入/输出装置下载和/或访问分类为破坏的BIOS映像210的未破坏版本来替换破坏的BIOS映像。
图3示出了根据本发明的实施例的列出和更新BIOS映像370的分类380的BIOS数据库310以及当机器的当前BIOS被替换时由BIOS管理器写入的BIOS日志350。如图3所示,机器300包括BIOS数据库310。BIOS数据库310是列出机器300可访问的BIOS映像370以及相应BIOS映像370的分类380的数据库。在一个实施例中,BIOS数据库310可以列出并存储BIOS映像370。在其他实施例中,BIOS数据库310列出BIOS映像370所存储的存储地址。此外,BIOS数据库310包括BIOS数据库310中列出的BIOS映像370的分类域380和二进制签名域340。另外,如图3所示,BIOS数据库310存储在机器300上。在其他实施例中,BIOS数据库310存储在存储装置320或机器300可访问的外部存储装置330上。
如图3所示,BIOS数据库310耦合到机器300中的存储装置320。在一个实施例中,BIOS数据库310首先识别机器300包括具有BIOS映像1、2、3和4的存储装置320。BIOS数据库310列出存储装置320上的BIOS映像370以及存储装置320上的BIOS映像370的分类和二进制签名。如图3所示,在一个实施例中,缩写BIOS数据库310中列出的BIOS映像370的分类。在其他实施例中,可以使用二进制编码或二进制序列号来对BIOS映像370进行分类。然后,BIOS管理器检测耦合到机器300的外部存储装置330,并且BIOS管理器识别外部存储装置330包括BIOS映像5、6、7和8。然后,BIOS管理器更新BIOS数据库310使该BIOS数据库310中包括BIOS映像5、6、7和8以及它们的分类和二进制签名。
在一个实施例中,如果BIOS管理器检测到存在存储在外部存储装置330上的BIOS映像,则当选择BIOS映像来替换当前BIOS时,BIOS管理器对外部存储装置330上的BIOS映像5、6、7和8赋予优先权。如上所述,在一个实施例中,BIOS映像可以包括标记的优先权标记。BIOS管理器可以用标记的优先权标记来对BIOS映像赋予优先权。此外,在另一个实施例中,一旦BIOS数据库310列出机器300可访问的BIOS映像370,BIOS管理器执行指令用分类为新的BIOS映像6来重写当前BIOS。如上所述,在一个实施例中,如果外部存储装置330附接到机器300上并且外部存储装置330包括BIOS映像370,则当选择BIOS映像来替换当前BIOS时,外部存储装置330上的BIOS映像370的优先权高于存储装置320上的BIOS映像370。
如图3所示,数据库310中的BIOS映像3和6都具有N(新)的分类,但是由于BIOS映像6存储在外部存储装置330上,其具有优先权。另外,BIOS映像6可以具有标记的优先权标记。如上所述,在重写当前BIOS之前,BIOS管理器检查BIOS数据库310中列出的BIOS映像3的二进制签名来确认BIOS映像3的二进制签名与机器300上存储的签名360匹配。如上所述,在一个实施例中,签名360是二进制签名。另外,签名360是6位数字序列号。如图3所示,BIOS映像6的二进制签名(001100)与存储在机器300上的签名360(001100)匹配。一旦BIOS管理器验证了BIOS映像6的二进制签名,则BIOS管理器使用BIOS映像6来重写当前BIOS,并且更新BIOS数据库310中列出的至少两个BIOS映像370的分类380。
如图3所示,BIOS管理器还更新BIOS映像1和6的分类以及它们在BIOS数据库310中的相应分类域。BIOS数据库31O中的BIOS映像1的分类域从C(当前)重写为P(先前)。另外,BIOS数据库310中的BIOS映像6的分类域从N(新)重写为C(当前)。在一个实施例中,BIOS管理器还扫描BIOS数据库310的二进制签名域340以确认BIOS数据库310中列出的BIOS映像370的二进制签名与机器300中的签名360匹配。如图3所示,BIOS 4的二进制签名域示出了111111的签名。因此,BIOS 4的二进制签名与机器300上的签名(001100)不匹配。在一个实施例中,BIOS管理器将BIOS映像4的分类改变为De(删除)。在另一个实施例中,BIOS管理器删除BIOS数据库310中列出的BIOS映像4。另外,BIOS管理器还删除存储装置320中的BIOS映像4。
一旦BIOS数据库310被更新,则BIOS管理器将BIOS数据库310中列出的BIOS映像370的参考以及BIOS数据库310中列出的相应BIOS映像370的分类写入到BIOS日志350。如图3所示,BIOS日志350列出了BIOS映像1、2、3、4、5、6、7和8。此外,BIOS日志350列出了至少两个BIOS映像370的分类被更新之后的BIOS映像370的分类。如图3所示,BIOS日志350反映出了BIOS映像3被重新分类为C(当前)、BIOS映像1被重新分类为P(先前)、以及BIOS映像4被重新分类为De(删除)。如上所述,BIOS日志350可通过机器300上的操作系统访问来识别要替换和/或删除的BIOS映像370。
图4示出了根据本发明的一个实施例的具有嵌入式BIOS管理器410和存储在机器400访问的可移动介质上的BIOS管理器410的机器400。为了说明的目的,可移动介质是包含、存储、传输、或传送所述机器所使用的或与所述机器一起使用的应用程序的任意有形设备。如上所述,在一个实施例中,BIOS管理器410是嵌入到机器400的一个或多个作为ROM的组件中的固件。在其他实施例中,BIOS管理器410是从耦合到机器400的硬盘驱动器、压缩盘、闪存盘、网络驱动器或任意其他形式的计算机可读介质存储和访问的软件应用程序。
图5是示出了根据本发明的一个实施例的用于BIOS映像管理的方法的流程图。图5的方法使用机器可访问的存储装置、存储在存储装置上的BIOS映像、以及机器上的BIOS管理器。在其他实施例中,图5的方法使用除了上述那些以及图1、2、3和4所示那些组件之外的和/或代替上述那些以及图1、2、3和4所示那些组件的额外的组件和/或装置。
BIOS管理器首先在步骤500对机器可访问的BIOS映像进行分类。如上所述,根据相应BIOS映像的状态和/或稳定性对BIOS映像进行分类。在一些实施例中,根据BIOS映像的日期来对BIOS映像进行分类。在一个实施例中,BIOS映像被分类为新、当前、破坏、先前、和/或默认。另外,如上所述,BIOS管理器访问存储在机器可访问的存储装置上的BIOS映像。对BIOS映像进行分类之后,BIOS管理器在步骤510根据BIOS映像中的一个的分类来选择一个BIOS映像来替换当前BIOS。如上所述,更新时,BIOS管理器选择分类为新的BIOS映像。另外,当重新运行为先前BIOS或从被确定为破坏的当前BIOS进行恢复时,BIOS管理器选择分类为先前和/或默认的BIOS映像。
一旦选择了BIOS映像,则BIOS管理器在步骤520使用所选择的BIOS映像重写当前BIOS。当前BIOS被所选择的BIOS映像替换之后,BIOS管理器在步骤530更新当前BIOS被替换时的至少两个BIOS映像的分类。在一个实施例中,如果所选择的BIOS映像具有为默认的分类,则BIOS管理器将分类为当前的BIOS映像的分类从当前更新为先前,并且将所选择的BIOS映像从默认更新为当前。
然后,处理完成,或者BIOS管理器通过重复图5所公开的方法继续管理并更新机器上的当前BIOS被替换时的BIOS映像的分类。在一个实施例中,图5的方法包括除了图5所示那些步骤之外的和/或代替图5所示那些步骤的额外的步骤。
图6是示出了根据本发明的另一个实施例的用于BIOS映像管理的方法的流程图。图6的方法使用机器可访问的BIOS映像、机器上的数据库、验证BIOS映像的签名、记录BIOS映像的分类改变的BIOS日志、以及BIOS管理器。在其他实施例中,图6的方法使用除了上述那些组件以及图1、2、3和4所示那些组件之外的和/或代替上述那些组件以及图1、2、3和4所示那些组件的额外的组件和/或装置。
如图6所示,BIOS管理器首先在步骤600对机器可访问的BIOS映像进行分类。根据相应BIOS映像的状态和/或稳定性来对BIOS映像进行分类。在一个实施例中,对BIOS映像赋予以下分类中的至少一个分类:新、当前、破坏、先前、和/或默认。在其他实施例中,根据BIOS映像的日期来对BIOS映像进行分类。如上所述,在BIOS数据库中列出了机器可访问的BIOS映像并对其进行了编组。另外,BIOS映像包括配置来列出相应BIOS映像的分类的头部。在对BIOS映像进行分类之后,BIOS管理器在步骤605扫描替换机器上的当前BIOS的请求。如上所述,在扫描和/或确定是否要替换当前BIOS的过程中,BIOS管理器确定当前BIOS上是否标记有标记或者当前BIOS是否为破坏的。
如果当前BIOS具有标记了的更新标记,则BIOS管理器在步骤61O使用分类为新的BIOS映像来替换当前BIOS并且更新机器。如果当前BIOS没有标记了的更新标记,则BIOS管理器还确定当前BIOS是否被破坏或者是否已请求了重新运行。如果当前BIOS是破坏的或者当前BIOS具有标记了的重新运行标记,则BIOS管理器在步骤620恢复回到先前BIOS映像或默认BIOS映像。
另外,如上所述,在一个实施例中,BIOS管理器还在步骤625检查用来替换当前BIOS的BIOS映像的签名。如果所选BIOS映像的签名不匹配,则BIOS管理器拒绝选择该BIOS映像,并且返回去确定是否已进行了更新、重新运行和/或破坏的请求。一旦BIOS管理器选择了具有匹配签名的BIOS映像来替换当前BIOS,则BIOS管理器在步骤630替换当前BIOS并且在分类为当前的新BIOS映像中标记一个成功标记。
此外,当前BIOS被替换时,BIOS映像管理器在步骤640更新至少两个BIOS映像的分类。如上所述,在一个实施例中,如果当前BIOS被确定为破坏的,则BIOS管理器将当前BIOS的分类改变为破坏,并且将用来替换破坏的BIOS映像的所选择的BIOS映像的分类改变为当前。此外,替换了当前BIOS并且更新了至少两个分类之后,BIOS管理器在步骤650将对机器上的BIOS映像的分类的更新概要记录到BIOS日志中。然后,处理完成,或者BIOS管理器通过重复图6中所公开的方法来继续管理BIOS映像。在一个实施例中,图6的方法包括除了图6所示那些步骤之外的和/或代替图6所示那些步骤的额外的步骤。
通过对机器可访问的BIOS映像进行分类并且当机器上的当前BIOS已被更新、重新运行、和/或恢复时更新BIOS映像的分类,可以节约时间,并且增大稳定性和便利性。另外,通过在替换当前BIOS之前验证所选BIOS映像的签名以及将BIOS映像和分类写入BIOS日志,可以增大安全性和BIOS稳定性。

Claims (15)

1.一种用于BIOS映像管理的方法,包括:
基于BIOS映像的状态和/或稳定性对机器可访问的BIOS映像进行分类;
为当前BIOS中标记的一个或更多个标记扫描所述当前BIOS;
根据BIOS映像中的一个的分类和所述标记,选择一个BIOS映像来替换所述当前BIOS;以及
使用所选择的BIOS映像来重写当前BIOS;
当前BIOS被替换时更新至少两个BIOS映像的分类;
将所述更新的分类记录到BIOS日志中;
其中所述标记是相应BIOS映像的指示,用来表示所述相应BIOS映像的状态。
2.根据权利要求1所述的用于BIOS映像管理的方法,其中每个BIOS映像包括头部,该头部配置为指定了每个相应BIOS映像的分类。
3.根据权利要求1所述的用于BIOS映像管理的方法,其中更新至少两个BIOS映像的分类包括将已被替换了的BIOS映像重新分类为先前以及将所述一个BIOS映像重新分类为当前。
4.根据权利要求1所述的用于BIOS映像管理的方法,还包括:
在替换当前BIOS之前为经验证了的二进制签名扫描所述一个BIOS映像。
5.根据权利要求1所述的用于BIOS映像管理的方法,还包括:
使用所述一个BIOS映像替换了当前BIOS之后,在所述一个BIOS映像中标记一个成功标记。
6.一种用于BIOS映像管理的机器,包括:
处理器,其耦合到所述机器可访问的计算机可读存储器;
BIOS映像,其存储在所述机器上;
BIOS管理器,其可从所述计算机可读存储器执行,并且配置来执行以下步骤:
基于BIOS映像的状态和/或稳定性对机器可访问的BIOS映像进行分类;
为当前BIOS中标记的一个或更多个标记扫描当前BIOS;
替换当前BIOS;以及
更新至少两个BIOS映像的所存储的分类;
将所述更新的分类记录到BIOS日志中;
其中,根据用来替换当前BIOS的替换BIOS映像的分类和所述标记来选择替换BIOS映像;
其中所述标记是相应BIOS映像的指示,用来表示所述相应BIOS映像的状态。
7.根据权利要求6所述的机器,还包括:
BIOS数据库,其配置来列出每个BIOS和每个BIOS的分类。
8.根据权利要求6所述的机器,还包括:
BIOS日志,其在当前BIOS已被替换之后列出每个BIOS映像的分类。
9.根据权利要求6所述的机器,其中所述BIOS管理器还配置来当外部存储装置耦合到所述机器时使用来自外部存储装置的BIOS映像来替换当前BIOS。
10.根据权利要求8所述的机器,其中可通过操作机器来访问所述BIOS日志,以修复或替换由所述BIOS日志分类为破坏的BIOS映像。
11.一种用于BIOS映像管理的设备,包括:
用于基于BIOS映像的状态和/或稳定性对机器可访问的BIOS映像进行分类的装置;
用于为当前BIOS中标记的一个或更多个标记扫描当前BIOS的装置;
用于根据BIOS映像中的一个的分类和所述标记,选择一个BIOS映像来替换当前BIOS的装置;以及
用于使用所选择的BIOS映像来重写当前BIOS的装置;
用于当前BIOS被替换时更新至少两个BIOS映像的分类的装置;
用于将所述更新的分类记录到BIOS日志中的装置;
其中所述标记是相应BIOS映像的指示,用来表示所述相应BIOS映像的状态。
12.根据权利要求11所述的用于BIOS映像管理的设备,其中每个BIOS映像包括头部,该头部配置为指定了每个相应BIOS映像的分类。
13.根据权利要求11所述的用于BIOS映像管理的设备,其中用于更新至少两个BIOS映像的分类的装置包括用于将已被替换了的BIOS映像重新分类为先前以及将所述一个BIOS映像重新分类为当前的装置。
14.根据权利要求11所述的用于BIOS映像管理的设备,还包括:
用于在替换当前BIOS之前为经验证了的二进制签名扫描所述一个BIOS映像的装置。
15.根据权利要求11所述的用于BIOS映像管理的设备,还包括:
用于使用所述一个BIOS映像替换了当前BIOS之后,在所述一个BIOS映像中标记成功标记的装置。
CN200980159032.3A 2009-04-29 2009-04-29 Bios映像管理器 Active CN102422265B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2009/042164 WO2010126505A1 (en) 2009-04-29 2009-04-29 Bios image manager

Publications (2)

Publication Number Publication Date
CN102422265A CN102422265A (zh) 2012-04-18
CN102422265B true CN102422265B (zh) 2015-04-08

Family

ID=43032442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980159032.3A Active CN102422265B (zh) 2009-04-29 2009-04-29 Bios映像管理器

Country Status (8)

Country Link
US (1) US8850173B2 (zh)
JP (1) JP5367159B2 (zh)
KR (1) KR101546118B1 (zh)
CN (1) CN102422265B (zh)
BR (1) BRPI0924133B1 (zh)
DE (1) DE112009004563T5 (zh)
GB (1) GB2481772B (zh)
WO (1) WO2010126505A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110264279A1 (en) * 2010-04-23 2011-10-27 Poth Robert J HVAC control
US8930769B2 (en) * 2010-08-13 2015-01-06 International Business Machines Corporation Managing operating system deployment failure
JP5944017B2 (ja) * 2013-02-08 2016-07-05 三菱電機株式会社 情報処理装置およびプログラム
JP2015069315A (ja) * 2013-09-27 2015-04-13 アズビル株式会社 デバイス
JP6248682B2 (ja) * 2014-02-19 2017-12-20 日本電気株式会社 情報処理装置、bios更新方法およびbios更新プログラム
US20150363320A1 (en) * 2014-06-17 2015-12-17 Lsi Corporation Write back caching of boot disk in a uefi environment
US9846617B2 (en) 2015-05-07 2017-12-19 Dell Products, Lp System and method for self-healing basic input/output system boot image and secure recovery
US9798624B2 (en) * 2015-06-23 2017-10-24 Dell Products, L.P. Automated fault recovery
US10089105B2 (en) * 2015-11-23 2018-10-02 Dell Products L.P. Systems and methods for bios update optimization
US10146552B2 (en) * 2016-06-22 2018-12-04 International Business Machines Corporation Identification of bootable devices
CN107766102B (zh) * 2017-10-16 2020-10-23 环胜电子(深圳)有限公司 双基本输出入系统(bios)的开机方法及具有其的电子装置
CN108256355A (zh) * 2018-02-28 2018-07-06 郑州云海信息技术有限公司 一种带外刷新bios时验证bios完整性的方法及装置
TWI691836B (zh) * 2018-11-20 2020-04-21 神雲科技股份有限公司 基本輸入輸出系統的開機階段辨識方法
CN109657476A (zh) * 2018-12-14 2019-04-19 广东浪潮大数据研究有限公司 Bios复原文件可信性的验证方法及相关装置
US20200250313A1 (en) * 2019-01-31 2020-08-06 Quanta Computer Inc. Bios recovery and update
US11392391B2 (en) * 2020-02-03 2022-07-19 Dell Products L.P. Selectively updating a bios image
US11640466B2 (en) * 2020-04-20 2023-05-02 Honeywell International Inc. Firmware for small MCU carrying a large set of features
US20220197746A1 (en) * 2020-12-18 2022-06-23 Advanced Micro Devices, Inc. Combination bios with a/b recovery
US20230065950A1 (en) * 2021-08-31 2023-03-02 Dell Products L.P. System and Method for Secure Application Domain on Bare Metal Information Handling System

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04167139A (ja) * 1990-10-31 1992-06-15 Nec Corp プログラムダウンロード方式
JPH11306007A (ja) * 1998-04-24 1999-11-05 Nec Corp Bios書き換え方法及び方式
JP2000357093A (ja) * 1999-06-16 2000-12-26 Toshiba Corp コンピュータシステムおよび不揮発性メモリの書き換え方法
CN1811707A (zh) * 2005-01-25 2006-08-02 英业达股份有限公司 自动更新及备份bios的方法
CN101017441A (zh) * 2007-02-27 2007-08-15 华为技术有限公司 一种电子设备、电子设备的启动方法及bios升级方法
CN101308470A (zh) * 2007-05-17 2008-11-19 华硕电脑股份有限公司 主动恢复、备份及更新bios的电脑系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11194934A (ja) * 1997-12-26 1999-07-21 Canon Inc 情報処理方法及びその装置
US6671768B1 (en) * 1999-11-01 2003-12-30 Apple Computer, Inc. System and method for providing dynamic configuration ROM using double image buffers for use with serial bus devices
US7073053B1 (en) * 2001-10-11 2006-07-04 Cisco Technology, Inc. Method and apparatus for a boot progression scheme for reliably initializing a system
TWI241522B (en) * 2001-12-14 2005-10-11 Mitac Technology Corp Computer equipment
CA2369228A1 (en) 2002-01-24 2003-07-24 Alcatel Canada Inc. System and method for managing configurable elements of devices in a network element and a network
US7143275B2 (en) * 2002-08-01 2006-11-28 Hewlett-Packard Development Company, L.P. System firmware back-up using a BIOS-accessible pre-boot partition
US7337309B2 (en) * 2003-03-24 2008-02-26 Intel Corporation Secure online BIOS update schemes
JP4736370B2 (ja) * 2004-07-27 2011-07-27 株式会社日立製作所 ホスティング環境構築方法および計算機システム
JP4859465B2 (ja) * 2006-01-11 2012-01-25 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 ソフトウェア更新方法および移動端末装置
US7676671B2 (en) 2006-10-31 2010-03-09 Hewlett-Packard Development Company, L.P. System for multi-profile boot selection of an embedded device
US8122447B2 (en) 2007-07-31 2012-02-21 Hewlett-Packard Development Company, L.P. Firmware installation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04167139A (ja) * 1990-10-31 1992-06-15 Nec Corp プログラムダウンロード方式
JPH11306007A (ja) * 1998-04-24 1999-11-05 Nec Corp Bios書き換え方法及び方式
JP2000357093A (ja) * 1999-06-16 2000-12-26 Toshiba Corp コンピュータシステムおよび不揮発性メモリの書き換え方法
CN1811707A (zh) * 2005-01-25 2006-08-02 英业达股份有限公司 自动更新及备份bios的方法
CN101017441A (zh) * 2007-02-27 2007-08-15 华为技术有限公司 一种电子设备、电子设备的启动方法及bios升级方法
CN101308470A (zh) * 2007-05-17 2008-11-19 华硕电脑股份有限公司 主动恢复、备份及更新bios的电脑系统

Also Published As

Publication number Publication date
GB201118768D0 (en) 2011-12-14
BRPI0924133B1 (pt) 2021-09-28
US8850173B2 (en) 2014-09-30
US20120023322A1 (en) 2012-01-26
JP5367159B2 (ja) 2013-12-11
KR101546118B1 (ko) 2015-08-20
KR20120027179A (ko) 2012-03-21
CN102422265A (zh) 2012-04-18
GB2481772B (en) 2014-06-25
GB2481772A (en) 2012-01-04
WO2010126505A1 (en) 2010-11-04
BRPI0924133A2 (pt) 2020-08-11
JP2012525628A (ja) 2012-10-22
DE112009004563T5 (de) 2012-07-05

Similar Documents

Publication Publication Date Title
CN102422265B (zh) Bios映像管理器
CN101821727B (zh) 管理更新以创建虚拟机复制品
US8171141B1 (en) Provisioning system including stack manager
CN1273891C (zh) 最小单位地更新多个文件的方法
US20060161605A1 (en) Data management system, a data management apparatus, a data management method, a data supplying system, and a computer-readable recording medium with a program recorded therein
US9104574B2 (en) System and method for software application remediation
US9665496B2 (en) Non-volatile memory write mechanism
US20060200500A1 (en) Method of efficiently recovering database
CN106020837A (zh) 一种加载机顶盒驱动的方法及系统
CN104969181A (zh) 损坏的驱动器变量记录的替换
US20140046902A1 (en) Method for a cloning process to enable cloning a larger System drive to a smaller system
CN110119386B (zh) 数据处理方法、数据处理装置、介质和计算设备
US7680980B2 (en) Image forming apparatus
US20110320593A1 (en) Equipment managing apparatus, equipment managing method, and computer-readable storage medium
US20080250402A1 (en) Systems And Methods For Updating Field Replaceable Units
CN114995749A (zh) 一种用于嵌入式设备的参数存储方法
US11630742B2 (en) System and method of performing recovery using a backup image
CN112732280A (zh) 一种计算机用户个人习惯数据管理系统
US20060069883A1 (en) Directory server and data processing method in directory server
CN114297000B (zh) 一种数据备份方法、装置、设备及存储介质
CN113342751B (zh) 元数据处理方法、装置、设备和可读存储介质
US11385826B2 (en) Method, electronic device and computer program product for restoring orphan block via replication
CN110471620B (zh) 一种闪存的数据引导方法和装置以及设备
CN117215602A (zh) 驱动程序更新方法、装置、计算机设备和存储介质
CN116301942A (zh) 一种利旧方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant