Bios映像管理器的制作方法

文档序号:6596427阅读:421来源:国知局
专利名称:Bios映像管理器的制作方法
BIOS映像管理器
背景技术
BIOS是一种用于机器的基本输入/输出系统。BIOS对机器的硬件组件和操作系统进行初始化和控制。当对BIOS执行更新、重新运行(roll back)、和/或恢复时,期望使用另一 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、BI0S管理器110、BI0S映像 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数据库(图幻来对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以及是否执行更新、重新运行、和/或恢复。在其他实施例中,标记指示在更新、重新运行的情况下何时选择相应
5BIOS和/或何时当前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管理器110继续搜索BIOS映像130以查找另一 BIOS映像用来替换当前BIOS,直到找到匹配的二进制签名并且重写当前BIOS。一旦当前BIOS被从BIOS映像130中选择的BIOS映像替换,则BIOS管理器110 确定所选择的BIOS映像将作为当前BIOS。另外,BIOS管理器110还确定当前BIOS是否为破坏。如果当前BIOS被破坏,则BIOS管理器110通过恢复回到分类为先前或默认的BIOS 映像来尝试恢复。一旦BIOS管理器110确定当前BIOS没有被破坏,则BIOS管理器110对当前BIOS标记一个成功标记。另外,BIOS管理器更新至少两个BIOS映像130的分类。在更新BIOS映像130的分类的过程中,BIOS管理器110修改分类要被更新的相应 BIOS映像130的头部(图幻。另外,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映像210被分类以及当前BIOS已被替换时至少两个BIOS映像210的分类被更新的流程图。如上所述,机器200的BIOS管理器对机器200可访问的BIOS映像210进行分类。另外,如上所述,机器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 日志M0。在一些实施例中,不使用成功标记250。在一个实施例中,BIOS日志240是存储在机器200上的文档或文件,其列出机器200可访问的BIOS映像210以及在机器200上的当前BIOS被替换之后的BIOS映像210的分类。另外,当机器200上的当前BIOS已被替换时,更新和/或重写BIOS日志M0。BIOS日志240存储在机器200可访问的存储装置上。如上所述,存储装置是耦合到机器200或包括在机器200中的内部或外部存储装置。此外,BIOS日志240被存储在存储BIOS映像210的存储装置的一个分区上。此外,BIOS日志MO由机器200的操作系统访问。操作系统访问BIOS日志240并且识别机器200可访问的BIOS映像210以及BIOS 映像210的分类。如果不存在BIOS日志240和/或没有可访问的BIOS日志M0,则操作系统访问存储了 BIOS映像210的分立分区并且扫描BIOS映像210的头部220以查找相应 BIOS映像210的分类。在一个实施例中,操作系统访问BIOS日志MO以识别分类为破坏的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
8映像,则当选择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数据库310中的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的硬盘驱动器、压缩盘、闪存盘、网络驱动器或任意其他形式的计算机可读介质存储和访问的软件应CN 102422265 A
说明书
7/8页
用程序。图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管理器在步骤610使用分类为新的BIOS映像来替换当前BIOS并且更新机器。如果当前BIOS没有标记了的更新标记,则 BIOS管理器还确定当前BIOS是否被破坏或者是否已请求了重新运行。如果当前BIOS是破坏的或者当前BIOS具有标记了的重新运行标记,则BIOS管理器在步骤620恢复回到先前 BIOS映像或默认BIOS映像。
1
另外,如上所述,在一个实施例中,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稳定性。
权利要求
1.一种用于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映像。
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映像进行重新分类。
12.根据权利要求11所述的计算机可读介质中的计算机可读程序,其中所述BIOS管理器还配置来在当前BIOS已标记了更新标记时使用分类为新的BIOS映像来替换当前BIOS。
13.根据权利要求11所述的计算机可读介质中的计算机可读程序,其中所述BIOS管理器还配置来在当前BIOS已标记了重新运行标记时恢复到分类为先前或默认的BIOS映像。
14.根据权利要求11所述的计算机可读介质中的计算机可读程序,其中所述BIOS管理器还配置来在当前BIOS或替换BIOS映像被确定为破坏时恢复到分类为先前或默认的BIOS映像。
15.根据权利要求14所述的计算机可读介质中的计算机可读程序,其中所述BIOS管理器还配置来删除或替换被分类为破坏的BIOS映像。
全文摘要
本发明公开了一种用于管理基本输入/输出系统(BIOS)映像的机器和方法。当对BIOS执行更新、重新运行、和/或恢复时,期望使用另一BIOS来替换该BIOS。本发明中的BIOS管理器根据机器可访问的BIOS映像的诸如当前、先前和/或破坏之类的状态来对机器可访问的BIOS映像进行分类。而且,BIOS管理器选择一个BIOS映像、使用所选择的BIOS映像来重写当前BIOS,并且在当前BIOS被替换时更新BIOS映像的分类。
文档编号G06F9/44GK102422265SQ200980159032
公开日2012年4月18日 申请日期2009年4月29日 优先权日2009年4月29日
发明者约翰·兰德里, 詹姆斯·卢克·蒙德沙恩 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1