CN116450224A - 基于清除cmos的数据的恢复方法及装置、*** - Google Patents

基于清除cmos的数据的恢复方法及装置、*** Download PDF

Info

Publication number
CN116450224A
CN116450224A CN202310719327.3A CN202310719327A CN116450224A CN 116450224 A CN116450224 A CN 116450224A CN 202310719327 A CN202310719327 A CN 202310719327A CN 116450224 A CN116450224 A CN 116450224A
Authority
CN
China
Prior art keywords
server
pluggable
hardware
product information
stored
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.)
Pending
Application number
CN202310719327.3A
Other languages
English (en)
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310719327.3A priority Critical patent/CN116450224A/zh
Publication of CN116450224A publication Critical patent/CN116450224A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种基于清除CMOS的数据的恢复方法,其中,该方法包括:服务器响应于检测到的用于触发清除CMOS的触发事件,获取可插拔设备中的基本产品信息;从基本产品信息中获取硬件出厂配置默认信息;服务器根据硬件出厂配置默认信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。通过本申请,解决了相关技术中只能通过主板管理控制器接收到的基于智能平台管理接口的指令,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复的问题,进而达到了提升对服务器管理的便捷度的效果。

Description

基于清除CMOS的数据的恢复方法及装置、***
技术领域
本申请实施例涉及计算机技术领域,具体而言,涉及一种基于清除CMOS的数据的恢复方法及装置、***。
背景技术
相关技术中,完成清除CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)后,恢复存储在BIOS Flash ROM中***变量的过程过度依赖智能平台管理接口(Intelligent Platform Management Interface,IPMI)环境的使用,该功能通过在Flash Rom之中划分固定的RW Variable区和RO Variable区,其中,RW区存放Variable的修改信息,RO区存放Variable的初始默认信息。如果需要针对特定服务器完成清除CMOS功能,恢复服务器出厂配置,只能通过IPMI携带Clear CMOS命令,如果服务器机房IPMI环境瘫痪或者服务器本身不支持基板管理控制器(Baseboard Management Controller,BMC)搭载,则依据相关技术无法实现对存储在BIOS Flash ROM中***变量的恢复,由此给服务器用户的资产管理和后端运维带来诸多不便。
发明内容
本申请实施例提供了一种基于清除CMOS的数据的恢复方法及装置、***,以至少解决相关技术中只能通过主板管理控制器接收到的基于智能平台管理接口的指令,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复的问题。
根据本申请的一个实施例,提供了一种基于清除CMOS的数据的恢复方法,包括:服务器响应于检测到的用于触发清除CMOS的触发事件,获取可插拔设备中的基本产品信息;从基本产品信息中获取硬件出厂配置默认信息;服务器根据硬件出厂配置默认信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。
可选地,服务器在第n次启动过程中检测服务器的高速串行计算机扩展总线接口的插槽中是否接入可插拔设备,其中,n为正整数;在第n次启动过程中检测到已接入可插拔设备的情况下,确定可插拔设备中用于存储基本产品信息的区域内是否存储硬件出厂配置默认信息;在可插拔设备中用于存储基本产品信息的区域内存储有硬件出厂配置默认信息的情况下,服务器的基本输入输出***中的目标代码写入硬件出厂配置默认信息。
可选地,在第n次启动过程中检测到服务器未接入可插拔设备的情况下,或者在可插拔设备中用于存储基本产品信息的区域内未存储有硬件出厂配置默认信息的情况下,通过服务器的基本输入输出***中的目标代码,从快闪只读存储器中的只读信息中读取硬件出厂配置默认信息。
可选地,在第n次启动过程中检测到未接入可插拔设备的情况下,方法还包括:为基本输入输出***设置第一代码标志位,其中,第一代码标志位用于表示未接入可插拔设备。
可选地,设置第一代码标志位之后,方法还包括:服务器在第n+1次启动过程中检测服务器的高速串行计算机扩展总线接口的插槽中是否接入可插拔设备;在第n+1次启动过程中检测到接入可插拔设备的情况下,清除可插拔设备中用于存储基本产品信息的存储区域内的所有数据,并为基本输入输出***设置第二代码标志位,其中,第二代码标志位用于表示已接入可插拔设备。
可选地,检测服务器是否包括智能平台管理接口以及支持智能平台管理接口的主板管理控制器;在检测到服务器包括智能平台管理接口以及主板管理控制器的情况下,服务器通过可插拔设备的基本产品信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复,或者服务器通过主板管理控制器接收到的基于智能平台管理接口的指令,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复;在检测到服务器不包括智能平台管理接口以及主板管理控制器的情况下,服务器通过可插拔设备的基本产品信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。
可选地,在检测到服务器包括智能平台管理接口以及主板管理控制器的情况下,若在预设时长内检测到未接入可插拔设备,服务器通过主板管理控制器接收到的基于智能平台管理接口的指令,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。
可选地,在服务器带电运行的情况下,检测可插拔设备的接入事件;响应于检测到接入事件,触发从可插拔设备中获取基本产品信息。
可选地,基本产品信息包括:可插拔设备的重要产品数据VPD。
可选地,在可插拔设备包括带电可擦可编程只读存储器的情况下,基本产品信息存储于带电可擦可编程只读存储器;在可插拔设备不包括带电可擦可编程只读存储器的情况下,基本产品信息存储于可插拔设备中的其他非易失性存储器中。
可选地,在可插拔设备包括带电可擦可编程只读存储器的情况下,通过集成电路总线,在带电可擦可编程只读存储器中获取基本产品信息;在可插拔设备不包括带电可擦可编程只读存储器的情况下,通过高速串行计算机扩展总线,在其他非易失性存储器中获取基本产品信息。
可选地,可插拔设备至少包括:基于高速串行计算机扩展总线标准的硬件设备。
根据本申请的另一个实施例,提供了一种基于清除CMOS的数据的恢复装置,包括:第一获取模块,用于响应于检测到的用于触发清除CMOS的触发事件,获取可插拔设备中的基本产品信息;第二获取模块,用于从基本产品信息中获取硬件出厂配置默认信息;恢复模块,用于根据硬件出厂配置默认信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。
根据本申请的另一个实施例,提供了一种基于清除CMOS的数据的恢复***,包括:服务器和可插拔设备,其中,可插拔设备与服务器进行可插拔连接,用于提供基本产品信息;服务器用于响应于检测到的用于触发清除CMOS的触发事件,获取可插拔设备中的基本产品信息,并从基本产品信息中获取硬件出厂配置默认信息,以及根据硬件出厂配置默认信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。
可选地,服务器还用于在第n次启动过程中检测服务器的高速串行计算机扩展总线接口的插槽中是否接入可插拔设备,其中,n为正整数;在第n次启动过程中检测到已接入可插拔设备的情况下,确定可插拔设备中用于存储基本产品信息的区域内是否存储硬件出厂配置默认信息;在可插拔设备中用于存储基本产品信息的区域内存储有硬件出厂配置默认信息的情况下,服务器的基本输入输出***中的目标代码写入硬件出厂配置默认信息。
可选地,服务器还用于在第n次启动过程中检测到服务器未接入可插拔设备的情况下,或者在可插拔设备中用于存储基本产品信息的区域内未存储有硬件出厂配置默认信息的情况下,通过服务器的基本输入输出***中的目标代码,从快闪只读存储器中的只读信息中读取硬件出厂配置默认信息。
可选地,服务器还用于在第n次启动过程中检测到未接入可插拔设备的情况下,为基本输入输出***设置第一代码标志位,其中,第一代码标志位用于表示未接入可插拔设备。
可选地,可插拔设备至少包括:基于高速串行计算机扩展总线标准的硬件设备。
可选地,服务器运行于Windows操作***或Linux操作***;服务器至少包括基本输入输出***。
可选地,可插拔设备可在服务器带电运行时,与服务器的基于高速串行计算机扩展总线标准的接口连接或断开。
可选地,可插拔设备在预设时长内的插拔次数不超过预设值。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,由于利用与可插拔连接的可插拔设备中的基本产品信息的硬件出厂配置默认信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。因此,可以解决只能通过主板管理控制器接收到的基于智能平台管理接口的指令,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复的问题,达到了提升对服务器管理的便捷度的效果。
附图说明
图1是本申请实施例的一种基于清除CMOS的数据的恢复方法的移动终端的硬件结构框图;
图2是根据相关技术中基于清除CMOS的数据的恢复方法的示意图;
图3是根据本申请实施例的一种基于清除CMOS的数据的恢复方法的流程图;
图4是根据本申请实施例的另一种基于清除CMOS的数据的恢复方法的流程图;
图5是根据本申请实施例的一种基于清除CMOS的数据的恢复方法的示意图;
图6是根据本申请实施例的一种基于清除CMOS的数据的恢复装置的结构框图;
图7是根据本申请实施例的一种基于清除CMOS的数据的恢复***的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的一种基于清除CMOS的数据的恢复方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的基于清除CMOS的数据的恢复方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
Coreboot+LinuxBoot是服务器主板上相较于传统BIOS与UEFI BIOS的新一代BIOS标准,目前在整个Coreboot设计中,Nvram变量的设定方式一般是通过存放在存储BIOS代码的FlashRom中实现,通过在BIOS bin文件编译时期设置确定Nvarm信息,在烧录时包含在其存储中固定某段区域。但在该设置状态下,一旦在某个Nvram变量值被修改的情况下,服务器环境发生意料之外的问题需要Clear CMOS时,Coreboot本身往往只能通过IPMI命令发送Clear CMOS命令。因此,在无BMC搭载且不支持IPMI的服务器,或IPMI环境不通的情况下,Clear CMOS功能的使用和维护,都存在极大的干扰。
图2是根据相关技术中基于清除CMOS的数据的恢复方法的示意图,如图2所示,例如因为服务器环境问题需要恢复出厂设置,导致Clear CMOS需求出现后,带外用户向服务器的BMC发送IPMI命令,通过BMC将Clear CMOS命令发送给BIOS。BIOS Code默认在BIOSFlash Rom中的RW区读取Variable的初始默认信息;在接收Clear CMOS命令后,BIOS Code在BIOS Flash Rom中的RO区读取Variable的初始默认信息,完成对存储在基本输入输出***中快闪只读存储器中的***变量的恢复。
但需要说明的是,部分服务器并不支持BMC搭载与IPMI功能,因此,依据相关技术无法实现对存储在基本输入输出***中快闪只读存储器中的***变量的恢复,并会给服务器用户的资产管理和后端运维带来诸多不便。
为了解决上述问题,本申请实施例中提供了相关的解决方案,以下详细说明。
在本实施例中提供了一种运行于上述移动终端的基于清除CMOS的数据的恢复方法,图3是根据本申请实施例的一种基于清除CMOS的数据的恢复方法的流程图,如图3所示,该流程包括如下步骤:
步骤S302,服务器响应于检测到的用于触发清除CMOS的触发事件,获取可插拔设备中的基本产品信息。
作为本申请的一个可选的实施例,可插拔设备中包括基本产品信息,该基本产品信息例如重要产品数据(Vital Product Data,VPD),VPD是存储在计算机***中的基本产品信息,包括产品名称、制造商名称、序列号、部件编号和版本等信息,上述信息通常被用于识别硬件设备并管理其配置。 VPD可以存储在计算机或其他电子设备内,并可通过特定命令或工具查询和修改。在本实施例中,VPD存储在可插拔设备的VPD区域中。
该可插拔设备为PCIe设备,PCIe设备是一种基于PCI Express (PeripheralComponent Interconnect Express)总线标准的外部硬件设备。PCIe设备可通过PCIe插槽(slot)与计算机***以及服务器连接,并允许高速数据传输。常见的PCIe设备包括显卡、网卡、声卡和存储控制器等,这些设备能够提高服务器性能,增加其功能和扩展性。PCIe是一种高速、点对点的串行连接,用于连接计算机***中各种设备,如显卡、网卡、磁盘控制器等。PCIe采用了差分信号传输技术以实现更高的带宽和更低的延迟。与之前使用的早期版本的PCI总线相比,PCIe具有更大的带宽和可拓展性,并且易于配置和管理。
步骤S304,从基本产品信息中获取硬件出厂配置默认信息。
首先需要说明的是,Nvram变量是指存储在非易失性随机访问存储器(NVRAM)中的***设置变量。Nvram变量一般负责服务器硬件信息展示,硬件配置以及各硬件功能控制的责任,为服务器厂商和用户提供服务器信息管理,服务器合理使用以及服务器错误修复。Nvram变量通常用于管理硬件和软件设置,例如电源选项、启动顺序、时钟速率等。用户在服务器使用过程中,会对各种Nvram变量修改其设定值。
在服务器出厂时,会对全部Nvram变量设置默认值,该默认值即为从基本产品信息中获取到的硬件出厂配置默认信息。
步骤S306,服务器根据硬件出厂配置默认信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。
在Clear CMOS时,需要对存储于BIOS Flash ROM中的***变量进行恢复。其中,Flash ROM是一种存储在计算机或电子设备中的可编程只读存储器(ROM)类型。通常用于固件、BIOS等***软件的存储,可以通过特定工具进行烧录和更新。Flash ROM具有易擦写、高速度、低功耗等优点,并且支持多次更新和修改,因此被广泛应用于各类电子设备中。
Clear CMOS是一种恢复主板BIOS设置的方法,Clear CMOS能够清除所有BIOS设置并将其还原为出厂默认值。Clear CMOS通常在修复硬件问题时使用,例如启动错误或未检测到设备。
举例而言,上述步骤针对Coreboot BIOS下服务器BIOS Flash ROM中的***变量的恢复,该恢复方式摈弃BMC和IPMI通路,单纯通过对可插拔设备的插拔操作来控制Coreboot平台下Clear CMOS功能实现。其中,Coreboot是一种开源的固件,基于Linux首次引导加载程序协议发布,与传统的封闭式 BIOS 相比,Coreboot有许多优点。首先,Coreboot能够显著减少计算机启动时间,并且还可以支持从网络、USB 或硬盘驱动器中进行自定义操作***安装。其次,在服务器端上运行时,可以使用 Coreboot 来满足企业级规模要求,这样就不需要相关专用固件。Coreboot 主要由三个组成部分:1. Bootloader:负责加载 Linux 内核并跳转到内核;2. Payload:即载荷模块,为可选组件,除 Linux 核心外其他二进制文件都可作为载荷配置;3. Firmware Configuration:主板接口和固件设置相关信息存储区域。
BIOS是指基本输入输出***(Basic Input/Output System),是电脑硬件的一个程序,是一种固化在计算机主板上的程序,负责初始化和控制计算机硬件设备。BIOS位于操作***(Operating System,OS)之前,并管理与CMOS芯片交互所需使用到的计算机各个部分。当开启服务器时, BIOS负责检查所有相关硬件设备是否工作正常、运行安全启动处理等任务。
通过上述步骤,利用与可插拔连接的可插拔设备中的基本产品信息的硬件出厂配置默认信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复,解决了只能通过主板管理控制器接收到的基于智能平台管理接口的指令,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复的问题,提升了对服务器管理的便捷度。
其中,上述步骤的执行主体可以为服务器等,但不限于此。
图4是根据本申请实施例的另一种基于清除CMOS的数据的恢复方法的流程图,如图4所示,该流程包括如下步骤:
步骤S402,判断服务器的高速串行计算机扩展总线接口的插槽中是否接入可插拔设备,在服务器的高速串行计算机扩展总线接口的插槽中接入可插拔设备的情况下,执行步骤S404;否则执行步骤S408。
步骤S404,判断可插拔设备中用于存储基本产品信息的区域内是否存储硬件出厂配置默认信息(即为Variable值的默认值),在可插拔设备中用于存储基本产品信息的区域内存储有硬件出厂配置默认信息的情况下,执行步骤S406;否则执行步骤S408。
步骤S406,服务器BIOS Code写入硬件出厂配置默认信息。
BIOS Code是计算机开机时通过主板上的芯片读取并执行的一系列指令,用于初始化硬件设备、加载操作***和提供基本的***服务。位于计算机主板上的CMOS中,通常不可修改或删除。
步骤S408,BIOS Code从Flash Rom之中的RO Variable区,读取Variable值的默认值。
RO Variable区是Flash ROM中的一个重要部分,RO Variable区保存着只读(Read-Only)的变量。这些变量在***启动时被初始化,并且不能被修改。RO Variable区用于存储一些固定不变的数据或设置参数,例如***硬件配置信息、产品序列号、Bootloader版本等。由于这些数据是只读的,并且保存在ROM中而非RAM,所以可以保证其内容不会意外改变或遭受攻击。当设备启动时,操作***和应用程序可能需要访问这些RO Variable区中的信息来进行相关操作。因此,在设计Flash ROM时必须特别注意放置RO Variable区域以确保其易于访问和保护安全性。
根据本申请的一个可选的实施例,服务器在第n次启动过程中检测服务器的高速串行计算机扩展总线接口的插槽中是否接入可插拔设备,其中,n为正整数;在第n次启动过程中检测到已接入可插拔设备的情况下,确定可插拔设备中用于存储基本产品信息的区域内是否存储硬件出厂配置默认信息;在可插拔设备中用于存储基本产品信息的区域内存储有硬件出厂配置默认信息的情况下,服务器的基本输入输出***中的目标代码写入硬件出厂配置默认信息。
根据本申请的另一个可选的实施例,在第n次启动过程中检测到服务器未接入可插拔设备的情况下,或者在可插拔设备中用于存储基本产品信息的区域内未存储有硬件出厂配置默认信息的情况下,通过服务器的基本输入输出***中的目标代码,从快闪只读存储器中的只读信息中读取硬件出厂配置默认信息。
在本申请的一些可选的实施例,在第n次启动过程中检测到未接入可插拔设备的情况下,还需要:为基本输入输出***设置第一代码标志位,其中,第一代码标志位用于表示未接入可插拔设备。
在一个可选的实施例中,设置第一代码标志位之后,还需要:服务器在第n+1次启动过程中检测服务器的高速串行计算机扩展总线接口的插槽中是否接入可插拔设备;在第n+1次启动过程中检测到接入可插拔设备的情况下,清除可插拔设备中用于存储基本产品信息的存储区域内的所有数据,并为基本输入输出***设置第二代码标志位,其中,第二代码标志位用于表示已接入可插拔设备。
服务器在开机过程中检测服务器的高速串行计算机扩展总线接口的插槽(slot)中是否接入可插拔设备;在检测到已接入可插拔设备的情况下,判断可插拔设备中的VPD区域内是否存储硬件出厂配置默认信息;在可插拔设备中的VPD区域内存储有硬件出厂配置默认信息的情况下,通过BIOS Code写入硬件出厂配置默认信息。
可选地,服务器在开机过程中检测服务器的高速串行计算机扩展总线接口的插槽(slot)中是否接入可插拔设备;在检测到未接入可插拔设备的情况下,BIOS Code通过存放自身的Flash Rom位置读取默认Variable值的RO信息,同时设置BIOS的代码标志位,例如置为“0”。在下一次开机过程中继续检测服务器的高速串行计算机扩展总线接口的插槽(slot)中是否接入可插拔设备;在检测到接入可插拔设备的情况下,清除可插拔设备的VPD区域,同时设置BIOS的代码标志位,例如置为“1”。
作为本申请的一个可选的实施例,检测服务器是否包括智能平台管理接口以及支持智能平台管理接口的主板管理控制器;在检测到服务器包括智能平台管理接口以及主板管理控制器的情况下,服务器通过可插拔设备的基本产品信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复,或者服务器通过主板管理控制器接收到的基于智能平台管理接口的指令,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复;在检测到服务器不包括智能平台管理接口以及主板管理控制器的情况下,服务器通过可插拔设备的基本产品信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。
可以理解的是,在服务器搭载BMC且支持IPMI的情况下,既可以通过BMC接收ClearCMOS命令,进而通过BMC将Clear CMOS命令发送给BIOS,在接收Clear CMOS命令后,BIOSCode在BIOS Flash Rom中的RO区读取Variable的初始默认信息的方式,完成对存储在基本输入输出***中快闪只读存储器中的***变量的恢复。也可以通过可插拔设备提供的基本产品信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。
在本申请的一些可选的实施例中,在检测到服务器包括智能平台管理接口以及主板管理控制器的情况下,若在预设时长内检测到未接入可插拔设备,服务器通过主板管理控制器接收到的基于智能平台管理接口的指令,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。
举例而言,服务器检测到用于触发Clear CMOS的触发事件后,在10分钟内并未检测到接入可插拔设备,或者可插拔设备的VPD区域内不存在硬件出厂配置默认信息,而且该服务器搭载BMC且支持IPMI。此时,服务器通过主板管理控制器接收到的基于智能平台管理接口的指令,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。
作为本申请的另一个可选的实施例,服务器获取可插拔设备的基本产品信息之前,还可以通过以下方法实现:检测用于触发清除CMOS的触发事件;在检测到存在触发事件的情况下,获取可插拔设备中的基本产品信息。
可以理解的是,一般情况下在检测用于触发清除CMOS的触发事件之后,才需要对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。其中,触发ClearCMOS的触发事件例如:1. 外部硬件故障:例如主板电池电压不足、CPU过热等问题;2. BIOS设置错误:当用户更改了BIOS设置,导致***无法启动时需要Clear CMOS;3. 超频失败:当进行CPU或GPU的超频调整后,可能会出现***崩溃和无响应情况。这时可以通过ClearCMOS恢复到默认状态;4. 病毒感染:如果计算机被病毒感染,可能会对CMOS数据区进行修改从而影响***正常运行;5. CMOS存储器故障:如果CMOS芯片出现损坏或者严重的错误,在一些情况下也需要清除CMOS来解决该问题;6. 升级固件时遇到问题: 在升级BIOS固件期间发生意外断电、操作失误等情况下,为了防止程序执行异常并保证可靠性,有必要清除掉旧版的设置信息。
在一个可选的实施例中,在服务器带电运行的情况下,检测可插拔设备的接入事件;响应于检测到接入事件,触发从可插拔设备中获取基本产品信息。
在本申请的一些可选的实施例,在服务器带电运行的情况下,检测可插拔设备的拔出事件;响应于检测到拔出事件,将接收到的硬件出厂配置默认信息配置为只读信息。
根据本申请一些优选的实施例,基本产品信息包括:可插拔设备的重要产品数据VPD。
VPD是存储在计算机***中的基本产品信息,包括产品名称、制造商名称、序列号、部件编号和版本等信息,上述信息通常被用于识别硬件设备并管理其配置。VPD可以存储在计算机或其他电子设备内,并可通过特定命令或工具查询和修改。在本实施例中,VPD存储在可插拔设备的VPD区域中。
根据本申请的一个可选的实施例,在可插拔设备包括带电可擦可编程只读存储器的情况下,基本产品信息存储于带电可擦可编程只读存储器;在可插拔设备不包括带电可擦可编程只读存储器的情况下,基本产品信息存储于可插拔设备中的其他非易失性存储器中。
带电可擦可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory,EEPROM)是一种可编程的电子存储器,用于长期保存数据。EEPROM具有非易失性(即断电时仍然保持存储内容),并且可以重复擦写多次而不会损坏或失去数据。EEPROM通常被用在需要稳定、长期保存数据的设备中,如微控制器、计算机BIOS等。
存放Variable值的PCIe结构设计中不存在EEPROM时可以设置VPD信息在其他掉电数据不丢失的存储设备中存放,对于信息的存放地址和方式规定宽泛,容易实现。
根据本申请的另一个可选的实施例,在可插拔设备包括带电可擦可编程只读存储器的情况下,通过集成电路总线,在带电可擦可编程只读存储器中获取基本产品信息;在可插拔设备不包括带电可擦可编程只读存储器的情况下,通过高速串行计算机扩展总线,在其他非易失性存储器中获取基本产品信息。
在可插拔设备包括带电可擦可编程只读存储器的情况下,通过集成电路总线,在带电可擦可编程只读存储器中获取基本产品信息,其中,集成电路总线(Inter-IntegratedCircuit,I2C),集成电路总线使用双向数据传输方式,其中一个主机可以控制多个从设备。每个设备都有唯一的地址以便主机能够识别并与其进行通信。该协议支持多达127个从设备同时连接到单个总线上,并且具有节省电力、数据可靠性高、易于实现等优点。
在可插拔设备不包括带电可擦可编程只读存储器的情况下,通过高速串行计算机扩展总线,在其他非易失性存储器中获取基本产品信息,其中,高速串行计算机扩展总线PCIe是一种高速、点对点的串行连接,用于连接计算机***中各种设备,如显卡、网卡、磁盘控制器等。PCIe采用了差分信号传输技术以实现更高的带宽和更低的延迟。与之前使用的早期版本的PCI总线相比,PCIe具有更大的带宽和可拓展性,并且易于配置和管理。
在本申请的一些可选的实施例,可插拔设备至少包括:基于高速串行计算机扩展总线标准的硬件设备。
可插拔设备至少包括PCIe设备,PCIe设备是一种基于PCI Express (PeripheralComponent Interconnect Express)总线标准的外部硬件设备。PCIe设备可通过PCIe插槽(slot)与计算机***以及服务器连接,并允许高速数据传输。常见的PCIe设备包括显卡、网卡、声卡和存储控制器等,这些设备能够提高服务器性能,增加其功能和扩展性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
图5是根据本申请实施例的一种基于清除CMOS的数据的恢复方法的示意图,如图5所示,例如因为服务器环境问题需要恢复出厂设置,导致Clear CMOS需求出现后,带外用户可选择将可插拔设备接入服务器的高速串行计算机扩展总线接口的插槽。
服务器判断其的高速串行计算机扩展总线接口的插槽中是否接入可插拔设备,在服务器的高速串行计算机扩展总线接口的插槽中接入可插拔设备的情况下,判断可插拔设备中用于存储基本产品信息的区域内是否存储硬件出厂配置默认信息(即为Variable值的默认值),在可插拔设备中用于存储基本产品信息的区域内存储有硬件出厂配置默认信息的情况下,服务器BIOS Code写入硬件出厂配置默认信息。
在服务器的高速串行计算机扩展总线接口的插槽中未接入可插拔设备的情况下,BIOS Code从Flash Rom之中的RO Variable区,读取Variable值的默认值。
在可插拔设备中用于存储基本产品信息的区域内未存储有硬件出厂配置默认信息的情况下,BIOS Code从Flash Rom之中的RO Variable区,读取Variable值的默认值。
在本实施例中还提供了一种基于清除CMOS的数据的恢复装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请实施例的一种基于清除CMOS的数据的恢复装置的结构框图,如图6所示,该装置包括:
第一获取模块62,用于响应于检测到的用于触发清除CMOS的触发事件,获取可插拔设备中的基本产品信息。
作为本申请的一个可选的实施例,可插拔设备中包括基本产品信息,该基本产品信息例如重要产品数据(Vital Product Data,VPD),VPD是存储在计算机***中的基本产品信息,包括产品名称、制造商名称、序列号、部件编号和版本等信息,上述信息通常被用于识别硬件设备并管理其配置。 VPD可以存储在计算机或其他电子设备内,并可通过特定命令或工具查询和修改。在本实施例中,VPD存储在可插拔设备的VPD区域中。该可插拔设备为PCIe设备,PCIe设备是一种基于PCI Express (Peripheral Component InterconnectExpress)总线标准的外部硬件设备。PCIe设备可通过PCIe插槽(slot)与计算机***以及服务器连接,并允许高速数据传输。常见的PCIe设备包括显卡、网卡、声卡和存储控制器等,这些设备能够提高服务器性能,增加其功能和扩展性。PCIe是一种高速、点对点的串行连接,用于连接计算机***中各种设备,如显卡、网卡、磁盘控制器等。PCIe采用了差分信号传输技术以实现更高的带宽和更低的延迟。与之前使用的早期版本的PCI总线相比,PCIe具有更大的带宽和可拓展性,并且易于配置和管理。
第二获取模块64,用于从基本产品信息中获取硬件出厂配置默认信息。
首先需要说明的是,Nvram变量是指存储在非易失性随机访问存储器(NVRAM)中的***设置变量。Nvram变量一般负责服务器硬件信息展示,硬件配置以及各硬件功能控制的责任,为服务器厂商和用户提供服务器信息管理,服务器合理使用以及服务器错误修复。Nvram变量通常用于管理硬件和软件设置,例如电源选项、启动顺序、时钟速率等。用户在服务器使用过程中,会对各种Nvram变量修改其设定值。
在服务器出厂时,会对全部Nvram变量设置默认值,该默认值即为从基本产品信息中获取到的硬件出厂配置默认信息。
恢复模块66,用于根据硬件出厂配置默认信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。
在Clear CMOS时,需要对存储于BIOS Flash ROM中的***变量进行恢复。其中,Flash ROM是一种存储在计算机或电子设备中的可编程只读存储器(ROM)类型。通常用于固件、BIOS等***软件的存储,可以通过特定工具进行烧录和更新。Flash ROM具有易擦写、高速度、低功耗等优点,并且支持多次更新和修改,因此被广泛应用于各类电子设备中。
Clear CMOS是一种恢复主板BIOS设置的方法,Clear CMOS能够清除所有BIOS设置并将其还原为出厂默认值。Clear CMOS通常在修复硬件问题时使用,例如启动错误或未检测到设备。
举例而言,针对Coreboot BIOS下服务器BIOS Flash ROM中的***变量的恢复,该恢复方式摈弃BMC和IPMI通路,单纯通过对可插拔设备的插拔操作来控制Coreboot平台下Clear CMOS功能实现。其中,Coreboot是一种开源的固件,基于Linux首次引导加载程序协议发布,与传统的封闭式 BIOS 相比,Coreboot有许多优点。首先,Coreboot能够显著减少计算机启动时间,并且还可以支持从网络、USB 或硬盘驱动器中进行自定义操作***安装。其次,在服务器端上运行时,可以使用 Coreboot 来满足企业级规模要求,这样就不需要相关专用固件。Coreboot 主要由三个组成部分:1. Bootloader:负责加载 Linux 内核并跳转到内核;2. Payload:即载荷模块,为可选组件,除 Linux 核心外其他二进制文件都可作为载荷配置;3. Firmware Configuration:主板接口和固件设置相关信息存储区域。
BIOS是指基本输入输出***(Basic Input/Output System),是电脑硬件的一个程序,是一种固化在计算机主板上的程序,负责初始化和控制计算机硬件设备。BIOS位于操作***(Operating System,OS)之前,并管理与CMOS芯片交互所需使用到的计算机各个部分。当开启服务器时, BIOS负责检查所有相关硬件设备是否工作正常、运行安全启动处理等任务。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
通过上述装置,利用与可插拔连接的可插拔设备中的基本产品信息的硬件出厂配置默认信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复,解决了只能通过主板管理控制器接收到的基于智能平台管理接口的指令,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复的问题,提升了对服务器管理的便捷度。
图7是根据本申请实施例的一种基于清除CMOS的数据的恢复***的结构框图,如图7所示,该***包括:服务器72和可插拔设备74,其中,
可插拔设备74与服务器72进行可插拔连接,用于提供基本产品信息。
服务器72用于响应于检测到的用于触发清除CMOS的触发事件,获取可插拔设备74中的基本产品信息,并从基本产品信息中获取硬件出厂配置默认信息,以及根据硬件出厂配置默认信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。
通过上述***,利用与可插拔连接的可插拔设备中的基本产品信息的硬件出厂配置默认信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复,解决了只能通过主板管理控制器接收到的基于智能平台管理接口的指令,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复的问题,提升了对服务器管理的便捷度。
作为本申请的一个可选的实施例,可插拔设备中包括基本产品信息,该基本产品信息例如重要产品数据(Vital Product Data,VPD),VPD是存储在计算机***中的基本产品信息,包括产品名称、制造商名称、序列号、部件编号和版本等信息,上述信息通常被用于识别硬件设备并管理其配置。 VPD可以存储在计算机或其他电子设备内,并可通过特定命令或工具查询和修改。在本实施例中,VPD存储在可插拔设备的VPD区域中。该可插拔设备为PCIe设备,PCIe设备是一种基于PCI Express (Peripheral Component InterconnectExpress)总线标准的外部硬件设备。PCIe设备可通过PCIe插槽(slot)与计算机***以及服务器连接,并允许高速数据传输。常见的PCIe设备包括显卡、网卡、声卡和存储控制器等,这些设备能够提高服务器性能,增加其功能和扩展性。PCIe是一种高速、点对点的串行连接,用于连接计算机***中各种设备,如显卡、网卡、磁盘控制器等。PCIe采用了差分信号传输技术以实现更高的带宽和更低的延迟。与之前使用的早期版本的PCI总线相比,PCIe具有更大的带宽和可拓展性,并且易于配置和管理。
需要说明的是,Nvram变量是指存储在非易失性随机访问存储器(NVRAM)中的***设置变量。Nvram变量一般负责服务器硬件信息展示,硬件配置以及各硬件功能控制的责任,为服务器厂商和用户提供服务器信息管理,服务器合理使用以及服务器错误修复。Nvram变量通常用于管理硬件和软件设置,例如电源选项、启动顺序、时钟速率等。用户在服务器使用过程中,会对各种Nvram变量修改其设定值。
在服务器出厂时,会对全部Nvram变量设置默认值,该默认值即为从基本产品信息中获取到的硬件出厂配置默认信息。
Clear CMOS是一种恢复主板BIOS设置的方法,Clear CMOS能够清除所有BIOS设置并将其还原为出厂默认值。Clear CMOS通常在修复硬件问题时使用,例如启动错误或未检测到设备。
举例而言,针对Coreboot BIOS下服务器BIOS Flash ROM中的***变量的恢复,该恢复方式摈弃BMC和IPMI通路,单纯通过对可插拔设备的插拔操作来控制Coreboot平台下Clear CMOS功能实现。其中,Coreboot是一种开源的固件,基于Linux首次引导加载程序协议发布,与传统的封闭式 BIOS 相比,Coreboot有许多优点。首先,Coreboot能够显著减少计算机启动时间,并且还可以支持从网络、USB 或硬盘驱动器中进行自定义操作***安装。其次,在服务器端上运行时,可以使用 Coreboot 来满足企业级规模要求,这样就不需要相关专用固件。Coreboot 主要由三个组成部分:1. Bootloader:负责加载 Linux 内核并跳转到内核;2. Payload:即载荷模块,为可选组件,除 Linux 核心外其他二进制文件都可作为载荷配置;3. Firmware Configuration:主板接口和固件设置相关信息存储区域。
BIOS是指基本输入输出***(Basic Input/Output System),是电脑硬件的一个程序,是一种固化在计算机主板上的程序,负责初始化和控制计算机硬件设备。BIOS位于操作***(Operating System,OS)之前,并管理与CMOS芯片交互所需使用到的计算机各个部分。当开启服务器时, BIOS负责检查所有相关硬件设备是否工作正常、运行安全启动处理等任务。
通过上述***,利用与可插拔连接的可插拔设备中的基本产品信息的硬件出厂配置默认信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复,解决了只能通过主板管理控制器接收到的基于智能平台管理接口的指令,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复的问题,提升了对服务器管理的便捷度。
根据本申请的一个可选的实施例,服务器72还用于在第n次启动过程中检测服务器72的高速串行计算机扩展总线接口的插槽中是否接入可插拔设备74,其中,n为正整数;在第n次启动过程中检测到已接入可插拔设备74的情况下,确定可插拔设备74中用于存储基本产品信息的区域内是否存储硬件出厂配置默认信息;在可插拔设备74中用于存储基本产品信息的区域内存储有硬件出厂配置默认信息的情况下,服务器72的基本输入输出***中的目标代码写入硬件出厂配置默认信息。
根据本申请的另一个可选的实施例,服务器72还用于在第n次启动过程中检测到服务器72未接入可插拔设备74的情况下,或者在可插拔设备74中用于存储基本产品信息的区域内未存储有硬件出厂配置默认信息的情况下,通过服务器72的基本输入输出***中的目标代码,从快闪只读存储器中的只读信息中读取硬件出厂配置默认信息。
可选地,服务器72还用于在开机过程中检测服务器72的高速串行计算机扩展总线接口的插槽(slot)中是否接入可插拔设备74;在检测到已接入可插拔设备74的情况下,判断可插拔设备74中的VPD区域内是否存储硬件出厂配置默认信息;在可插拔设备74中的VPD区域内存储有硬件出厂配置默认信息的情况下,通过BIOS Code写入硬件出厂配置默认信息。
可选地,服务器72还用于在开机过程中检测服务器72的高速串行计算机扩展总线接口的插槽(slot)中是否接入可插拔设备74;在检测到未接入可插拔设备74的情况下,BIOS Code通过存放自身的Flash Rom位置读取默认Variable值的RO信息,同时设置BIOS的代码标志位,例如置为“0”。在下一次开机过程中继续检测服务器72的高速串行计算机扩展总线接口的插槽(slot)中是否接入可插拔设备74;在检测到接入可插拔设备74的情况下,清除可插拔设备74的VPD区域,同时设置BIOS的代码标志位,例如置为“1”。
可选地,服务器72还用于在第n次启动过程中检测到未接入可插拔设备的情况下,为基本输入输出***设置第一代码标志位,其中,第一代码标志位用于表示未接入可插拔设备。
在本申请的一些可选的实施例,可插拔设备74至少包括:基于高速串行计算机扩展总线标准的硬件设备。
可插拔设备74至少包括PCIe设备,PCIe设备是一种基于PCI Express(Peripheral Component Interconnect Express)总线标准的外部硬件设备。PCIe设备可通过PCIe插槽(slot)与计算机***以及服务器72连接,并允许高速数据传输。常见的PCIe设备包括显卡、网卡、声卡和存储控制器等,这些设备能够提高服务器72性能,增加其功能和扩展性。
作为本申请的一个可选的实施例,服务器72运行于Windows操作***或Linux操作***;服务器72至少包括基本输入输出***。
基本输入输出***(Basic Input Output System,BIOS),是电脑硬件的一个程序,是一种固化在计算机主板上的程序,负责初始化和控制计算机硬件设备。BIOS位于操作***(Operating System,OS)之前,并管理与CMOS芯片交互所需使用到的计算机各个部分。当开启服务器72时, BIOS负责检查所有相关硬件设备是否工作正常、运行安全启动处理等任务。OS为一组主管并控制服务器72操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的***软件程序。对于服务器72中的OS,可以是Windows、Shell或者Linux等操作***。
在本申请的一些可选的实施例中,可插拔设备74可在服务器72带电运行时,与服务器72的基于高速串行计算机扩展总线标准的接口连接或断开。
在一个可选的实施例中,在服务器72带电运行的情况下,检测可插拔设备74的接入事件;响应于检测到接入事件,触发从可插拔设备74中获取基本产品信息。
在本申请的一些可选的实施例,在服务器72带电运行的情况下,检测可插拔设备74的拔出事件;响应于检测到拔出事件,将接收到的硬件出厂配置默认信息配置为只读信息。
作为本申请的另一个可选的实施例,可插拔设备74在预设时长内的插拔次数不超过预设值。
需要说明的是,为避免Clear CMOS功能的错误触发,例如只是单纯插拔设备,并无对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复的需求,可以将存储Variable值的PCIe设备选择为极少插拔设备,而不是硬盘之类对插拔无限制的设备上。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (23)

1.一种基于清除CMOS的数据的恢复方法,其特征在于,包括:
服务器响应于检测到的用于触发清除CMOS的触发事件,获取可插拔设备中的基本产品信息;
从所述基本产品信息中获取硬件出厂配置默认信息;
所述服务器根据所述硬件出厂配置默认信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。
2.根据权利要求1所述的方法,其特征在于,包括:
所述服务器在第n次启动过程中检测所述服务器的高速串行计算机扩展总线接口的插槽中是否接入所述可插拔设备,其中,n为正整数;
在所述第n次启动过程中检测到已接入所述可插拔设备的情况下,确定所述可插拔设备中用于存储所述基本产品信息的区域内是否存储所述硬件出厂配置默认信息;
在所述可插拔设备中用于存储所述基本产品信息的区域内存储有所述硬件出厂配置默认信息的情况下,所述服务器的基本输入输出***中的目标代码写入所述硬件出厂配置默认信息。
3.根据权利要求2所述的方法,其特征在于,包括:
在所述第n次启动过程中检测到所述服务器未接入所述可插拔设备的情况下,或者在所述可插拔设备中用于存储所述基本产品信息的区域内未存储有所述硬件出厂配置默认信息的情况下,通过所述服务器的所述基本输入输出***中的所述目标代码,从所述快闪只读存储器中的只读信息中读取所述硬件出厂配置默认信息。
4.根据权利要求3所述的方法,其特征在于,在所述第n次启动过程中检测到未接入所述可插拔设备的情况下,所述方法还包括:为所述基本输入输出***设置第一代码标志位,其中,所述第一代码标志位用于表示未接入所述可插拔设备。
5.根据权利要求4所述的方法,其特征在于,设置第一代码标志位之后,所述方法还包括:
所述服务器在第n+1次启动过程中检测所述服务器的高速串行计算机扩展总线接口的插槽中是否接入所述可插拔设备;
在所述第n+1次启动过程中检测到接入所述可插拔设备的情况下,清除所述可插拔设备中用于存储所述基本产品信息的存储区域内的所有数据,并为所述基本输入输出***设置第二代码标志位,其中,所述第二代码标志位用于表示已接入所述可插拔设备。
6.根据权利要求3所述的方法,其特征在于,包括:
检测所述服务器是否包括智能平台管理接口以及支持所述智能平台管理接口的主板管理控制器;
在检测到所述服务器包括所述智能平台管理接口以及所述主板管理控制器的情况下,所述服务器通过所述可插拔设备的所述基本产品信息,对存储在所述基本输入输出***中所述快闪只读存储器中的所述***变量进行恢复,或者
所述服务器通过所述主板管理控制器接收到的基于所述智能平台管理接口的指令,对存储在所述基本输入输出***中所述快闪只读存储器中的所述***变量进行恢复;
在检测到所述服务器不包括所述智能平台管理接口以及所述主板管理控制器的情况下,所述服务器通过所述可插拔设备的所述基本产品信息,对存储在所述基本输入输出***中所述快闪只读存储器中的所述***变量进行恢复。
7.根据权利要求6所述的方法,其特征在于,包括:
在检测到所述服务器包括所述智能平台管理接口以及所述主板管理控制器的情况下,若在预设时长内检测到未接入所述可插拔设备,所述服务器通过所述主板管理控制器接收到的基于所述智能平台管理接口的指令,对存储在所述基本输入输出***中所述快闪只读存储器中的所述***变量进行恢复。
8.根据权利要求1所述的方法,其特征在于,包括:
在所述服务器带电运行的情况下,检测所述可插拔设备的接入事件;
响应于检测到所述接入事件,触发从所述可插拔设备中获取所述基本产品信息。
9.根据权利要求1所述的方法,其特征在于,所述基本产品信息包括:所述可插拔设备的重要产品数据VPD。
10.根据权利要求1所述的方法,其特征在于,包括:
在所述可插拔设备包括带电可擦可编程只读存储器的情况下,所述基本产品信息存储于所述带电可擦可编程只读存储器;
在所述可插拔设备不包括所述带电可擦可编程只读存储器的情况下,所述基本产品信息存储于所述可插拔设备中的其他非易失性存储器中。
11.根据权利要求10所述的方法,其特征在于,包括:
在所述可插拔设备包括所述带电可擦可编程只读存储器的情况下,通过集成电路总线,在所述带电可擦可编程只读存储器中获取所述基本产品信息;
在所述可插拔设备不包括所述带电可擦可编程只读存储器的情况下,通过高速串行计算机扩展总线,在所述其他非易失性存储器中获取所述基本产品信息。
12.根据权利要求1所述的方法,其特征在于,所述可插拔设备至少包括:基于高速串行计算机扩展总线标准的硬件设备。
13.一种基于清除CMOS的数据的恢复装置,其特征在于,包括:
第一获取模块,用于响应于检测到的用于触发清除CMOS的触发事件,获取可插拔设备中的基本产品信息;
第二获取模块,用于从所述基本产品信息中获取硬件出厂配置默认信息;
恢复模块,用于根据所述硬件出厂配置默认信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。
14.一种基于清除CMOS的数据的恢复***,其特征在于,包括:服务器和可插拔设备,其中,
所述可插拔设备与所述服务器进行可插拔连接,用于提供基本产品信息;
所述服务器用于响应于检测到的用于触发清除CMOS的触发事件,获取所述可插拔设备中的基本产品信息,并从所述基本产品信息中获取硬件出厂配置默认信息,以及根据所述硬件出厂配置默认信息,对存储在基本输入输出***中快闪只读存储器中的***变量进行恢复。
15.根据权利要求14所述的***,其特征在于,包括:
所述服务器还用于在第n次启动过程中检测所述服务器的高速串行计算机扩展总线接口的插槽中是否接入所述可插拔设备,其中,n为正整数;
在所述第n次启动过程中检测到已接入所述可插拔设备的情况下,确定所述可插拔设备中用于存储所述基本产品信息的区域内是否存储所述硬件出厂配置默认信息;
在所述可插拔设备中用于存储所述基本产品信息的区域内存储有所述硬件出厂配置默认信息的情况下,所述服务器的基本输入输出***中的目标代码写入所述硬件出厂配置默认信息。
16.根据权利要求15所述的***,其特征在于,
所述服务器还用于在所述第n次启动过程中检测到所述服务器未接入所述可插拔设备的情况下,或者在所述可插拔设备中用于存储所述基本产品信息的区域内未存储有所述硬件出厂配置默认信息的情况下,通过所述服务器的所述基本输入输出***中的所述目标代码,从所述快闪只读存储器中的只读信息中读取所述硬件出厂配置默认信息。
17.根据权利要求16所述的***,其特征在于,
所述服务器还用于在所述第n次启动过程中检测到未接入所述可插拔设备的情况下,为所述基本输入输出***设置第一代码标志位,其中,所述第一代码标志位用于表示未接入所述可插拔设备。
18.根据权利要求14所述的***,其特征在于,
所述可插拔设备至少包括:基于高速串行计算机扩展总线标准的硬件设备。
19.根据权利要求14所述的***,其特征在于,包括:
所述服务器运行于Windows操作***或Linux操作***;
所述服务器至少包括基本输入输出***。
20.根据权利要求14所述的***,其特征在于,
所述可插拔设备可在所述服务器带电运行时,与所述服务器的基于高速串行计算机扩展总线标准的接口连接或断开。
21.根据权利要求14所述的***,其特征在于,
所述可插拔设备在预设时长内的插拔次数不超过预设值。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至12任一项中所述的方法的步骤。
23.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至12任一项中所述的方法的步骤。
CN202310719327.3A 2023-06-16 2023-06-16 基于清除cmos的数据的恢复方法及装置、*** Pending CN116450224A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310719327.3A CN116450224A (zh) 2023-06-16 2023-06-16 基于清除cmos的数据的恢复方法及装置、***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310719327.3A CN116450224A (zh) 2023-06-16 2023-06-16 基于清除cmos的数据的恢复方法及装置、***

Publications (1)

Publication Number Publication Date
CN116450224A true CN116450224A (zh) 2023-07-18

Family

ID=87128859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310719327.3A Pending CN116450224A (zh) 2023-06-16 2023-06-16 基于清除cmos的数据的恢复方法及装置、***

Country Status (1)

Country Link
CN (1) CN116450224A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117827554A (zh) * 2023-10-12 2024-04-05 宁畅信息产业(北京)有限公司 测试方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302621A (zh) * 2015-12-09 2016-02-03 浪潮电子信息产业股份有限公司 一种远程实现服务器BIOS Setup恢复初始值的方法
CN106603307A (zh) * 2016-12-30 2017-04-26 北京奇艺世纪科技有限公司 一种配置修改的方法及装置
CN109582505A (zh) * 2018-12-06 2019-04-05 广东浪潮大数据研究有限公司 一种bios选项默认值的恢复***、方法及装置
CN109582377A (zh) * 2018-12-04 2019-04-05 郑州云海信息技术有限公司 Bios选项修改方法、装置、设备及存储介质
CN115509622A (zh) * 2022-09-28 2022-12-23 苏州浪潮智能科技有限公司 配置信息的更新方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302621A (zh) * 2015-12-09 2016-02-03 浪潮电子信息产业股份有限公司 一种远程实现服务器BIOS Setup恢复初始值的方法
CN106603307A (zh) * 2016-12-30 2017-04-26 北京奇艺世纪科技有限公司 一种配置修改的方法及装置
CN109582377A (zh) * 2018-12-04 2019-04-05 郑州云海信息技术有限公司 Bios选项修改方法、装置、设备及存储介质
CN109582505A (zh) * 2018-12-06 2019-04-05 广东浪潮大数据研究有限公司 一种bios选项默认值的恢复***、方法及装置
CN115509622A (zh) * 2022-09-28 2022-12-23 苏州浪潮智能科技有限公司 配置信息的更新方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117827554A (zh) * 2023-10-12 2024-04-05 宁畅信息产业(北京)有限公司 测试方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
US10353779B2 (en) Systems and methods for detection of firmware image corruption and initiation of recovery
EP3063620B1 (en) Selective power management for pre-boot firmware updates
US7234050B2 (en) Techniques for initializing a device on an expansion card
US10866623B2 (en) Information handling system and method to detect and recover from no power/no post failures
CN101373433A (zh) 更新bios的方法以及使用该方法的电脑与***
CN103513993A (zh) 固件更新***及方法
CN107168829B (zh) 一种确保服务器***双bios安全可信运行的方法及***
CN102880527B (zh) 一种基板管理控制器的数据恢复方法
US10656676B2 (en) Docking device, electrical device, and MAC address cloning method
CN102395980A (zh) 智能卡读取器
US10540232B2 (en) Recovery using programmable logic device
KR20180086129A (ko) 정보 처리장치, 그 제어방법, 및 기억매체
WO2021136200A1 (zh) 引导程序的加载方法、存储介质及嵌入式终端
GB2463809A (en) Peripheral device operation method, peripheral device and host
CN116450224A (zh) 基于清除cmos的数据的恢复方法及装置、***
CN215769715U (zh) 一种开机异常的恢复装置
CN101515236B (zh) 基本输入输出***的恢复方法及其更新模组与电脑***
CN113656076A (zh) 一种基于硬件复用通道的bios启动方法及装置
CN110688235A (zh) Uefi固件与os间共享无线连接信息的***及方法
US10198270B2 (en) Dynamic hardware configuration via firmware interface at computing device boot
CN108958837B (zh) 一种动态配置me固件的方法、***及介质
CN105095000A (zh) Bios恢复电路
CN114185720B (zh) 服务器动态热备份的方法、装置、设备及存储介质
CN111176735B (zh) 一种心电图机启动加速方法
CN114967890B (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