CN105917306A - 系统固件配置数据 - Google Patents
系统固件配置数据 Download PDFInfo
- Publication number
- CN105917306A CN105917306A CN201480073859.3A CN201480073859A CN105917306A CN 105917306 A CN105917306 A CN 105917306A CN 201480073859 A CN201480073859 A CN 201480073859A CN 105917306 A CN105917306 A CN 105917306A
- Authority
- CN
- China
- Prior art keywords
- configuration data
- firmware configuration
- system firmware
- calculating
- instruction
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 68
- 230000008569 process Effects 0.000 claims abstract description 55
- 230000008859 change Effects 0.000 claims abstract description 24
- 238000012360 testing method Methods 0.000 claims abstract description 6
- 238000012545 processing Methods 0.000 claims description 18
- 238000012546 transfer Methods 0.000 claims description 10
- 238000009434 installation Methods 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000009471 action Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 206010020675 Hypermetropia Diseases 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000000246 remedial effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 101001042125 Eisenia hortensis Chymotrypsin inhibitor Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2284—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
在本公开的一个示例中,提供了一种计算系统。计算系统用于发起上电自测试(POST)过程,确定已经对系统固件配置数据做出改变,启动定时器,以及确定定时器已期满。然后,计算系统用于使计算系统断电和上电,用备份系统固件配置数据取代当前系统固件配置数据,和/或生成指示系统固件配置数据已被恢复的通知。
Description
背景技术
上电自测试(POST)是在系统上电后由计算系统(例如,膝上型计算机或桌面型计算机)执行的过程。POST过程可由系统的基本输入/输出系统(BIOS)或统一可扩展固件接口(UEFI)来处理,并且可以包括执行内部诊断测试以确定该系统的部件是否正常工作的例程。一旦POST过程已成功完成,系统的操作控制就转移给引导源(例如,引导加载器)以便加载主操作系统(OS)或运行时间环境。
附图说明
示例在下面的详细描述中并参考附图进行描述,其中:
图1(a)描绘根据本公开的一个方面的用于从POST挂起故障自动恢复的示例过程流程图;
图1(b)描绘根据本公开的一个方面的用于从POST挂起故障自动恢复的示例过程流程图的另一方面;
图1(c)描绘根据本公开的一个方面的用于从POST挂起故障自动恢复的示例过程流程图的再另一方面;
图2描绘根据本公开的一个方面的计算系统;和
图3描绘根据本公开的另一方面的用于从POST挂起故障自动恢复的另一示例过程流程图。
符号和命名
某些术语贯穿以下的描述和权利要求被用来指代特定系统部件。如本领域技术人员将理解的,计算机公司可以通过不同的名称来指代各部件。本文献不意图区分名称不同但功能相同的部件。在下面的讨论中和在权利要求中,术语“包括”和“包含”以开放的方式被使用,并且由此应当被解释为表示“包括,但不限于……”。此外,术语“耦合”意图表示间接或直接连接。因此,如果第一设备耦合到第二设备,则该连接可以通过直接电连接或机械连接,通过经由其它设备和连接的间接电连接或机械连接,通过光电连接,或通过无线电连接。
另外,术语“系统固件配置数据”意图指代系统固件的当前/先前设置。例如,当系统固件包括BIOS或UEFI时,系统固件配置数据指代BIOS/UEFI的当前/先前设置。这样的BIOS/UEFI设置可以是用户可配置的,并且可以包括例如安全配置设置、硬件配置设置、和/或系统配置设置。更确切地说,这样的BIOS/UEFI设置可以包括例如控制器仿真模式设置、盖锁(cover lock)控制设置、盖传感器(cover sensor)策略管理设置、设备控制设置(例如,TPM、系统音频控制器、网络控制器、SATA端口等)、USB端口控制设置、PCI/ PCI-e插槽控制设置、数据执行阻止控制设置、VTx控制设置、VTd控制设置、TPM管理策略设置、传统/UEFI控制设置、安全引导控制设置、安全引导密钥管理设置、快速引导控制设置、CPU电源管理策略设置、SATA电源管理设置、PCI-e电源管理设置、ACPI S5最大省电模式设置、POST UI显示策略设置、PMM存储器分配策略设置、默认机载设备资源分配设置、CPU睿频(Turbo)模式设置、主视频指定设置、USB EHCI端口调试控制设置、USB 3.0 BIOS驱动器控制设置、多处理器控制设置、超线程控制设置、英特尔AMT控制设置、选项ROM启动策略设置、和/或基于网络的BIOS更新控制和策略设置。
鉴于以上描述,应当理解的是,“系统固件配置数据”指代系统固件(例如,BIOS/UEFI)而不是系统固件代码的当前/先前设置。这些设置可以是可由用户经由配置实用程序来配置的,以改变例如安全配置、硬件配置和/或系统配置。
除了上面的描述,术语“操作控制”意图指代当前正在控制计算系统的操作的实体(例如,BIOS、UEFI和/或引导加载器)。
此外,术语“引导源”意图指代加载另一程序的程序。引导源可以是例如加载主操作系统或运行时间环境的引导加载器。
具体实施方式
下面的讨论涉及本公开的各种示例。尽管这些示例中的一个或多个可能是优选的,但所公开的示例不应被解释为或以其他方式用作限制本公开(包括权利要求)的范围。此外,本领域技术人员将理解,以下描述具有广泛的应用,并且对任何示例的讨论仅仅意图描述该示例,并且不意图暗示本公开(包括权利要求)的范围被限于该示例。
如上所述,当POST过程成功完成时,计算系统的操作控制可以被转移给引导源(例如,用于加载主操作系统(OS)的引导加载器)。不幸的是,这并不总是发生,并且POST过程可能由于种种原因而“挂起”,并阻止系统把控制转移给引导源。发生这种情况的一个典型原因是因为用户已经改变了系统固件配置数据(例如,BIOS/UEFI设置),并且这些改变导致系统无法成功完成POST过程。例如,用户可能已经修改了CPU睿频模式设置、SATA电源管理设置或系统固件配置数据的另一方面,并且这些改变可能已经阻止系统成功完成POST过程。换句话说,用户对BIOS/UEFI设置所做的改变导致系统在POST过程期间挂起。结果是,控制未被转移到引导源,并且这可能已经有效地消除了计算机系统的有用性,并且进一步可能已经减损了计算机系统的质量和可靠性的用户感知。
当面对上述POST问题时,用户通常被留有各种不期望的和麻烦的校正选项。例如,用户可以尝试手动撤消对系统固件配置数据所作的改变,但是这是费时的,并且在许多情况下,POST挂起发生在计算机设置或配置实用程序可以启动之前,所以用户无法访问界面以撤销违规的改变。在其它情况下,用户可以尝试恢复到默认系统固件配置数据设置,通过例如当按下电源按钮时按下专门的按键组合,按下主板上的按钮,和/或使主板上的管脚短路。然而,这些动作通常需要超出平均用户的知识的知识,并可能需要用户打开机箱。此外,可能无法保证这些动作起作用,因为一些设置一旦被改变则不可以被恢复,即使在默认设置被触发时。
本公开的各方面试图通过提供一种自动恢复方法以解决POST挂起故障来解决至少上述问题。更具体地,本公开的各方面提供了一种新颖的和先前未预见的解决方案,它从POST挂起故障自动恢复,而不需要用户执行补救动作或具有导致故障的改变的明确知识。结果是,涉及这些类型的问题的服务事件的数量可以被减少,并且因此减少援助呼叫、技术人员部署和/或系统返回的数量,所有这些都节省计算机系统制造商和/或使用该系统的公司的时间和费用。本公开的这个和其它方面参照各个附图和示例在下面被讨论。
在根据本公开的一个示例中,提供了一种计算系统。计算系统包括:处理设备;和机器可读介质,编码有可由处理设备执行的指令。机器可读介质包括:(i)用于发起POST过程的指令,(ⅱ)用于确定已经对系统固件配置数据做出改变的指令,(ⅲ)用于启动定时器的指令,(ⅳ)用于确定定时器已期满的指令,以及(v)用于以下各项操作中的至少一项的指令:(a)使计算系统断电和上电,(b)用备份系统固件配置数据取代当前系统固件配置数据,以及(c)生成指示系统固件配置数据已被恢复的通知。
在根据本公开的另一示例中,提供了一种用于控制计算系统的方法。该方法包括:发起POST过程;和通过比较当前系统固件配置数据与备份系统固件配置数据来确定已经对系统固件配置数据做出改变。该方法还包括启动定时器,继续POST过程,和在把计算系统的操作控制转移到引导源之前停止定时器。此后,该方法包括:用当前系统固件配置数据取代备份系统固件配置数据,以及把计算系统的操作控制转移到引导源。
在根据本公开的再另一示例中,提供了一种非临时性机器可读介质。该非临时性机器可读介质包括指令,所述指令在被执行时使得计算系统确定已经对系统固件配置数据做出改变并启动定时器。如果在把计算系统的操作控制转移到引导源之前定时器尚未期满,则该指令在把计算系统的操作控制转移到引导源之前使得计算系统停止定时器,用当前系统固件配置数据取代备份系统固件配置数据,以及把计算系统的操作控制转移到引导源。在另一方面,如果在把计算系统的操作控制转移到引导源之前定时器已经期满,则所述指令使得所述计算系统实施以下操作中的至少一个:使计算系统断电和上电,用备份系统固件配置数据取代当前系统固件配置数据,以及生成指示系统固件配置数据已被恢复的通知。
现在看各附图,图1(a)-1(c)描绘根据本公开的一个方面的用于从POST挂起故障自动恢复的示例过程流程图100。应当显而易见的是,图1(a)-1(c)(以及图3)中所描绘的过程表示一般化的说明,并且在不脱离本公开的范围和精神的情况下,其他过程可以被添加或者现有过程可以被去除、修改或重新布置。另外,应该理解的是,这些过程可以表示存储在存储器(例如,闪速存储器设备)上的可执行指令,该可执行指令可以使得计算系统和/或处理设备做出响应,以执行动作,改变状态,和/或做出决定。因此,所描述的过程可以被实现为由与计算系统相关联的存储器提供的可执行指令和/或操作。替代或附加地,这些过程可以表示由功能等效电路(如专用集成电路(ASIC)或与计算系统相关联的其它逻辑设备)执行的功能和/或动作。此外,图1(a)-1(c)(以及图3)不意图限制所描述的过程的实现方式,而是这些附图图示本领域技术人员能够用来设计/制造电路、生成机器可读指令(例如,软件、固件等)或使用硬件和软件的组合来执行图示的过程的功能信息。
过程100开始于框102,其中该计算系统确定是否存在备份系统固件配置数据。在一些示例中,该过程可以包括计算系统的BIOS/UEFI,用于确定是否存在备份系统固件配置数据。此外,在一些示例中,可以在BIOS/UEFI确定它能够创建和更新非易失性变量之后发生这一过程。换句话说,可以在BIOS/UEFI确定非易失性写入服务可用之后发生这一过程。这样的动作可以是计算系统的POST过程的一部分。
在框104,响应于确定备份系统固件配置数据不存在,该计算系统将当前系统固件配置数据保存作为备份系统固件配置数据。在示例中,该过程包括:计算系统的BIOS/UEFI把当前系统固件配置数据的备份副本保存在非易失性存储器中。然后,在110处的框,该计算系统继续POST过程。
相比之下,在框106,并且响应于确定备份系统固件配置数据确实存在,所述计算系统确定自上次成功引导以来是否已对系统固件配置数据做出改变。这可以例如由计算系统比较当前系统固件配置数据与备份系统固件配置数据来实现。如果计算系统确定尚未对系统固件配置数据做出改变(即,当前系统固件配置数据与备份系统固件配置数据匹配),则在框110计算系统继续POST过程。在另一方面,如果计算系统确定已对系统固件配置数据做出改变(即,当前系统固件配置数据与备份系统固件配置数据不匹配),则在框110中继续POST过程之前,该计算系统在框108启动定时器。该定时器可以是例如看门狗定时器(WDT)。
继续过程100并且现在参照图1(b),计算系统在框112确定预引导用户界面(UI)是否即将启动。预引导UI可以包括例如启动菜单UI、计算机设置UI、引导菜单UI、选项ROM UI、和/或系统固件物理存在提示UI。如果预引导UI不即将被启动,则在框120计算系统继续POST过程。相比之下,如果做出如下确定:预引导UI即将被启动,则在框114定时器被暂停并且在框116预引导UI被启动。换句话说,在计算系统的BIOS/UEFI启动任何预引导界面之前,定时器被暂停。此后,一旦预引导UI过程完成,在框118定时器被恢复,并且在框120 POST过程继续。
继续过程100并且现在参照图1(c),在框122,计算系统确定它是否即将把控制转移到引导源(例如,引导加载器)。这可以包括例如:BIOS/UEFI确定它是否即将执行来自任何潜在引导源的代码。如果答案是肯定的,则这通常表示POST过程在当前系统固件配置数据的情况下成功地完成,并且因此,在框124定时器被停止,并且在框126备份系统固件配置数据被当前系统固件配置数据取代,因为它没有触发POST挂起。此后,在框128,操作控制被转移到引导源(例如,引导加载器)。
相比之下,如果计算系统不即将把控制转移到引导源,并且在框130定时器期满,则这通常表示POST过程在当前系统固件配置数据的情况下未成功完成。这可能例如因为对系统固件配置数据的改变导致POST挂起而发生。在这种情况下,计算系统继续进行检查在热或冷启动(boot)时定时器是否期满。更具体地,在框132计算系统检查它是否从断电状态恢复。如果计算系统不是从断电状态恢复,则在框134计算系统强制断电和上电重新启动(例如BIOS/UEFI强制冷重新启动),并且一旦系统重新启动,过程就在框102恢复。
在另一方面,如果计算系统从断电状态恢复,则这通常表示在当前系统固件配置数据的情况下存在问题,并且因此,在框136,计算系统自动用备份系统固件配置数据取代当前系统固件配置数据。也就是说,该计算系统恢复推测起来不会导致POST挂起的备份系统固件配置数据。随后,在框138,该计算系统对指示系统固件配置数据已被恢复的通知(例如,Windows管理接口(WMI)事件)进行排队。该通知可以被显示在计算系统上和/或被发送到远程计算系统(立即或在下次重新启动期间)。在框140,计算系统强制重新启动(即热重新启动)。
上述过程100提供了一种自动恢复过程,用于解决POST挂起故障。更具体地,上述过程从POST挂起故障自动恢复,而不需要用户执行补救动作或具有导致故障的改变的明确知识。结果是,关于这些类型的问题的服务事件的数量可以被减少。
现在转到图2,该图描绘了根据本公开的一个方面的计算系统200。该计算系统可以是例如桌面计算机、工作站、膝上型计算机、科学仪器、游戏设备、平板电脑、AiO桌面计算机、电视、混合膝上型计算机、可拆卸平板电脑/膝上型计算机、服务器、零售点、或类似的计算系统。系统200包括处理设备210、非临时性机器可读介质以及通信总线230。应该显而易见的是,系统200是一般化的说明,并且在不脱离本公开的范围的情况下,其它元件可以被添加,或现有元件可以被移除、修改或重新布置。例如,系统200可以包括计算系统通用的其他部件,诸如例如,网络接口、用户界面、风扇、光驱、电源、主板或类似物。
处理设备210可以是例如如下各项中至少一项:中央处理单元(CPU)、基于半导体的微处理器、图形处理单元(GPU)、和/或布置为取回并执行存储在机器可读存储介质220上的指令的另一处理设备。换句话说,处理设备210可以取回、解码、并执行存储在机器可读存储介质220上的指令以实现以上和以下描述的功能。
机器可读存储介质220可以对应于存储机器可读指令(诸如编程代码、软件、固件等)的任何典型存储设备。例如,非临时性机器可读介质220可以包括以下各项中的一项或多项:非易失性存储器、易失性存储器和/或存储设备。非易失性存储器的示例包括但不限于电可擦除可编程只读存储器(EEPROM)和闪速存储器。易失性存储器的示例包括但不限于静态随机存取存储器(SRAM)及动态随机存取存储器(DRAM)。存储设备的示例包括但不限于硬盘驱动器、压缩盘读/写驱动器、数字通用盘驱动器、光学读/写设备和闪速存储器设备。在一些实施例中,所述指令可以是能够由处理设备210来执行的安装包的一部分。在这种情况下,非临时性机器可读介质220可以是便携式介质,诸如CD-RW盘、DVD-RW盘、闪速驱动器、或由服务器保持的存储器,安装包可以从该服务器被下载并安装。在另一个实施例中,指令可以是已安装的应用的一部分。
除了其他方面,机器可读介质220还可以存储备份系统固件配置数据240、当前系统固件配置数据250以及POST和定时器处理指令260。如所提到的,备份系统固件配置数据240可以是系统固件配置数据的保存版本,如果当前固件配置数据250导致POST挂起,则可能被恢复到该保存版本。这可以包括备份系统固件配置数据240,诸如安全配置设置(例如,盖锁控制、盖传感器策略管理、嵌入式安全设备控制、安全引导等)、硬件配置设置(例如SATA仿真、USB端口控制、CPU睿频模式、SATA电源管理、PCI-e电源管理等)、和/或系统配置设置(例如传统支持(legacy support)、快速引导、USB 3.0 BIOS驱动器控制、选项ROM启动策略、AMT控制、POST延迟设置等)。
如上所述,如果当前系统固件配置数据250未导致POST挂起,则当前系统固件配置数据250可以被保存作为备份系统固件配置数据240。当前系统固件配置数据250可以包括与上面关于备份系统固件配置数据250提到的相同的数据。另外,应该理解的是,在一些情况下,备份系统固件配置数据240和当前系统固件配置数据250是相同的,而在其他情况下,备份系统固件配置数据240和当前系统固件配置数据250是不同的。此外,应该理解的是,在各个示例中,机器可读介质可以被写入和读取。例如,系统固件配置数据可以从机器可读介质被读取以及被写入到机器可读介质。
转向POST和定时器处理指令260,这些指令当由处理设备210执行时可以使得所述计算系统执行上述功能,以在必要时从POST挂起故障自动恢复。例如,POST和定时器处理指令260可以包括:(i)用于发起POST过程的指令,(ⅱ)用于确定已经对系统固件配置数据做出改变的指令,(ⅲ)用于启动定时器的指令,(ⅳ)用于确定定时器已期满的指令,以及(v)用于进行以下各项操作中的至少一项的指令:(a)使计算系统断电和上电,(b)用备份系统固件配置数据取代当前系统固件配置数据,以及(c)生成指示系统固件配置数据已被恢复的通知。
在另一示例中,POST和定时器处理指令260可以包括:(i)用于确定已经对系统固件配置数据做出改变的指令;以及(ii)用于启动定时器的指令。 POST和定时器处理指令260还可以包括:(ⅲ)用于如果在把计算系统的操作控制转移到引导源之前定时器尚未期满则进行如下操作的指令:(a)在把计算系统的操作控制转移给引导源之前停止定时器,(b)用当前系统固件配置数据取代备份系统固件配置数据,以及(c)把计算的操作控制转移给引导源。相比之下,POST和定时器处理指令260还可包括:(ⅲ)用于如果在把计算系统的操作控制转移给引导源之前定时器已经期满则实施如下各操作中至少一个的指令:(a)使计算系统断电和上电,(b)用备份系统固件配置数据取代当前系统固件配置数据,以及(c)生成指示系统固件配置数据已被恢复的通知。
现在来看图3,该图描绘了根据本公开的另一方面的用于从POST挂起故障自动恢复的示例过程流程图300。如所提到的,该过程可以响应于处理设备执行存储在机器可读介质(诸如闪速存储器设备)上的指令而被触发。此外,该指令可以是存储在闪速存储器设备上的BIOS/UEFI指令的一部分,当所述计算系统被初始化时执行该部分。
过程300可开始于框310,其中计算系统发起上电自测试(POST)过程。在框320,计算系统确定已经对系统固件配置数据做出改变。这可以例如通过比较当前系统固件配置数据与备份系统固件配置数据来完成。此后,在框330,该计算系统启动定时器(例如,WDT)。然后,在框340计算系统继续POST过程。在把计算系统的操作控制转移到引导源之前,该计算系统停止定时器。然后,在框360,该计算系统用当前系统固件配置数据取代备份系统固件配置数据。之后,在框370,该计算系统把计算系统的操作控制转移到引导源。因此,由于该计算系统在当前系统固件配置数据情况下成功地完成了POST过程,所以该数据被保存作为备份数据,以防万一该计算系统响应于触发POST挂起的另外设置改变而需要向回恢复到这些成功的设置。
尽管上述公开已经参考上述示例被示出并描述,但应该理解的是,在不脱离在所附权利要求中所定义的本公开的精神和范围的情况下可以进行其它形式、细节和实现方式。此外,应该理解的是,本公开提供了一种新颖的和以前未预见的方法,用于在这些改变导致POST挂起时使这些改变自动反转到系统固件配置数据。除其他事项外,这种方法可以减少与这些类型的POST问题有关的服务事件的数量。
Claims (15)
1.一种计算系统,包括:
处理设备;和
机器可读介质,编码有可由处理设备执行的指令;其中机器可读介质包括:
用于发起上电自测试(POST)过程的指令,
用于确定已对系统固件配置数据做出改变的指令,
用于启动定时器的指令,
用于确定定时器已期满的指令,以及
用于进行以下各项操作中的至少一项的指令:
使计算系统断电和上电,
用备份系统固件配置数据取代当前系统固件配置数据,以及
生成指示系统固件配置数据已被恢复的通知。
2.根据权利要求1所述的计算系统,其中机器可读介质是闪速存储器设备。
3.根据权利要求1所述的计算系统,其中所述通知被进行以下各项操作中至少一项:在计算系统上显示和发送给远程计算系统。
4.根据权利要求1所述的计算系统,其中用于确定已对系统固件配置数据做出改变的指令包括:用于比较当前系统固件配置数据与备份系统固件配置数据的指令。
5.根据权利要求1所述的计算系统,其中系统固件配置数据包括如下各项中至少一项:安全配置设置、硬件配置设置、和系统配置设置。
6.一种用于控制计算系统的方法,包括:
发起上电自测试(POST)过程;
通过比较当前系统固件配置数据与备份系统固件配置数据来确定已对系统固件配置数据做出改变;
启动定时器;
继续POST过程;
在把计算系统的操作控制转移给引导源之前停止定时器;
用当前系统固件配置数据取代备份系统固件配置数据;以及
把计算系统的操作控制转移到引导源。
7.根据权利要求6所述的方法,其中所述系统固件包括基本输入/输出系统(BIOS)或统一可扩展固件接口(UEFI)。
8.根据权利要求6所述的方法,其中所述系统固件配置数据包括如下各项中的至少一项:安全配置设置、硬件配置设置、和系统配置设置。
9.根据权利要求6所述的方法,其中引导源包括引导加载器。
10.根据权利要求6所述的方法,还包括:
如果预引导用户界面(UI)过程即将启动,则暂停定时器;和
一旦预引导UI过程完成,则恢复定时器。
11.根据权利要求6所述的方法,其中预引导UI过程包括如下各项中至少一项:启动菜单UI、计算机设置UI、引导菜单UI、选项ROM UI、和系统固件物理存在提示UI。
12.一种非临时性机器可读介质,包括指令,这些指令在被执行时使计算系统执行如下操作:
确定已经对系统固件配置数据做出改变;
启动定时器;
如果在把计算系统的操作控制转移给引导源之前定时器尚未期满,则
在把计算系统的操作控制转移给引导源之前停止定时器,
用当前系统固件配置数据取代备份系统固件配置数据,以及
把计算系统的操作控制转移给引导源;以及
如果在把计算系统的操作控制转移给引导源之前定时器已经期满,则实施以下操作中的至少一个:
使计算系统断电和上电,
用备份系统固件配置数据取代当前系统固件配置数据,以及
生成指示系统固件配置数据已被恢复的通知。
13.根据权利要求12所述的非临时性机器可读介质,其中所述系统固件包括基本输入/输出系统(BIOS)或统一可扩展固件接口(UEFI)。
14.根据权利要求12所述的非临时性机器可读介质,其中所述指令在被执行时使得所述计算系统通过比较当前系统固件配置数据与备份系统固件配置数据来确定已经对系统固件配置数据做出改变。
15.根据权利要求12所述的非临时性机器可读介质,其中所述系统固件配置数据包括如下各项中至少一项:安全配置设置、硬件配置设置、和系统配置设置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2014/012455 WO2015112128A1 (en) | 2014-01-22 | 2014-01-22 | System firmware configuration data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105917306A true CN105917306A (zh) | 2016-08-31 |
CN105917306B CN105917306B (zh) | 2020-04-10 |
Family
ID=53681771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480073859.3A Expired - Fee Related CN105917306B (zh) | 2014-01-22 | 2014-01-22 | 用于配置系统固件配置数据的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10289399B2 (zh) |
EP (1) | EP3097477B1 (zh) |
CN (1) | CN105917306B (zh) |
WO (1) | WO2015112128A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108418720A (zh) * | 2018-04-24 | 2018-08-17 | 深圳市菲菱科思通信技术股份有限公司 | 一种路由设备配置信息的恢复方法、装置以及路由设备 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5889933B2 (ja) * | 2014-02-15 | 2016-03-22 | レノボ・シンガポール・プライベート・リミテッド | コンピュータの動作不良を防止する方法、コンピュータ・プログラムおよびコンピュータ |
US9813292B2 (en) | 2014-12-17 | 2017-11-07 | Upguard, Inc. | Network node policy generation and implementation |
US10084653B2 (en) | 2015-09-30 | 2018-09-25 | Upguard, Inc. | Differential node configuration for network maintenance |
US20180081666A1 (en) * | 2016-03-11 | 2018-03-22 | Oleksii Surdu | Reliable and Secure Firmware Update for Internet of Things (IoT) Devices |
CN107748665A (zh) * | 2017-09-06 | 2018-03-02 | 中国航空工业集团公司西安飞行自动控制研究所 | 一种适用于水下惯导设备的软件升级方法 |
CN110069361B (zh) * | 2018-01-24 | 2023-12-01 | 联想企业解决方案(新加坡)有限公司 | 用于tpm故障切换的方法和装置 |
EP3742295A1 (en) * | 2019-05-23 | 2020-11-25 | NXP USA, Inc. | Automatic firmware rollback |
CN110308952B (zh) * | 2019-06-28 | 2022-04-15 | 兆讯恒达科技股份有限公司 | 一种嵌入式操作系统启动过程中配置检查的方法 |
CN111488168B (zh) * | 2019-12-25 | 2023-09-12 | 湖北航天飞行器研究所 | 一种基于boot二次加载的武器系统控制软件安全升级方法 |
EP4104385A4 (en) * | 2020-02-14 | 2023-11-01 | ARRIS Enterprises LLC | SYSTEMS AND PROCEDURES FOR MODEM CONFIGURATION AND ROLLBACK |
US11599436B2 (en) * | 2021-03-02 | 2023-03-07 | Dell Products L.P. | Systems and methods for repairing corruption to BIOS boot critical memory variables |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6647512B1 (en) * | 2000-09-29 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Method for restoring CMOS in a jumperless system |
CN101814035A (zh) * | 2008-11-19 | 2010-08-25 | 英特尔公司 | 允许快速平台重启的方法和系统 |
WO2013147915A1 (en) * | 2012-03-31 | 2013-10-03 | Intel Corporation | Method and system for verifying proper operation of a computing device after a system change |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822581A (en) * | 1995-09-29 | 1998-10-13 | Intel Corporation | Method for CMOS configuration information storage and retrieval in flash |
US5793943A (en) | 1996-07-29 | 1998-08-11 | Micron Electronics, Inc. | System for a primary BIOS ROM recovery in a dual BIOS ROM computer system |
US5978912A (en) | 1997-03-20 | 1999-11-02 | Phoenix Technologies Limited | Network enhanced BIOS enabling remote management of a computer without a functioning operating system |
TW446864B (en) | 1999-05-11 | 2001-07-21 | Micro Star Int Co Ltd | Automatic BIOS backup method |
US6757838B1 (en) * | 2000-10-13 | 2004-06-29 | Hewlett-Packard Development Company, L.P. | Hardware independent implementation of computer system BIOS recovery |
US6715106B1 (en) | 2000-11-10 | 2004-03-30 | Dell Products L.P. | Bios corruption detection system and method |
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 |
US7322029B2 (en) | 2003-05-08 | 2008-01-22 | American Megatrends, Inc. | Method and system for recovering program code in a computer system |
TWI289752B (en) * | 2003-05-20 | 2007-11-11 | Via Tech Inc | Method for saving the BIOS in CMOS memory into DMI section |
US20040255106A1 (en) * | 2003-06-10 | 2004-12-16 | Rothman Michael A. | Recovery of operating system configuration data by firmware of computer system |
US8140475B1 (en) | 2004-02-26 | 2012-03-20 | Netapp, Inc. | Dynamic configuration archival and retrieval |
CN100390737C (zh) | 2005-01-25 | 2008-05-28 | 英业达股份有限公司 | 自动更新及备份bios的方法 |
US7426633B2 (en) * | 2005-05-12 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | System and method for reflashing disk drive firmware |
US8776037B2 (en) * | 2007-01-04 | 2014-07-08 | International Business Machines Corporation | Apparatus and method to update multiple devices disposed in a computing system |
JP2008225858A (ja) * | 2007-03-13 | 2008-09-25 | Nec Corp | Biosストール障害時の復旧装置、その方法及びそのプログラム |
JP2008276555A (ja) * | 2007-04-27 | 2008-11-13 | Toshiba Corp | 情報処理装置、およびファームウェア更新方法 |
US8082439B2 (en) * | 2007-12-06 | 2011-12-20 | Hewlett-Packard Development Company, L.P. | Firmware modification in a computer system environment supporting operational state changes |
US8078856B1 (en) * | 2007-12-07 | 2011-12-13 | American Megatrends, Inc. | Power-on self-test data notification |
US20090222804A1 (en) * | 2008-02-29 | 2009-09-03 | Illinois Tool Works, Inc. | Embedded firmware updating system and method |
TWI361382B (en) * | 2008-07-30 | 2012-04-01 | Pegatron Corp | Electronic apparatus and update bios method thereof |
JP2010170325A (ja) * | 2009-01-22 | 2010-08-05 | Nec Computertechno Ltd | 情報処理装置、ログ格納方法及びプログラム |
US8438423B1 (en) | 2009-03-31 | 2013-05-07 | American Megatrends, Inc. | Invalid setup recovery |
JP5346253B2 (ja) * | 2009-08-24 | 2013-11-20 | 株式会社日立ソリューションズ | ファームウェア更新システム、及び情報機器、並びにプログラム |
US8464038B2 (en) * | 2009-10-13 | 2013-06-11 | Google Inc. | Computing device with developer mode |
CN102419719A (zh) * | 2010-09-27 | 2012-04-18 | 鸿富锦精密工业(深圳)有限公司 | 电脑系统及电脑系统的开机方法 |
CN102446103A (zh) * | 2010-10-08 | 2012-05-09 | 鸿富锦精密工业(深圳)有限公司 | Bios刷新装置及利用其进行bios数据刷新的方法 |
US9146812B2 (en) * | 2012-02-03 | 2015-09-29 | Dell Products Lp | Systems and methods for out-of-band backup and restore of hardware profile information |
CN103513993A (zh) * | 2012-06-15 | 2014-01-15 | 鸿富锦精密工业(深圳)有限公司 | 固件更新系统及方法 |
TW201512831A (zh) * | 2013-09-30 | 2015-04-01 | Hon Hai Prec Ind Co Ltd | 電腦開機啟動偵測系統及方法 |
US9158628B2 (en) * | 2013-11-27 | 2015-10-13 | American Megatrends, Inc. | Bios failover update with service processor having direct serial peripheral interface (SPI) access |
-
2014
- 2014-01-22 EP EP14879666.7A patent/EP3097477B1/en active Active
- 2014-01-22 WO PCT/US2014/012455 patent/WO2015112128A1/en active Application Filing
- 2014-01-22 CN CN201480073859.3A patent/CN105917306B/zh not_active Expired - Fee Related
- 2014-01-22 US US15/110,915 patent/US10289399B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6647512B1 (en) * | 2000-09-29 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Method for restoring CMOS in a jumperless system |
CN101814035A (zh) * | 2008-11-19 | 2010-08-25 | 英特尔公司 | 允许快速平台重启的方法和系统 |
WO2013147915A1 (en) * | 2012-03-31 | 2013-10-03 | Intel Corporation | Method and system for verifying proper operation of a computing device after a system change |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108418720A (zh) * | 2018-04-24 | 2018-08-17 | 深圳市菲菱科思通信技术股份有限公司 | 一种路由设备配置信息的恢复方法、装置以及路由设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3097477B1 (en) | 2019-03-27 |
US20160335071A1 (en) | 2016-11-17 |
WO2015112128A1 (en) | 2015-07-30 |
CN105917306B (zh) | 2020-04-10 |
EP3097477A1 (en) | 2016-11-30 |
US10289399B2 (en) | 2019-05-14 |
EP3097477A4 (en) | 2017-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105917306A (zh) | 系统固件配置数据 | |
US10031736B2 (en) | Automatic system software installation on boot | |
CN107122321B (zh) | 硬件修复方法、硬件修复系统以及计算机可读取存储装置 | |
US9910664B2 (en) | System and method of online firmware update for baseboard management controller (BMC) devices | |
US9015458B2 (en) | Computer system and method for updating basic input/output system by switching between local mode and bypass mode through baseboard management controller | |
JP6132009B2 (ja) | システム変更後におけるコンピューティング装置の適切な動作を確認するための方法及びシステム | |
US9367446B2 (en) | Computer system and data recovery method for a computer system having an embedded controller | |
US20150081829A1 (en) | Out-of-band replicating bios setting data across computers | |
TW201610850A (zh) | 用於管理電腦系統中之基本輸入輸出系統組態之方法、管理裝置、及電腦可讀取媒體 | |
US11252191B2 (en) | Visual policy configuration and enforcement for platform security | |
US8954800B1 (en) | Recovery button for automatically entering recovery mode | |
US9047112B2 (en) | Installation of virtual service processor to computer system having existing operating system | |
US10289423B2 (en) | Management controller | |
US10824517B2 (en) | Backup and recovery of configuration files in management device | |
US20140365758A1 (en) | Techniques for booting an information processing system | |
TWI764454B (zh) | 韌體損壞恢復技術 | |
CN106528114B (zh) | 一种安卓固件应用装置和安卓固件升级方法 | |
CN107077343B (zh) | 忽略局域网唤醒引导中的输入 | |
CN113821265B (zh) | 操作系统控制方法、装置、计算机主板和可读存储介质 | |
CN111382009B (zh) | 系统自动维护方法与具有自动维护功能的计算机设备 | |
CN116235175A (zh) | 加速器卡安全模式的静态配置 | |
EP2691853B1 (en) | Supervisor system resuming control | |
CN106502847B (zh) | 服务器的诊断方法及装置 | |
TWI707228B (zh) | 系統自動維護方法與具自動維護功能的電腦設備 | |
WO2023277881A1 (en) | Instruction updates to hardware devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200410 |
|
CF01 | Termination of patent right due to non-payment of annual fee |