CN112394963B - 更新国产平台smbios的方法和bios装置 - Google Patents

更新国产平台smbios的方法和bios装置 Download PDF

Info

Publication number
CN112394963B
CN112394963B CN202011364741.XA CN202011364741A CN112394963B CN 112394963 B CN112394963 B CN 112394963B CN 202011364741 A CN202011364741 A CN 202011364741A CN 112394963 B CN112394963 B CN 112394963B
Authority
CN
China
Prior art keywords
smbios
updating
information
bios
extracting
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
CN202011364741.XA
Other languages
English (en)
Other versions
CN112394963A (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.)
Kunlun Taike Beijing Technology Co ltd
Original Assignee
Kunlun Taike Beijing 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 Kunlun Taike Beijing Technology Co ltd filed Critical Kunlun Taike Beijing Technology Co ltd
Priority to CN202011364741.XA priority Critical patent/CN112394963B/zh
Publication of CN112394963A publication Critical patent/CN112394963A/zh
Application granted granted Critical
Publication of CN112394963B publication Critical patent/CN112394963B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明本公开涉及计算机领域,提供更新国产平台SMBIOS的方法和BIOS,该方法应用于应用于BIOS,包括以下步骤:第一步,提取存储设备中的文本格式的更新文件;第二步,从所述更新文件中提取更新信息,并根据所述更新信息将第一SMBIOS更新为第二SMBIOS。本发明的方法国产平台的BIOS直接利用只包含SMBIOS信息的文本格式的文件对SMBIOS信息进行更新,提高了更新SMBIOS的效率。

Description

更新国产平台SMBIOS的方法和BIOS装置
技术领域
本公开涉及计算机领域,尤其涉及更新国产平台SMBIOS的方法和BIOS装置。
背景技术
SMBIOS (System Management BIOS, 系统管理基本输入输出系统)是主板或者系统制造厂商以标准格式显示产品信息所遵循的统一规范。每个主板厂商或者OEM(OriginalEquipment Manufacturer,定点生产)厂商所生产的电脑,在出厂的时候都会按照SMBIOS标准将信息写入到BIOS中。这些信息包括BIOS信息、系统信息、处理器信息、设备信息等。
SMBIOS的信息通常是固定内容,要对SMBIOS进行更新通常分为几种方式:
方式1、通过直接修改BIOS代码来修改SMBIOS信息的方式:这种方式导致每次第一SMBIOS更新为第二SMBIOS时,需要重新刷写BIOS固件镜像,更新效率低下。
方式2、通过shell/DOS/OS下使用的工具来第一SMBIOS更新为第二SMBIOS:这种方式中计算机制造商一般不会提供这样的工具,这种工具一般为制造商内部使用,并且若计算机数量庞大时,逐台进行人工更新效率低下。
方式3、国外生产的计算机平台的SMBIOS更新的方式,通常是通过操作系统自带的工具(例如TOOL UI)加载Capsule并进行更新,BIOS将更新过的Capsule中的SMBIOS信息提取出来,用于更新自身的SMBIOS。国外的SMBIOS更新功能通常只对硬件的生产商提供。
并且,国产平台目前没有像国外量产的计算机平台那种标准化的工具(方式2、方式3),用方式1更新效率又比较低。
因此,现有技术更新SMBIOS需要更新BIOS或者用包含SMBIOS信息和其他信息的Capsule进行更新,如何提高更新国产平台的SMBIOS的效率成了本领域的课题。
发明内容
本发明提供了更新国产平台SMBIOS的方法和BIOS装置,利用只包含SMBIOS信息的文本文件更新SMBIOS,克服了上述现有技术之不足。
本发明提供了一种更新国产平台SMBIOS的方法,应用于BIOS,包括以下步骤:
第一步,提取存储设备中的文本格式的更新文件;
第二步,从更新文件中提取更新信息,并根据更新信息将第一SMBIOS更新为第二SMBIOS。
上述方法,第一步,还包括以下步骤:
提取第一SMBIOS中的第一信息;
则从更新文件中提取更新信息,并根据更新信息将第一SMBIOS更新为第二SMBIOS,包括以下步骤:
从更新文件中提取第二信息,根据第一信息和第二信息将第一SMBIOS更新为第二SMBIOS。
上述方法,还包括以下步骤:
判定第二步是否完成。
上述方法,判定第二步是否完成,包括以下步骤:
利用校验算法计算更新信息的第一校验值;
读取第二SMBIOS,利用校验算法计算第二SMBIOS的第二校验值;
若第一校验值等于第二校验值,则判定所述第二步完成。
本发明提供了一种更新国产平台SMBIOS的BIOS装置,包括以下模块:
提取模块,用于提取存储设备中的文本格式的更新文件;
更新模块,用于从更新文件中提取更新信息,并根据更新信息将第一SMBIOS更新为第二SMBIOS。
上述BIOS,提取模块,还包括以下子模块:
提取子模块,用于提取第一SMBIOS中的第一信息;
则更新模块,包括以下子模块:
更新子模块,用于从更新文件中提取第二信息,根据第一信息和第二信息将第一SMBIOS更新为第二SMBIOS。
上述BIOS,还包括以下模块:
判定模块,用于判定第二步是否完成。
上述BIOS,判定模块,还包括以下子模块:
第一校验子模块,用于利用校验算法计算更新信息的第一校验值;
第二校验子模块,用于读取SMBIOS信息中被更新信息所更新的内容,利用校验算法计算内容的第二校验值;
判定子模块,用于若第一校验值等于第二校验值,则判定所述第二步完成。
本发明的方法国产平台的BIOS直接利用只包含SMBIOS信息的文本格式的文件对SMBIOS信息进行更新,提高了更新SMBIOS的效率。
附图说明
图1为实施例1的一种更新国产平台SMBIOS的方法的流程图;
图2为本发明的BIOS更新SMBIOS方法的整体框架图;
图3为实施例5的一种更新国产平台SMBIOS的BIOS的示意图。
具体实施方式
本发明不受下述实施例的限制,可根据本发明的技术方案与实际情况来确定具体的实施方式。
下面结合实施例及附图对本发明作进一步描述:
实施例1:图1为实施例1的一种更新国产平台SMBIOS的方法的流程图,应用于BIOS,包括以下步骤:
S1,提取存储设备中的文本格式的更新文件;
S2,从更新文件中提取更新信息,并根据更新信息将第一SMBIOS更新为第二SMBIOS。
本发明应用的平台为国产平台(例如龙芯平台,申威平台等),进口芯片构建的平台中BIOS更新SMBIOS通常需要采用工具,无法进行底层的读写操作,国产平台的BIOS为自行设计,能够提供底层读写SMBIOS的接口。SMBIOS通常存储在Flash(闪存)芯片上。存储设备可以是硬盘或者其他外接的存储设备(例如移动硬盘或U盘)。存储设备可以是硬盘或者其他外接的存储设备(例如移动硬盘或U盘)。BIOS在上电后会加载接入的硬件的驱动程序(例如,接入的移动硬盘或U盘,存储SMBIOS的Flash芯片),在加载驱动后,可以通过本发明提供的方法利用上述BIOS完成SMBIOS的更新。
文本格式可以是TXT格式或BIN格式。
提取存储设备中的文本格式的更新文件的方式可以是手动的或者自动的。例如,BIOS界面可以提供更新SMBIOS的界面,用户在更新SMBIOS的界面选择存储设备中的更新文件;也可以设定默认目录,当BIOS读取到默认目录下有特定名称的更新文件时,自动提取该更新文件。
更新文件可以包括TYPE0-TYPE3信息,为了区分不同信息,可以在更新文件中为更新信息增添了头标记,即一段信息的开头增加前缀。例如,头标记可以是“TYPE_0_Version_4.0”,代表后面的更新信息是TYPE0信息,版本是4.0。
BIOS根据头标记,将更新信息抽取出来,填入SMBIOS Table的位置。第一SMBIOS为更新前的SMBIOS,第二SMBIOS为更新后的SMBIOS。
本发明的方法国产平台的BIOS直接利用只包含SMBIOS信息的文本格式的文件对SMBIOS信息进行更新,提高了更新SMBIOS的效率。
实施例2:上述方法,S1,还包括以下步骤:
S11,提取第一SMBIOS中的第一信息;
则S2,包括以下步骤:
S21,从更新文件中提取第二信息,根据第一信息和第二信息将第一SMBIOS更新为第二SMBIOS。
SMBIOS信息通常存储在同一个块中,包括TYPE0-TYPE3信息。其中,TYPE0信息(即第一信息)为固件厂商信息需要保留,TYPE1-TYPE3信息(即第二信息)是要更新的部分。如上文,SMBIOS通常存储在Flash芯片中,Flash芯片的写入方式为整块写入,Flash芯片在写入前需要对整块的信息进行擦除。为写入第二信息,位于同一块中的第一信息会被擦除,因此需要在写入第二信息前将第一信息缓存起来,防止丢失。写入的时候把第一信息和第二信息写入。
本实施例的更新SMBIOS的方法能够将SMBIOS信息中的固件厂商信息缓存起来并重新写入,因而该方法能够更有效地保护固件厂商信息。
实施例3:上述方法,还包括以下步骤:
S3,判定第二步是否完成。
实际应用中可以设定一定时间间隔,检验第二SMBIOS是否与更新信息相同。
本实施例的方法能够检验SMBIOS是否成功更新,因而能够更有效地更新SMBIOS。
实施例4:上述方法,S3步骤,包括以下步骤:
S31,利用校验算法计算更新信息的第一校验值;
S32,读取第二SMBIOS,利用校验算法计算第二SMBIOS的第二校验值;
S33,若第一校验值等于第二校验值,则判定所述第二步完成。
具体地,校验算法可以包括但不限于下列算法中的一种:哈希校验算法,奇偶校验算法。
本实施例的方法,利用准确性更高的校验算法判断更新后的SMBIOS是否与用于更新的信息相同,因而能够更准确地判断SMBIOS是否完成更新。
图2为本发明的BIOS更新SMBIOS方法的整体框架图,BIOS加载BIOS的Flash和U盘/硬盘等存储设备的设备驱动后,位于BIOS中的更新模块提取模块通过设备驱动提供的接口从存储设备中提取用于更新SMBIOS的更新文件,更新模块利用设备驱动的接口将SMBIOS文件用于更新BIOS的Flash中的SMBIOS。
基于同一发明构思,本发明实施例中还提供了更新国产平台SMBIOS的BIOS,由于该BIOS解决问题的原理与上述方法相似,因此该BIOS的实施可以参见方法的实施,重复之处不再赘述。
实施例5:图3为实施例5提供的一种更新国产平台SMBIOS的BIOS装置的示意图,包括以下模块:
提取模块,用于提取存储设备中的文本格式的更新文件;
更新模块,用于从更新文件中提取更新信息,并根据更新信息将第一SMBIOS更新为第二SMBIOS。
实施例6:上述BIOS装置,提取模块,还包括以下子模块:
提取子模块,用于提取第一SMBIOS中的第一信息;
更新模块,包括以下子模块:
更新子模块,用于从更新文件中提取第二信息,根据第一信息和第二信息将第一SMBIOS更新为第二SMBIOS。
实施例7:上述BIOS装置,还包括以下模块:
判定模块,用于判定第二步是否完成。
实施例8:上述BIOS装置,判定模块,还包括以下子模块:
第一校验子模块,用于利用校验算法计算更新信息的第一校验值;
第二校验子模块,用于读取SMBIOS信息中被更新信息所更新的内容,利用校验算法计算内容的第二校验值;
判定子模块,用于若第一校验值等于第二校验值,则判定所述第二步完成。

Claims (6)

1.一种更新国产平台SMBIOS的方法,应用于BIOS,其特征在于,包括以下步骤:
第一步,提取第一SMBIOS中的第一信息,提取存储设备中的文本格式的更新文件;其中提取存储设备中文本格式的更新文件的方式包括:1、利用BIOS界面提供更新SMBIOS的界面,在更新SMBIOS的界面选择存储设备中的更新文件;2、设定默认目录,当BIOS读取到默认目录下有特定名称的更新文件时,自动提取该更新文件,其中存储设备包括移动硬盘、U盘;
第二步,从所述更新文件中提取第二信息,根据所述第一信息和所述第二信息将所述第一SMBIOS更新为第二SMBIOS。
2.根据权利要求1所述的方法,其特征在于,还包括以下步骤:
判定所述第二步是否完成。
3.根据权利要求2所述的方法,其特征在于,所述判定所述第二步是否完成,包括以下步骤:
利用校验算法计算所述第二信息的第一校验值;
读取所述第二SMBIOS中被所述第二信息所更新的内容,利用所述校验算法计算所述内容的第二校验值;
若所述第一校验值等于所述第二校验值,则判定所述第二步完成。
4.一种更新国产平台SMBIOS的BIOS装置,其特征在于,包括以下模块:
提取子模块,提取第一SMBIOS中的第一信息,提取存储设备中的文本格式的更新文件;其中提取存储设备中文本格式的更新文件的方式包括:1、利用BIOS界面提供更新SMBIOS的界面,在更新SMBIOS的界面选择存储设备中的更新文件,2、设定默认目录,当BIOS读取到默认目录下有特定名称的更新文件时,自动提取该更新文件;其中存储设备包括移动硬盘、U盘;
更新子模块,从所述更新文件中提取第二信息,根据所述第一信息和所述第二信息将所述第一SMBIOS更新为第二SMBIOS。
5.根据权利要求4所述的更新国产平台SMBIOS的BIOS装置,其特征在于,还包括以下模块:判定模块,判定所述更新子模块将所述第一SMBIOS更新为所述第二SMBIOS是否完成。
6.根据权利要求5所述的更新国产平台SMBIOS的BIOS装置,其特征在于,所述判定模块,还包括以下子模块:
第一校验子模块,利用校验算法计算所述第二信息的第一校验值;
第二校验子模块,读取所述第二SMBIOS中被所述第二信息所更新的内容,利用所述校验算法计算所述内容的第二校验值;
判定子模块,若所述第一校验值等于所述第二校验值,则判定所述更新子模块将所述第一SMBIOS更新为所述第二SMBIOS完成。
CN202011364741.XA 2020-11-27 2020-11-27 更新国产平台smbios的方法和bios装置 Active CN112394963B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011364741.XA CN112394963B (zh) 2020-11-27 2020-11-27 更新国产平台smbios的方法和bios装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011364741.XA CN112394963B (zh) 2020-11-27 2020-11-27 更新国产平台smbios的方法和bios装置

Publications (2)

Publication Number Publication Date
CN112394963A CN112394963A (zh) 2021-02-23
CN112394963B true CN112394963B (zh) 2023-06-09

Family

ID=74605449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011364741.XA Active CN112394963B (zh) 2020-11-27 2020-11-27 更新国产平台smbios的方法和bios装置

Country Status (1)

Country Link
CN (1) CN112394963B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104423974A (zh) * 2013-08-20 2015-03-18 崴方科技股份有限公司 在线自动修改bios的方法
CN104679566A (zh) * 2015-03-13 2015-06-03 华为技术有限公司 更新smbios的方法和终端设备
CN107506217A (zh) * 2017-09-14 2017-12-22 南京百敖软件有限公司 通过BIOS更新Capsule来更新用户输入SMBIOS信息的方法
CN108845815A (zh) * 2018-06-20 2018-11-20 郑州云海信息技术有限公司 一种刷新smbios信息的方法
CN109101251A (zh) * 2018-07-16 2018-12-28 南京百敖软件有限公司 一种smbios模块的修改方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060224874A1 (en) * 2005-03-30 2006-10-05 Inventec Corporation Method for updating system management basic input output system (SMBIOS) data
US7908469B2 (en) * 2005-03-30 2011-03-15 Inventec Corporation Method for executing power on self test on a computer system and updating SMBIOS information partially
CN107145455B (zh) * 2017-04-19 2020-02-14 深圳市国鑫恒宇科技有限公司 一种整机系统更新smbios静态信息的方法
CN107193599B (zh) * 2017-05-23 2020-11-27 苏州浪潮智能科技有限公司 一种动态更新smbios中系统插槽信息的方法
CN109582377A (zh) * 2018-12-04 2019-04-05 郑州云海信息技术有限公司 Bios选项修改方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104423974A (zh) * 2013-08-20 2015-03-18 崴方科技股份有限公司 在线自动修改bios的方法
CN104679566A (zh) * 2015-03-13 2015-06-03 华为技术有限公司 更新smbios的方法和终端设备
CN107506217A (zh) * 2017-09-14 2017-12-22 南京百敖软件有限公司 通过BIOS更新Capsule来更新用户输入SMBIOS信息的方法
CN108845815A (zh) * 2018-06-20 2018-11-20 郑州云海信息技术有限公司 一种刷新smbios信息的方法
CN109101251A (zh) * 2018-07-16 2018-12-28 南京百敖软件有限公司 一种smbios模块的修改方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Yanis Beqqali等.Malware's Double Anti Analysis (DAA) Analysis Methodology.《2019 11th International Conference on Electronics, Computers and Artificial Intelligence (ECAI)》.2020,第1-8页. *
基于UEFI的SMBIOS设计与研究;朱贺新等;《计算机工程与设计》;第34卷(第9期);第3348-3352页 *
符合SMBIOS规范的通用采集接口的实现;吴瑞睿等;《中国新技术新产品》(第5期);第2-3页 *

Also Published As

Publication number Publication date
CN112394963A (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
EP2998861B1 (en) Implementing and deleting method and device for intelligent terminal multi-operation system
US8756458B2 (en) Mount-time reconciliation of data availability
WO2015070521A1 (zh) 将ubi格式的系统文件制作成工厂烧录映像文件方法
US20050177709A1 (en) Apparatus and method for updating firmware
KR101555210B1 (ko) 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치
US20140129875A1 (en) Method for reading kernel log upon kernel panic in operating system
JPH08328762A (ja) 半導体ディスク装置及びそのメモリ管理方法
CN107391038B (zh) 资料存储型闪存的数据写入方法、闪存及存储介质
CN109086078B (zh) 安卓系统升级方法、装置、服务器及移动终端
US20120303944A1 (en) Data recovering system and method
CN111338562B (zh) 数据存储装置与数据处理方法
WO2019041891A1 (zh) 升级包的生成方法及装置
US20060129520A1 (en) System and method for automatically updating a program in a computer
CN102331920B (zh) 一种数据处理方法及装置
KR101565975B1 (ko) 인덱스를 저장하는 플래시 메모리를 포함하는 사용자 장치 및 그것의 인덱스 액세스 방법
KR100456736B1 (ko) 플래시 메모리를 구비한 디지털 기기의 부팅 시간 단축 방법
CN101131649A (zh) 设有闪存的装置的只读存储器升级速度改善方法
CN112394963B (zh) 更新国产平台smbios的方法和bios装置
US20110252414A1 (en) System using separate modules to update software and the method thereof
CN114625399A (zh) 系统升级方法及相关装置、设备和存储介质
US9817573B2 (en) Smart card management method, memory storage device and memory control circuit unit
KR20180023575A (ko) 펌웨어 자동 업데이트 방법 및 이의 방법을 기록한 컴퓨터 판독 가능한 기록 매체
KR100706471B1 (ko) 전자기기의 펌웨어 업데이트 방법
CN112463042B (zh) 一种数据卷导入数据校验方法、装置、终端及存储介质
CN111198651B (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
CB02 Change of applicant information

Address after: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing

Applicant after: CLP Technology (Beijing) Co.,Ltd.

Address before: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing

Applicant before: CETC (BEIJING) Co.,Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing

Applicant after: Kunlun Taike (Beijing) Technology Co.,Ltd.

Address before: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing

Applicant before: CLP Technology (Beijing) Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant