CN108196868B - Bios升级方法和电子设备 - Google Patents
Bios升级方法和电子设备 Download PDFInfo
- Publication number
- CN108196868B CN108196868B CN201810262831.4A CN201810262831A CN108196868B CN 108196868 B CN108196868 B CN 108196868B CN 201810262831 A CN201810262831 A CN 201810262831A CN 108196868 B CN108196868 B CN 108196868B
- Authority
- CN
- China
- Prior art keywords
- boot
- block
- cpu
- storage location
- storage
- 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
Links
Images
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
- 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
- G06F9/4401—Bootstrapping
Abstract
本公开提供了一种BIOS升级方法,包括,从第一存储位置复制当前版本BIOS程序中的引导启动块至第二存储位置,在复制成功的情况下,允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块,加载新版本的BIOS程序中的引导启动块至所述第一存储位置,在加载成功的情况下,允许CPU执行所述第一存储位置的引导启动块而非所述第二存储位置的引导启动块。本公开还提供了一种电子设备。
Description
技术领域
本公开涉及一种BIOS升级方法和一种电子设备。
背景技术
BIOS(Basic lnput/Output System,基本输入输出系统)是一组被固化到计算机等电子设备中,为计算机设备提供最低级最直接的硬件控制的程序,在计算机系统中起着非常重要的作用。一般通过特定的写入程序实现BIOS的升级。BIOS的升级可以获得许多新功能,例如支持新频率和新类型的CPU,还可以解决旧版BIOS中的漏洞。但是,在BIOS的升级过程中,存在升级异常导致无法开机的情况。例如,升级过程中,电子设备意外掉电造成数据崩溃,而无法开机。
在现有技术中,通常采用两块SPI ROM解决升级异常导致无法开机的问题,一块SPI ROM做正常开机引导,另一块做升级异常的故障救援。该方法不仅需要耗费额外的成本,还需要繁琐的操作和设置,给用户带来极大的不便。
发明内容
本公开的一个方面提供了一种BIOS升级方法,包括,从第一存储位置复制当前版本BIOS程序中的引导启动块至第二存储位置,在复制成功的情况下,允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块,加载新版本的BIOS程序中的引导启动块至所述第一存储位置,在加载成功的情况下,允许CPU执行所述第一存储位置的引导启动块而非所述第二存储位置的引导启动块。
可选地,所述在复制成功的情况下,允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块包括,在复制成功的情况下,修改控制功能位的值,用于允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块,所述在加载成功的情况下,允许CPU执行所述第一存储位置的BIOS引导启动块而非所述第二存储位置的引导启动块包括,在加载成功的情况下,修改所述控制功能位的值,用于允许CPU执行所述第一存储位置的引导启动块而非所述第二存储位置的引导启动块,其中,所述控制功能位包括南桥控制寄存器中的至少一位。
可选地,所述第二存储位置的物理地址包括将所述第一存储位置的物理地址中的至少一位取反后的物理地址。
可选地,所述允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块包括,接收地址总线发送的第一存储位置的地址,将所述地址中的至少一位取反,获得所述第二存储位置的地址,基于所述第二存储位置的地址,获取所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块,以及将所述第二存储位置的引导启动块发送给CPU,由CPU执行所述第二存储位置的所述当前版本引导启动块而非所述第一存储位置的引导启动块。
可选地,所述方法还包括,加载所述新版本的BIOS程序中不同于所述引导启动块的其他内容至存储区域,其中,所述存储区域包含所述第二存储位置而非所述第一存储位置。
本公开的另一个方面提供了一种电子设备,包括存储器,CPU,以及控制芯片,其中,所述CPU从所述存储器的第一存储位置复制当前版本BIOS程序中的引导启动块至所述存储器的第二存储位置;在复制成功的情况下,所述控制芯片允许所述CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块,所述CPU加载新版本的BIOS程序中的引导启动块至所述第一存储位置,在加载成功的情况下,所述控制芯片允许CPU执行所述第一存储位置的引导启动块而非所述第二存储位置的引导启动块。
可选地,所述控制芯片包括南桥,其中,在复制成功的情况下,所述南桥允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块包括,在复制成功的情况下,修改控制功能位的值,用于允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块,以及在加载成功的情况下,所述南桥允许CPU执行所述第一存储位置的BIOS引导启动块而非所述第二存储位置的引导启动块包括,在加载成功的情况下,修改所述控制功能位的值,用于允许CPU执行所述第一存储位置的引导启动块而非所述第二存储位置的引导启动块,其中,所述控制功能位包括南桥控制寄存器中的至少一位。
可选地,所述第二存储位置的物理地址包括将所述第一存储位置的物理地址中的至少一位取反后的物理地址。
可选地,所述控制芯片允许CPU执行所述第二存储位置的BIOS 引导启动块而非所述第一存储位置的BIOS引导启动块包括,接收地址总线发送的第一存储位置的地址,将所述地址中的至少一位取反,获得所述第二存储位置的地址,基于所述第二存储位置的地址,获取所述当前版本BIOS引导启动块,以及将所述当前版本BIOS引导启动块发送给CPU,由CPU执行所述第二存储位置的所述当前版本 BIOS引导启动块。
可选地,所述CPU还执行,加载所述新版本的BIOS程序中不同于所述引导启动块的其他内容至存储区域,其中,所述存储区域包含所述第二存储位置而非所述第一存储位置。
本公开的另一方面提供了一种非易失性存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1A和图1B示意性示出了根据本公开实施例的BIOS升级方法的应用场景图;
图2示意性示出了根据本公开实施例的BIOS升级方法的流程图;
图3示意性示出了根据本公开实施例的允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块的流程图;
图4示意性示出了根据本公开另一实施例的BIOS升级方法的流程图;
图5A-图5C示意性示出了根据本公开实施例的BIOS升级方法的示意图;以及
图6示意性示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释 (例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和 C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A 和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
本公开的实施例提供了一种BIOS升级方法,包括从第一存储位置复制当前版本BIOS程序中的引导启动块至第二存储位置,在复制成功的情况下,允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块,加载新版本的BIOS程序中的引导启动块至所述第一存储位置,在加载成功的情况下,允许CPU执行所述第一存储位置的引导启动块而非所述第二存储位置的引导启动块。该方法能够保证在BIOS升级过程中,无论在任何时候出现例如掉电的异常情况,BIOS可实现自动救援,避免无法开机,并且该方法节省了制作主板的成本。
图1A和图1B示意性示出了根据本公开的实施例的BIOS升级方法的应用场景图。需要注意的是,图1A 和图 1B 所示仅为可以应用本公开实施例的示意图,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以存在其他形式。
如图1A所示,BIOS程序110包括引导启动块(BootBlock)111。该BIOS程序可以存储于SPI ROM(Serial Peripheral Interface read-only memory,串行只读存储器)中,例如引导启动块1111存储在物理地址为7FFF0000~7FFFFFFF的SPI ROM中的部分区域,物理地址 7FFF0000~7FFFFFFF对应的逻辑地址例如是图1A 和图 1B 中的 FFFF0000~FFFFFFFF位置。在机器语言中,一般根据逻辑地址访问操作数或指令,逻辑地址经过CPU转换成物理地址,从而获得对应的物理地址中的操作数或指令。
电子设备例如电脑,在BIOS升级过程中,存在升级异常的情况,如图1B所示,在刷写引导启动块未完成时,电子设备意外掉电造成数据的崩溃,导致电子设备无法启动。
现有技术,通常采用两块存储BIOS程序的SPI ROM解决升级异常导致无法开机的问题,一块SPI ROM做正常开机引导,另一块做升级异常的故障救援。这种不仅需要耗费额外的成本,还需要繁琐的操作和设置,给用户带来极大的不便。
为此,本公开提供了一种BIOS升级方法,该BIOS升级方法不需要增加额外的SPIROM,而且不需要复杂的操作,在BIOS升级异常的情况下,能够实现自动救援,避免了电子设备的无法开机。
下面结合图2-图4说明本公开的实施方式。
图2示意性示出了根据本公开的实施例的BIOS升级方法的流程图。
如图2所示,该方法包括操作S210~S240。
在操作S210,从第一存储位置复制当前版本BIOS程序中的引导启动块至第二存储位置。
在操作S220,在复制成功的情况下,允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块。
在操作S230,加载新版本的BIOS程序中的引导启动块至所述第一存储位置。
在操作S240,在加载成功的情况下,允许CPU执行所述第一存储位置的引导启动块而非所述第二存储位置的引导启动块。
该方法能够保证在BIOS升级过程中,无论在任何时候出现例如掉电的异常情况,BIOS可实现自动救援,避免无法开机,并且该方法节省制作主板的成本。
例如,在复制过程中,电子设备意外掉电,此时当前版本BIOS程序未被损坏,CPU依然可以执行第一存储位置的引导启动块。又例如,在加载新版本的BIOS程序时,电子设备意外掉电,CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块。当新版本的引导启动块加载成功,CPU执行所述第一存储位置的引导启动块而非所述第二存储位置的引导启动块,即CPU执行新版本的引导启动块。无论在何时出现BIOS升级异常,BIOS程序中总有一块完整的引导启动块,用来引导电子设备的开机。
根据本公开的实施例,在操作S210,所述第一存储位置包括当前版本的BIOS程序中的引导启动块的存储区域,例如,在图1A 和图 1B 中,当前版本的BIOS程序中的引导启动块存储在物理地址为 7FFF0000~7FFFFFFF的SPI ROM上,则第一存储位置为物理地址7FFF0000~7FFFFFFF的区域。该物理地址对应的逻辑地址可以是 FFFF0000~FFFFFFFF。第二存储位置包括存储BIOS程序的存储区域中不包括7FFF0000~7FFFFFFF的其他存储区域,例如, 7FF80000~7FF8FFFF区域,其对应的逻辑地址可以是图1A 和图 1B 中的 FFF80000~FFF8FFFF。从第一存储位置复制当前版本BIOS程序中的引导启动块至第二存储位置可以由CPU执行。如图1A 和图 1B 所示CPU执行从第一存储位置7FFF0000~7FFFFFFF复制当前版本BIOS程序中的引导启动块至第二存储位置7FF80000~7FF8FFFF,在执行上述复制过程的机器语言时,采用逻辑地址,即将FFFF0000~FFFFFFFF中的数据复制到 FFF80000~FFF8FFFF中。
根据本公开实施例,所述第二存储位置的物理地址包括将所述第一存储位置的物理地址中的至少一位取反后的物理地址。如图1A 和图 1B 所示,第一存储位置FFFF0000~FFFFFFFF的物理地址例如是 7FFF0000~7FFFFFFF,将物理地址中的第16、17、18根地址线反向,得到第二存储位置7FF80000~7FF8FFFF,该第二存储位置对应的逻辑地址例如是FFF80000~FFF8FFFF。
根据本公开的实施例,在操作S220,在复制成功的情况下,允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块。
根据本公开实施例,所述在复制成功的情况下,允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块包括,在复制成功的情况下,修改控制功能位的值,用于允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块。其中,所述控制功能位包括南桥控制寄存器中的至少一位。该方法不需要增加额外的电子元件即可引导CPU执行正确的引导启动块。
例如,设置南桥中控制寄存器中的一位作为控制功能位,在校验到复制成功的情况下,改变该控制功能位的逻辑输出,例如在校验到复制成功的情况下,该控制功能位的逻辑输出为1,当该控制功能位的逻辑输出为1时,CPU执行第二存储位置的引导启动块而非所述第一存储位置的引导启动块。
根据本公开的实施例,在操作S230,加载新版本的BIOS程序中的引导启动块至所述第一存储位置。例如,图1A 和图 1B 中,当前版本的引导启动块存储在第一存储位置7FFF0000~7FFFFFFF,加载新版本的BIOS程序中的引导启动块至该第一存储位置7FFF0000~7FFFFFFF。
根据本公开的实施例,在操作S240,在加载成功的情况下,允许 CPU执行所述第一存储位置的引导启动块而非所述第二存储位置的引导启动块。
根据本公开实施例,所述在加载成功的情况下,允许CPU执行所述第一存储位置的BIOS引导启动块而非所述第二存储位置的引导启动块包括,在加载成功的情况下,修改所述控制功能位的值,用于允许 CPU执行所述第一存储位置的引导启动块而非所述第二存储位置的引导启动块,其中,所述控制功能位包括南桥控制寄存器中的至少一位。例如,在上述实施例中,设置南桥中控制寄存器中的一位作为控制功能位,在校验到复制成功的情况下,该控制功能位的逻辑输出为1,当该控制功能位的逻辑输出为1时,CPU执行第二存储位置的引导启动块而非所述第一存储位置的引导启动块。在校验到加载成功的情况下,改变该控制功能位的逻辑输出,使逻辑输出为0,从而引导CPU执行第一存储位置的引导启动块而非第二存储位置的引导启动块。
图3示意性示出了根据本公开实施例的允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块的流程图。
如图3所示,该方法包括操作S310~S340。
在操作S310,接收地址总线发送的第一存储位置的地址。
在操作S320,将所述地址中的至少一位取反,获得所述第二存储位置的地址。
在操作S330,基于所述第二存储位置的地址,获取所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块。
在操作S340,将所述第二存储位置的引导启动块发送给CPU,由 CPU执行所述第二存储位置的所述当前版本引导启动块而非所述第一存储位置的引导启动块。
根据本公开的实施例,在操作S310,接收地址总线发送的第一存储位置的地址,例如,电子设备在BIOS升级过程中意外掉电,在给电子设备重新上电后,CPU执行第一条指令,该指令的逻辑地址可以是 FFFF0000,该逻辑地址对应的物理地址例如是7FFF0000,CPU通过地址总线向南桥发送需要访问的物理地址7FFF0000。南桥接收CPU通过地址总线发送的第一存储位置的地址7FFF0000。
根据本公开的实施例,在操作S320,将所述地址中的至少一位取反,获得所述第二存储位置的地址。例如,将第16、17、18根地址线反向,获得第二存储位置的地址7FF80000。
根据本公开的实施例,在操作S330,基于所述第二存储位置的地址,获取所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块。例如,南桥接收到地址总线发送的第一存储位置的地址,并将该第一存储位置的地址反向,从而根据反向后的第二存储位置地址获取该第二存储位置的引导启动块。
根据本公开的实施例,在操作S340,将所述第二存储位置的引导启动块发送给CPU,由CPU执行所述第二存储位置的所述当前版本引导启动块而非所述第一存储位置的引导启动块。例如,南桥获取到第二存储位置的引导启动块,并通过数据总线将该存储位置中的数据发送给 CPU,由CPU执行该存储位置的指令。
图4示意性示出了根据本公开另一实施例的BIOS升级方法的流程图。
如图4所示,该方法在图2所示的实施例的基础上还包括操作S410。
在操作S410,加载所述新版本的BIOS程序中不同于所述引导启动块的其他内容至存储区域,其中,所述存储区域包含所述第二存储位置而非所述第一存储位置。例如,如图1A 和图 1B 所示,加载所述新版本的BIOS 程序120中不同于所述引导启动块121的其他内容至存储区域,其中,所述存储区域包含所述第二存储位置而非所述第一存储位置。如图1A和图 1B 中的阴影部分,逻辑地址FFF80000~FFF8FFFF对应的物理地址 7FF80000~7FF8FFFF上存储的当前版本引导启动块111被新版本BIOS 程序120中不同于引导启动块121的其他内容覆盖。
图5A-图5C示意性示出了根据本公开实施例的BIOS升级方法的示意图。
如图5A所示,BIOS程序510的引导启动快511存储在第一存储位置例如是物理地址为7FFF0000~7FFFFFFF,逻辑地址为 FFFF000~FFFFFFFF的存储位置。CPU复制当前版本BIOS程序510中的引导启动块511至第二存储位置,例如,如图5B所示的物理地址为7FF80000~7FF8FFFF,逻辑地址为FFF80000~FFF8FFFF的区域。在校验到上述复制成功的情况下,打开引导CPU从第二区域获取数据的功能,并加载新版本BIOS程序520中的引导启动块521至第一区域 7FFF0000~7FFFFFFF,在校验到上述加载成功的情况下,关闭引导CPU从第二区域获取数据的功能,并加载新版本BIOS程序520中不同于引导启动块521的其他内容至不同于存储区域7FFF0000~7FFFFFFF的其他存储区域,完成BIOS升级。如图5C中的阴影部分,逻辑地址 FFF80000~FFF8FFFF对应的物理地址7FF80000~7FF8FFFF上存储的当前版本引导启动块511被新版本BIOS程序520中不同于引导启动块521 的其他内容覆盖。
图6示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的方框图。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600包括CPU 610、存储器620以及控制芯片630。该电子设备600可以执行根据本公开实施例的方法。
根据本公开的实施例,CPU 610从所述存储器620的第一存储位置复制当前版本BIOS程序中的引导启动块至所述存储器620的第二存储位置,在复制成功的情况下,所述控制芯片630允许所述CPU 610执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块,所述CPU 610加载新版本的BIOS程序中的引导启动块至所述第一存储位置,在加载成功的情况下,所述控制芯片630允许CPU 610执行所述第一存储位置的引导启动块而非所述第二存储位置的引导启动块。
根据本公开的实施例,控制芯片630包括南桥,在复制成功的情况下,所述南桥允许CPU 610执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块包括,在复制成功的情况下,修改控制功能位的值,用于允许CPU 610执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块,以及在加载成功的情况下,所述南桥允许CPU 610执行所述第一存储位置的BIOS引导启动块而非所述第二存储位置的引导启动块包括,在加载成功的情况下,修改所述控制功能位的值,用于允许CPU 610执行所述第一存储位置的引导启动块而非所述第二存储位置的引导启动块,其中,所述控制功能位包括南桥控制寄存器中的至少一位。
根据本公开的实施例,所述第二存储位置的物理地址包括将所述第一存储位置的物理地址中的至少一位取反后的物理地址。
根据本公开的实施例,所述控制芯片630允许CPU 610执行所述第二存储位置的BIOS引导启动块而非所述第一存储位置的BIOS引导启动块包括,接收地址总线发送的第一存储位置的地址,将所述地址中的至少一位取反,获得所述第二存储位置的地址,基于所述第二存储位置的地址,获取所述当前版本BIOS引导启动块,以及将所述当前版本BIOS引导启动块发送给CPU 610,由CPU 610执行所述第二存储位置的所述当前版本BIOS引导启动块。
根据本公开的实施例,所述CPU 610还执行加载所述新版本的 BIOS程序中不同于所述引导启动块的其他内容至存储区域,其中,所述存储区域包含所述第二存储位置而非所述第一存储位置。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (8)
1.一种BIOS升级方法,包括:
从第一存储位置复制当前版本BIOS程序中的引导启动块至第二存储位置;
在复制成功的情况下,允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块;
加载新版本的BIOS程序中的引导启动块至所述第一存储位置;
在加载成功的情况下,允许CPU执行所述第一存储位置的引导启动块而非所述第二存储位置的引导启动块;
其中,所述在复制成功的情况下,允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块包括,在复制成功的情况下,修改控制功能位的值,用于允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块;
所述在加载成功的情况下,允许CPU执行所述第一存储位置的BIOS引导启动块而非所述第二存储位置的引导启动块包括,在加载成功的情况下,修改所述控制功能位的值,用于允许CPU执行所述第一存储位置的引导启动块而非所述第二存储位置的引导启动块,
其中,所述控制功能位包括南桥控制寄存器中的至少一位。
2.根据权利要求1所述的方法,其中,所述第二存储位置的物理地址包括将所述第一存储位置的物理地址中的至少一位取反后的物理地址。
3.根据权利要求2所述的方法,其中,所述允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块包括:
接收地址总线发送的第一存储位置的地址;
将所述地址中的至少一位取反,获得所述第二存储位置的地址;
基于所述第二存储位置的地址,获取所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块;以及
将所述第二存储位置的引导启动块发送给CPU,由CPU执行所述第二存储位置的所述当前版本引导启动块而非所述第一存储位置的引导启动块。
4.根据权利要求1所述的方法,还包括:
加载所述新版本的BIOS程序中不同于所述引导启动块的其他内容至存储区域,其中,所述存储区域包含所述第二存储位置而非所述第一存储位置。
5.一种电子设备,包括:
存储器;
CPU;以及
控制芯片,
其中:
所述CPU从所述存储器的第一存储位置复制当前版本BIOS程序中的引导启动块至所述存储器的第二存储位置;
在复制成功的情况下,所述控制芯片允许所述CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块;
所述CPU加载新版本的BIOS程序中的引导启动块至所述第一存储位置;
在加载成功的情况下,所述控制芯片允许CPU执行所述第一存储位置的引导启动块而非所述第二存储位置的引导启动块;
其中,在复制成功的情况下,南桥允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块包括,在复制成功的情况下,修改控制功能位的值,用于允许CPU执行所述第二存储位置的引导启动块而非所述第一存储位置的引导启动块;以及
在加载成功的情况下,所述南桥允许CPU执行所述第一存储位置的BIOS引导启动块而非所述第二存储位置的引导启动块包括,在加载成功的情况下,修改所述控制功能位的值,用于允许CPU执行所述第一存储位置的引导启动块而非所述第二存储位置的引导启动块,
其中,所述控制功能位包括南桥控制寄存器中的至少一位。
6.根据权利要求5所述的电子设备,其中,所述第二存储位置的物理地址包括将所述第一存储位置的物理地址中的至少一位取反后的物理地址。
7.根据权利要求6所述的电子设备,其中,所述控制芯片允许CPU执行所述第二存储位置的BIOS引导启动块而非所述第一存储位置的BIOS引导启动块包括:
接收地址总线发送的第一存储位置的地址;
将所述地址中的至少一位取反,获得所述第二存储位置的地址;
基于所述第二存储位置的地址,获取所述当前版本BIOS引导启动块;以及
将所述当前版本BIOS引导启动块发送给CPU,由CPU执行所述第二存储位置的所述当前版本BIOS引导启动块。
8.根据权利要求5所述的电子设备,所述CPU还执行:加载所述新版本的BIOS程序中不同于所述引导启动块的其他内容至存储区域,其中,所述存储区域包含所述第二存储位置而非所述第一存储位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810262831.4A CN108196868B (zh) | 2018-03-27 | 2018-03-27 | Bios升级方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810262831.4A CN108196868B (zh) | 2018-03-27 | 2018-03-27 | Bios升级方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108196868A CN108196868A (zh) | 2018-06-22 |
CN108196868B true CN108196868B (zh) | 2021-10-22 |
Family
ID=62596275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810262831.4A Active CN108196868B (zh) | 2018-03-27 | 2018-03-27 | Bios升级方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108196868B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113495729A (zh) * | 2020-03-20 | 2021-10-12 | 株洲中车时代电气股份有限公司 | 一种软件升级方法及装置 |
CN116302005B (zh) * | 2023-05-11 | 2023-08-22 | 合肥智芯半导体有限公司 | 芯片、芯片升级方法、装置、电子设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1853162A (zh) * | 2003-09-18 | 2006-10-25 | 贵族技术澳大利亚有限公司 | Bios保护装置 |
CN101038555A (zh) * | 2006-03-15 | 2007-09-19 | 戴尔产品有限公司 | 用于对系统bios本地及远程更新及配置的独立于芯片组的方法 |
CN101222373A (zh) * | 2008-01-29 | 2008-07-16 | 杭州华三通信技术有限公司 | 多主控系统中的主控板启动方法和多主控系统 |
CN101354659A (zh) * | 2008-09-12 | 2009-01-28 | 成都市华为赛门铁克科技有限公司 | 一种控制电子设备bios启动的方法、控制器及控制系统 |
CN104572168A (zh) * | 2014-09-10 | 2015-04-29 | 中电科技(北京)有限公司 | 一种bios自更新保护系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI251771B (en) * | 2001-12-28 | 2006-03-21 | Asustek Comp Inc | Module and method for automatic restoring BIOS device, and the computer-readable recording media of storing the program codes thereof |
CN100342336C (zh) * | 2004-12-10 | 2007-10-10 | 华为技术有限公司 | 基本输入输出系统在线升级的方法 |
CN100501679C (zh) * | 2007-02-27 | 2009-06-17 | 华为技术有限公司 | 一种电子设备 |
TW200945200A (en) * | 2008-04-22 | 2009-11-01 | Asustek Comp Inc | Computer system, BIOS structure and power-on method thereof |
US9448808B2 (en) * | 2013-11-26 | 2016-09-20 | American Megatrends, Inc. | BIOS update with service processor without serial peripheral interface (SPI) access |
-
2018
- 2018-03-27 CN CN201810262831.4A patent/CN108196868B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1853162A (zh) * | 2003-09-18 | 2006-10-25 | 贵族技术澳大利亚有限公司 | Bios保护装置 |
CN101038555A (zh) * | 2006-03-15 | 2007-09-19 | 戴尔产品有限公司 | 用于对系统bios本地及远程更新及配置的独立于芯片组的方法 |
CN101222373A (zh) * | 2008-01-29 | 2008-07-16 | 杭州华三通信技术有限公司 | 多主控系统中的主控板启动方法和多主控系统 |
CN101354659A (zh) * | 2008-09-12 | 2009-01-28 | 成都市华为赛门铁克科技有限公司 | 一种控制电子设备bios启动的方法、控制器及控制系统 |
CN104572168A (zh) * | 2014-09-10 | 2015-04-29 | 中电科技(北京)有限公司 | 一种bios自更新保护系统及方法 |
Non-Patent Citations (5)
Title |
---|
Bio-impedance analysis for high-speed and wide-band application by using pulse stimulation;Taehyoung Kim等;《2017 IEEE 60th International Midwest Symposium on Circuits and Systems (MWSCAS)》;20171002;第1621-1624页 * |
Copy BIOS;kam124;《https://h30434.www3.hp.com/t5/Notebooks-Archive-Read-Only/Copy-BIOS/td-p/5462839》;20160102;第1-10页 * |
升级 BIOS;吴楠;《信息科技》;20010228(第4期);第28-29页 * |
谈主板BIOS的升级与更新;储棣等;《计算机系统应用》;20020805(第8期);第74页 * |
陈俊.教您一步步升级Phoenix BIOS.《http://blog.sina.com.cn/s/blog_547bdc5b010000xt.html》.2005,1-3. * |
Also Published As
Publication number | Publication date |
---|---|
CN108196868A (zh) | 2018-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109710295B (zh) | 一种安全可靠的fpga远程升级方法 | |
US10139876B2 (en) | Efficient reboot of an operating system executed in a virtual machine | |
US20140325496A1 (en) | Apparatus and method for firmware upgrade using usb | |
US9027014B2 (en) | Updating firmware compatibility data | |
JP5276438B2 (ja) | オペレーティングシステムおよびその他のソフトウェアのインストールを制限するハッカー対策プロテクト | |
US9563439B2 (en) | Caching unified extensible firmware interface (UEFI) and/or other firmware instructions in a non-volatile memory of an information handling system (IHS) | |
US8539213B2 (en) | Manageability extension mechanism for system firmware | |
US20150261546A1 (en) | Baseboard management controller and method of loading firmware | |
US8468334B1 (en) | Efficient initial RAM disk creation | |
US20070220244A1 (en) | Chipset-independent method for locally and remotely updating and configuring system BIOS | |
US20200348946A1 (en) | Information Handling System (IHS) And Method To Proactively Restore Firmware Components To A Computer Readable Storage Device Of An IHS | |
US10664598B1 (en) | Firmware security patch deployment | |
CN113076170B (zh) | 一种远程协助方法、系统、装置、计算设备及存储介质 | |
CN107567629A (zh) | 在可信执行环境容器中的动态固件模块加载器 | |
CN108196868B (zh) | Bios升级方法和电子设备 | |
CN105830021B (zh) | 可更新集成电路无线电 | |
US10586048B2 (en) | Efficient reboot of an operating system | |
CN114721493B (zh) | 芯片启动方法、计算机设备及可读存储介质 | |
CA3084161C (en) | Firmware publication of multiple binary images | |
US8499142B1 (en) | UEFI boot loader for loading non-UEFI compliant operating systems | |
US20130055230A1 (en) | Method and apparatus to install software automatically | |
US20120144390A1 (en) | Customized computer image preparation and deployment including virtual machine mode | |
US9495146B2 (en) | Host and method of upgrading connection manager of dongles | |
US9778936B1 (en) | Booting a computing system into a manufacturing mode | |
WO2022199622A1 (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 |