CN107066306A - 一种动态调整bios中hii配置的方法 - Google Patents
一种动态调整bios中hii配置的方法 Download PDFInfo
- Publication number
- CN107066306A CN107066306A CN201710389643.3A CN201710389643A CN107066306A CN 107066306 A CN107066306 A CN 107066306A CN 201710389643 A CN201710389643 A CN 201710389643A CN 107066306 A CN107066306 A CN 107066306A
- Authority
- CN
- China
- Prior art keywords
- hii
- configuration
- content
- variable
- guid
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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中HII配置的方法,包括如下步骤:1遍历FD中的每个FV,建立表单链表;2解析表单链表中的节点,根据IFR和UNI、Variable解析出表单信息,还原表单中的字符名称和配置内容;3根据表单信息和字符名称、配置内容,还原HII配置界面,并显示配置内容;4用户修改HII配置界面上的配置内容并保存;5根据修改后的配置项的GUID查找表单链表,找到对应的IFR,UNI和Variable,将修改后的内容写到对应的Variable中;6将修改后的BIOS Image烧录到机器中4。该方法使普通用户有也可以修改HII配置,修改后的BIOS Image可以烧录到同一类型的多台机器上,实现批量修改。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种动态调整BIOS中HII配置的方法。
背景技术
BIOS中的用户配置是通过HII(Human Interface Infrastructure,人机接口服务)配置界面实现的。HII提供字符、字体、表单信息等数据的设置及访问服务。目前BIOS开发的模式是,BIOS开发者根据客户需求完成BIOS开发,然后发布BIOS二进制文件给客户使用。客户在使用BIOS时,有时需要对BIOS中的HII默认值进行调整和修改,现有BIOS中HII调整的方法有两种,一是通过修改BIOS源代码然后再编译,进行调整BIOS镜像中的HII默认值,这种方法需要由专业的开发人员来操作,普通用户无法自己完成;另一种方法是通过进入BIOS配置界面修改后保存,来调整本机的HII配置,这种方法只能修改本机的HII配置默认值,修改后无法用到其他机器,需要对每台机器进行修改,大批量生产时效率低下。
发明内容
发明目的:针对现有技术中存在的问题,本发明公开了一种动态调整BIOS中HII配置的方法,使普通用户有也可以修改HII配置,且修改后的BIOS Image可以烧录到同一类型的多台机器上,实现批量修改HII配置。
技术方案:本发明采用如下技术方案:
一种动态调整BIOS中HII配置的方法,包括如下步骤:
(1)遍历固件设备中的每个固件卷,建立表单链表,表单链表中每一个节点包括全局唯一标识符Vguid、指向GUID值为Vguid的IFR、UNI、Variable的指针,或GUID值为Vguid的IFR、UNI、Variable的地址;
(2)解析表单链表中的每一个节点,根据IFR和UNI、Variable解析出表单信息,所述表单信息包括表单结构、表单名称、表单项目;根据UNI和Variable还原表单中的字符名称和配置内容;
(3)根据步骤(2)中获取到的表单信息和字符名称、配置内容,还原HII配置界面,并显示配置内容;
(4)用户修改还原的HII配置界面上的配置内容,并保存;
(5)根据修改后的配置项的GUID,查找表单链表,找到对应的IFR,UNI和Variable,将修改后的内容写到对应的Variable中;
(6)将修改后的BIOS Image烧录到机器中,实现了修改HII配置的目的。
优选地,将步骤(2)中解析和还原后的表单信息和对应的字符名称、配置内容保存成HII配置文件;所述HII配置文件中的内容包括:配置项字符名称、配置项GUID、配置内容的类型和默认值,配置项说明、帮助信息;步骤(3)根据HII配置文件还原HII配置界面。
进一步地,其特征在于,步骤(4)中用户修改了HII配置界面上的配置内容,HII配置文件中的对应部分也做相应修改。
作为另一种优选,所述表单信息中还包括配置项的层次关联关系;步骤(3)中用图形构建出配置项的层次关联关系。
作为另一种优选,所述表单信息中还包括帮助信息;在还原的HII配置界面中显示所述帮助信息。
有益效果:与现有技术相比,本发明公开的方法具有以下优点:1、本发明公开的修改HII配置的方法简单,不需要BIOS开发人员的参与就可以完成;2、修改后的BIOS Image可以烧录并应用到所有需要的设备上,所修改的HII配置在所有设备上都是有效的;对同一类型的设备,可以实现批量更改HII配置,能极大提高修改HII配置的效率;3、通过本发明方法修改HII配置,不需要对BIOS做特定修改,不需要特定的OS支持,对所有UEFI模式的BIOS都是有效的。
附图说明
图1为HII界面相关参数分布示意图;
图2为本发明公开的方法的流程示意图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明。
在BIOS开发中,HII配置界面的表单是开发者利用VFR(Visual FormsRepresentation)语言进行开发和描述的,界面中的字符是用UNI文件进行描述的。VFR编译后生成IFR(Internal Forms Representation)来描述和表示Bios界面的结构和表单信息,每个界面都由一个IFR表示。UNI文件全称为Unicode File,表示字串ID和字符之间的对应关系,其为字符文件,用于描述多语言字符串,为BIOS界面提供多语言支持。
在BIOS编译后,这些VFR产生的IFR信息和UNI字符信息都会分散在BIOS Image的不同模块中。在HII界面中的设定值,是存放在BIOS相应的Variable中的,如图1所示。
IFR在描述一个显示界面的时候,用VFR语言表示具体显示项的层次关联关系,用字串ID表示用到的显示字符,用定义好的Variable表示设定的默认值。在bios运行的时候,需要查询UNI和Variable的内容,再把实际字串内容和设定值显示到设置界面上。一个界面用一个表单表示,同一表单的IFR、UNI、Variable具有相同的GUID(Globally UniqueIdentifier,全局唯一标识符)。
如图2所示,本实施例采用如下步骤:
(1)遍历固件设备(Firmware Device,FD)中的每个固件卷(Firmware Volume,FV),建立表单链表,表单链表中每一个节点包括全局唯一标识符Vguid、指向GUID值为Vguid的IFR、UNI、Variable的指针,或GUID值为Vguid的IFR、UNI、Variable的地址;
(2)解析表单链表中的每一个节点,根据IFR和UNI、Variable解析出表单信息,所述表单信息包括表单结构、表单名称、表单项目、配置项的层次关联关系、帮助信息;根据UNI和Variable还原表单中的字符名称和配置内容;
将解析和还原后的表单信息和对应的字符名称、配置内容保存成HII配置文件;所述HII配置文件中的内容包括:配置项字符名称、配置项GUID、配置内容的类型和默认值,配置项说明、帮助信息;
(3)根据HII配置文件还原HII配置界面,用图形构建出配置项的层次关联关系,并显示配置内容,在还原的HII配置界面中显示所述帮助信息;
(4)用户修改还原的HII配置界面上的配置内容,并保存;HII配置文件中的对应部分也做相应修改;
(5)根据修改后的配置项的GUID,查找表单链表,找到对应的IFR,UNI和Variable,将修改后的内容写到对应的Variable中;
(6)将修改后的BIOS Image烧录到机器中,实现了修改HII配置的目的。
Claims (5)
1.一种动态调整BIOS中HII配置的方法,其特征在于,包括如下步骤:
(1)遍历固件设备中的每个固件卷,建立表单链表,表单链表中每一个节点包括全局唯一标识符Vguid、指向GUID值为Vguid的IFR、UNI、Variable的指针,或GUID值为Vguid的IFR、UNI、Variable的地址;
(2)解析表单链表中的每一个节点,根据IFR和UNI、Variable解析出表单信息,所述表单信息包括表单结构、表单名称、表单项目;根据UNI和Variable还原表单中的字符名称和配置内容;
(3)根据步骤(2)中获取到的表单信息和字符名称、配置内容,还原HII配置界面,并显示配置内容;
(4)用户修改还原的HII配置界面上的配置内容,并保存;
(5)根据修改后的配置项的GUID,查找表单链表,找到对应的IFR,UNI和Variable,将修改后的内容写到对应的Variable中;
(6)将修改后的BIOS Image烧录到机器中,实现了修改HII配置的目的。
2.根据权利要求1所述的动态调整BIOS中HII配置的方法,其特征在于,还包括如下步骤:
将步骤(2)中解析和还原后的表单信息和对应的字符名称、配置内容保存成HII配置文件;所述HII配置文件中的内容包括:配置项字符名称、配置项GUID、配置内容的类型和默认值,配置项说明、帮助信息;
步骤(3)根据HII配置文件还原HII配置界面。
3.根据权利要求2所述的动态调整BIOS中HII配置的方法,其特征在于,步骤(4)中用户修改了HII配置界面上的配置内容,HII配置文件中的对应部分也做相应修改。
4.根据权利要求1所述的动态调整BIOS中HII配置的方法,其特征在于,所述表单信息中还包括配置项的层次关联关系;步骤(3)中用图形构建出配置项的层次关联关系。
5.根据权利要求1所述的动态调整BIOS中HII配置的方法,其特征在于,所述表单信息中还包括帮助信息;在还原的HII配置界面中显示所述帮助信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710389643.3A CN107066306B (zh) | 2017-05-27 | 2017-05-27 | 一种动态调整bios中hii配置的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710389643.3A CN107066306B (zh) | 2017-05-27 | 2017-05-27 | 一种动态调整bios中hii配置的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107066306A true CN107066306A (zh) | 2017-08-18 |
CN107066306B CN107066306B (zh) | 2021-01-08 |
Family
ID=59615325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710389643.3A Active CN107066306B (zh) | 2017-05-27 | 2017-05-27 | 一种动态调整bios中hii配置的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107066306B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897575A (zh) * | 2018-06-11 | 2018-11-27 | 联想(北京)有限公司 | 电子设备的配置方法以及配置系统 |
CN113064647A (zh) * | 2021-03-26 | 2021-07-02 | 山东英信计算机技术有限公司 | 一种bios中配置项目端口的方法、装置、终端及存储介质 |
-
2017
- 2017-05-27 CN CN201710389643.3A patent/CN107066306B/zh active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897575A (zh) * | 2018-06-11 | 2018-11-27 | 联想(北京)有限公司 | 电子设备的配置方法以及配置系统 |
CN108897575B (zh) * | 2018-06-11 | 2022-04-22 | 联想(北京)有限公司 | 电子设备的配置方法以及配置系统 |
CN113064647A (zh) * | 2021-03-26 | 2021-07-02 | 山东英信计算机技术有限公司 | 一种bios中配置项目端口的方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107066306B (zh) | 2021-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10282664B2 (en) | Method and device for constructing event knowledge base | |
CN104461484B (zh) | 前端模板的实现方法和装置 | |
US7188115B2 (en) | Processing fixed-format data in a unicode environment | |
WO2021017735A1 (zh) | 一种智能合约的形式化验证方法、电子装置及存储介质 | |
CN101676910A (zh) | 一种面向Web应用系统的页面生成方法 | |
CN103593456B (zh) | 表单自定义设计方法及装置 | |
AU2775401A (en) | Method and apparatus for generating structured documents for various presentations | |
US11829667B2 (en) | Creation of component templates and removal of dead content therefrom | |
JP2004005568A (ja) | レガシー・アプリケーションの高速gui体裁更新 | |
JP2011525029A (ja) | 表形式データの階層的提示 | |
JP2006202277A (ja) | 非独自言語によって駆動される一般アプリケーション用シーケンス図ジェネレータ | |
US7475337B1 (en) | Generating structured documents by associating document elements in a first display with displayed document type definitions in a second display | |
CN114035773A (zh) | 一种基于配置的低代码开发表单方法、系统及装置 | |
CN102521414B (zh) | 数据钻取装置和数据钻取方法 | |
CN106886551A (zh) | 一种利用标记语言显示图像的方法及装置 | |
CN104616158A (zh) | 生成商品详情页面的方法和装置 | |
US20150220236A1 (en) | Post-designing method and apparatus based on variant configuration in development of graphic user interface | |
CN107066306A (zh) | 一种动态调整bios中hii配置的方法 | |
CN108804053A (zh) | 信息处理装置和存储介质 | |
KR20110016881A (ko) | 데이터 뷰어 관리 | |
CA2427185A1 (en) | Automated database query generation | |
CN104216721A (zh) | 一种在操作系统启动之前下发配置的方法 | |
CN108701153B (zh) | 响应自然语言查询的方法、系统和计算机可读存储介质 | |
TWI685759B (zh) | 智能學習語詞編修與多國語言互譯的系統與方法 | |
US20030037027A1 (en) | Text stream filter |
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: 210061 11/F, Block A, Chuangzhi Building, 17 Xinghuo Road, Nanjing High-tech Zone, Jiangsu Province Applicant after: NANJING BYOSOFT CO., LTD. Address before: 210061 10th Floor, Block B, 9 Software Building, Xinghuo Road, Nanjing High-tech Zone, Jiangsu Province Applicant before: NANJING BYOSOFT CO., LTD. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |