搜索
您的当前位置:首页正文

一种锁定BIOS启动项的方法[发明专利]

2020-02-13 来源:步旅网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 108388452 A(43)申请公布日 2018.08.10

(21)申请号 201810179820.X(22)申请日 2018.03.05

(71)申请人 山东超越数控电子股份有限公司

地址 250101 山东省济南市高新区孙村镇

科航路2877号(72)发明人 孙文健 吴登勇 陈亮甫 孙动 (74)专利代理机构 济南舜源专利事务所有限公

司 37205

代理人 刘晓政(51)Int.Cl.

G06F 9/4401(2018.01)G06F 9/445(2018.01)

权利要求书1页 说明书3页 附图1页

CN 108388452 A(54)发明名称

一种锁定BIOS启动项的方法(57)摘要

本发明公开了一种锁定BIOS启动项的方法,所述BIOS基于UEFI固件,包括下述步骤:从环境变量获取用户设定的启动类型;所述的环境变量

所述启动类型包括,用以指代启动设备的类型;

硬盘启动、光盘启动和USB设备启动;然后,根据环境变量判断启动类型是否为硬盘启动;如果是,则枚举系统中的所有硬盘,获取各硬盘的Disk Info Protocol和对应的Device Path Protocol,遍历查找符合锁定条件的硬盘,找到后,建立启动项并调整Boot Order,将新建立的启动项加入链表表头,使用UEFI BIOS通用的启动策略引导操作系统;否则,直接使用UEFI BIOS通用的启动策略引导操作系统。

CN 108388452 A

权 利 要 求 书

1/1页

1.一种锁定BIOS启动项的方法,所述BIOS基于UEFI固件,其特征在于,包括以下步骤:从环境变量获取用户设定的启动类型;所述的环境变量用以指代启动设备的类型;所述启动类型包括,硬盘启动、光盘启动和USB设备启动;

根据环境变量判断启动类型是否为硬盘启动;如果是,则枚举系统中的所有硬盘,获取各硬盘的Disk Info Protocol和对应的Device Path Protocol,遍历查找符合锁定条件的硬盘,找到后,建立启动项并调整Boot Order,将新建立的启动项加入链表表头,使用UEFI BIOS通用的启动策略引导操作系统;

否则,直接使用UEFI BIOS通用的启动策略引导操作系统。2.根据权利要求1所述的锁定BIOS启动项的方法,其特征在于:所述环境变量的设定方法包括,将硬盘启动的环境变量设为0,将光盘启动的环境变量设为1,将USB设备启动的环境变量设为2,并在BIOS Setup界面下建立对应的选项,允许用户修改环境变量的值。

3.根据权利要求1所述的锁定BIOS启动项的方法,其特征在于:所述Disk Info Protocol用于获取硬盘名称和硬盘SN码。

4.根据权利要求3所述的锁定BIOS启动项的方法,其特征在于:所述Device Path Protocol用于获取硬盘所对应的SATA控制器地址和硬盘在SATA控制器中对应的port口编号。

5.根据权利要求4所述的锁定BIOS启动项的方法,其特征在于,所述遍历查找符合锁定条件的硬盘的方法包括以下步骤:

判断是否有仍未遍历的硬盘,如果否,直接使用UEFI BIOS通用的启动策略引导操作系统;

如果是,继续遍历下一个硬盘,并将硬盘名称、硬盘SN码、硬盘所对应的SATA控制器地址和对应的port口编号与锁定条件对比,确定符合锁定条件的硬盘;若仍然无法确定符合锁定条件的硬盘,继续遍历查找符合锁定条件的硬盘。

6.根据权利要求5所述的锁定BIOS启动项的方法,其特征在于,所述锁定条件为用户指定的硬盘名称、硬盘SN码或硬盘所对应的SATA控制器地址。

2

CN 108388452 A

说 明 书

一种锁定BIOS启动项的方法

1/3页

技术领域

[0001]本发明属于计算机技术领域,特别涉及一种锁定BIOS启动项的方法。

背景技术

[0002]现今,PC及服务器上的BIOS都是基于UEFI架构的,UEFI(Unified Extensible Firmware Interface)既通用可扩展固件接口,是新一代的基本输入输出系统技术,旨在定义一套完整的操作系统与固件之间的规范。

[0003]各个厂家的BIOS都有不同的选择启动项的模式,针对不同的平台和应用场景。其中,有些应用场景由于未连接显示设备(如部分服务器平台),无法通过 BIOS界面选择指定的启动项;更多的是一些多硬盘的应用场景,需要从特定硬盘启动,但每次硬盘插拔均会改变多硬盘的启动顺序,需要重新进入BIOS界面修改启动顺序,操作十分不便,故需要一种锁定BIOS启动项的方法。

发明内容

[0004]针对上述缺陷,本发明的目的在于提供一种锁定BIOS启动项的方法,在多硬盘的应用场景下,能够有效的避免硬盘插拔或添加等操作影响启动项,使用户能够直接设定系统从特定的硬盘启动。

[0005]本发明为实现上述目的,通过以下技术方案实现:一种锁定BIOS启动项的方法,所述BIOS基于UEFI固件,包括下述步骤:从环境变量获取用户设定的启动类型;所述的环境变量用以指代启动设备的类型;所述启动类型包括,硬盘启动、光盘启动和USB设备启动;然后,根据环境变量判断启动类型是否为硬盘启动;如果是,则枚举系统中的所有硬盘,获取各硬盘的Disk Info Protocol和对应的Device Path Protocol,遍历查找符合锁定条件的硬盘,找到后,建立启动项并调整Boot Order,将新建立的启动项加入链表表头,使用UEFI BIOS通用的启动策略引导操作系统;否则,直接使用UEFI BIOS通用的启动策略引导操作系统。

[0006]进一步,所述环境变量的设定方法包括,将硬盘启动的环境变量设为0,将光盘启动的环境变量设为1,将USB设备启动的环境变量设为2,并在BIOS Setup界面下建立对应的选项,允许用户修改环境变量的值。[0007]进一步,所述Disk Info Protocol用于获取硬盘名称和硬盘SN码。[0008]进一步,所述Device Path Protocol用于获取硬盘所对应的SATA控制器地址和硬盘在SATA控制器中对应的port口编号。[0009]进一步,所述遍历查找符合锁定条件的硬盘的方法包括以下步骤:判断是否有仍未遍历的硬盘,如果否,直接使用UEFI BIOS通用的启动策略引导操作系统;如果是,继续遍历下一个硬盘,并将硬盘名称、硬盘SN码、硬盘所对应的SATA控制器地址和对应的port口编号与锁定条件对比,确定符合锁定条件的硬盘;若仍然无法确定符合锁定条件的硬盘,继续遍历查找符合锁定条件的硬盘。

3

CN 108388452 A[0010]

说 明 书

2/3页

进一步,所述锁定条件为用户指定的硬盘名称、硬盘SN码或硬盘所对应的SATA控

制器地址。

[0011]对比现有技术,本发明有益效果在于:本发明提出的一种锁定BIOS启动项的方法,它能够根据用户指定的硬盘启动项调整UEFI BIOS中的Boot Order环境变量,将新建立的启动项插入Boot Order链表的表头,并从Boot Order中所记录的第一个启动项引导操作系统,从而实现从特定硬盘启动的功能。

[0012]本发明首先根据环境变量判断启动类型,用户可以自主添加启动设备并修改环境变量的值,提高了系统的兼容性。在进行硬盘遍历查找时,使用UEFI规范中的Handle Protocol接口,获取系统中所有的Disk Info Protocol接口,利用该接口的硬盘名称和硬盘SN码等信息,同时在Disk Info Protocol接口所对应的Controller Handle上获取Device Path Protocol接口,利用该接口获取硬盘所对应的SATA控制器地址和硬盘在SATA控制器中对应的port口编号并将上述信息一一对应后作为硬盘识别判定的依据,保证了硬盘识别的准确性;将硬盘名称、硬盘SN码和硬盘所对应的SATA控制器地址均作为硬盘的锁定条件,实现了锁定条件的多样性,便于用户的操作。[0013]另外,本发明基于UEFI固件,采用UEFI BIOS通用的启动策略,适用于当今主流的PC平台和服务器平台。

附图说明

[0014]附图1是本发明的方法流程图。

具体实施方式

[0015]下面结合附图对本发明的具体实施方式做出说明。[0016]如图1所示的一种锁定BIOS启动项的方法,首先读取根据环境变量的数值,判断用户所选择的启动设备类型,若值为0,则从硬盘启动。

[0017]使用UEFI规范中的Handle Protocol接口,获取系统中所有的Disk Info Protocol接口,利用该接口的硬盘名称和硬盘SN码等信息,同时在Disk Info Protocol接口所对应的Controller Handle上获取Device Path Protocol接口,利用该接口获取硬盘所对应的SATA控制器地址和硬盘在SATA控制器中对应的port口编号。[0018]根据用户指定的地址、指定名称或指定SN码的硬盘,对上述枚举信息进行筛选,锁定所需的特定硬盘。若用户选择从特定地址的硬盘启动,则首先通过SATA控制器所在的PCI Bus号、PCI Device号和PCI Function号判断硬盘所在SATA控制器的地址是否正确,SATA控制器地址正确则进一步对比硬盘在SATA控制器中对应的port口编号,port口编号也正确即判定为被锁定的硬盘;若用户选择从特定名称或SN码的硬盘启动,则将硬盘信息中的名称或SN码与被锁定硬盘的名称或SN码进行比对,若名称或SN码一致即判定为被锁定的硬盘。筛选完成后,仅针对该硬盘建立对应的环境变量记录硬盘信息,将其作为BIOS启动项。同时调整UEFI BIOS中的Boot Order环境变量,将新建立的启动项插入Boot Order链表的表头。[0019]最后,按照UEFI BIOS通用的启动策略,从Boot Order中所记录的第一个启动项引导操作系统,从而实现从特定硬盘启动的功能。[0020]另外,在上述的对枚举信息进行筛选,锁定所需的特定硬盘的过程中,如果遍历所

4

CN 108388452 A

说 明 书

3/3页

有硬盘后仍无法找到符合锁定条件的硬盘,则直接按照UEFI BIOS通用的启动策略,从Boot Order中所记录的第一个启动项引导操作系统。[0021]结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。

5

CN 108388452 A

说 明 书 附 图

1/1页

图1

6

因篇幅问题不能全部显示,请点此查看更多更全内容

Top