CN108388452A - 一种锁定bios启动项的方法 - Google Patents
一种锁定bios启动项的方法 Download PDFInfo
- Publication number
- CN108388452A CN108388452A CN201810179820.XA CN201810179820A CN108388452A CN 108388452 A CN108388452 A CN 108388452A CN 201810179820 A CN201810179820 A CN 201810179820A CN 108388452 A CN108388452 A CN 108388452A
- Authority
- CN
- China
- Prior art keywords
- hard disk
- startup
- bios
- locking
- environmental variance
- 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
Links
Classifications
-
- 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
- G06F9/4406—Loading of operating system
-
- 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种锁定BIOS启动项的方法,所述BIOS基于UEFI固件,包括下述步骤:从环境变量获取用户设定的启动类型;所述的环境变量用以指代启动设备的类型;所述启动类型包括,硬盘启动、光盘启动和USB设备启动;然后,根据环境变量判断启动类型是否为硬盘启动;如果是,则枚举系统中的所有硬盘,获取各硬盘的Disk Info Protocol和对应的Device Path Protocol,遍历查找符合锁定条件的硬盘,找到后,建立启动项并调整Boot Order,将新建立的启动项加入链表表头,使用UEFI BIOS通用的启动策略引导操作系统;否则,直接使用UEFI BIOS通用的启动策略引导操作系统。
Description
技术领域
本发明属于计算机技术领域,特别涉及一种锁定BIOS启动项的方法。
背景技术
现今,PC及服务器上的BIOS都是基于UEFI架构的,UEFI(Unified ExtensibleFirmware Interface)既通用可扩展固件接口,是新一代的基本输入输出系统技术,旨在定义一套完整的操作系统与固件之间的规范。
各个厂家的BIOS都有不同的选择启动项的模式,针对不同的平台和应用场景。其中,有些应用场景由于未连接显示设备(如部分服务器平台),无法通过 BIOS界面选择指定的启动项;更多的是一些多硬盘的应用场景,需要从特定硬盘启动,但每次硬盘插拔均会改变多硬盘的启动顺序,需要重新进入BIOS界面修改启动顺序,操作十分不便,故需要一种锁定BIOS启动项的方法。
发明内容
针对上述缺陷,本发明的目的在于提供一种锁定BIOS启动项的方法,在多硬盘的应用场景下,能够有效的避免硬盘插拔或添加等操作影响启动项,使用户能够直接设定系统从特定的硬盘启动。
本发明为实现上述目的,通过以下技术方案实现:一种锁定BIOS启动项的方法,所述BIOS基于UEFI固件,包括下述步骤:从环境变量获取用户设定的启动类型;所述的环境变量用以指代启动设备的类型;所述启动类型包括,硬盘启动、光盘启动和USB设备启动;然后,根据环境变量判断启动类型是否为硬盘启动;如果是,则枚举系统中的所有硬盘,获取各硬盘的Disk Info Protocol和对应的Device Path Protocol,遍历查找符合锁定条件的硬盘,找到后,建立启动项并调整Boot Order,将新建立的启动项加入链表表头,使用UEFIBIOS通用的启动策略引导操作系统;否则,直接使用UEFI BIOS通用的启动策略引导操作系统。
进一步,所述环境变量的设定方法包括,将硬盘启动的环境变量设为0,将光盘启动的环境变量设为1,将USB设备启动的环境变量设为2,并在BIOS Setup界面下建立对应的选项,允许用户修改环境变量的值。
进一步,所述Disk Info Protocol用于获取硬盘名称和硬盘SN码。
进一步,所述Device Path Protocol用于获取硬盘所对应的SATA控制器地址和硬盘在SATA控制器中对应的port口编号。
进一步,所述遍历查找符合锁定条件的硬盘的方法包括以下步骤:判断是否有仍未遍历的硬盘,如果否,直接使用UEFI BIOS通用的启动策略引导操作系统;如果是,继续遍历下一个硬盘,并将硬盘名称、硬盘SN码、硬盘所对应的SATA控制器地址和对应的port口编号与锁定条件对比,确定符合锁定条件的硬盘;若仍然无法确定符合锁定条件的硬盘,继续遍历查找符合锁定条件的硬盘。
进一步,所述锁定条件为用户指定的硬盘名称、硬盘SN码或硬盘所对应的SATA控制器地址。
对比现有技术,本发明有益效果在于:本发明提出的一种锁定BIOS启动项的方法,它能够根据用户指定的硬盘启动项调整UEFI BIOS中的Boot Order环境变量,将新建立的启动项插入Boot Order链表的表头,并从Boot Order中所记录的第一个启动项引导操作系统,从而实现从特定硬盘启动的功能。
本发明首先根据环境变量判断启动类型,用户可以自主添加启动设备并修改环境变量的值,提高了系统的兼容性。在进行硬盘遍历查找时,使用UEFI规范中的HandleProtocol接口,获取系统中所有的Disk Info Protocol接口,利用该接口的硬盘名称和硬盘SN码等信息,同时在Disk Info Protocol接口所对应的Controller Handle上获取Device Path Protocol接口,利用该接口获取硬盘所对应的SATA控制器地址和硬盘在SATA控制器中对应的port口编号并将上述信息一一对应后作为硬盘识别判定的依据,保证了硬盘识别的准确性;将硬盘名称、硬盘SN码和硬盘所对应的SATA控制器地址均作为硬盘的锁定条件,实现了锁定条件的多样性,便于用户的操作。
另外,本发明基于UEFI固件,采用UEFI BIOS通用的启动策略,适用于当今主流的PC平台和服务器平台。
附图说明
附图1是本发明的方法流程图。
具体实施方式
下面结合附图对本发明的具体实施方式做出说明。
如图1所示的一种锁定BIOS启动项的方法,首先读取根据环境变量的数值,判断用户所选择的启动设备类型,若值为0,则从硬盘启动。
使用UEFI规范中的Handle Protocol接口,获取系统中所有的Disk InfoProtocol接口,利用该接口的硬盘名称和硬盘SN码等信息,同时在Disk Info Protocol接口所对应的Controller Handle上获取Device Path Protocol接口,利用该接口获取硬盘所对应的SATA控制器地址和硬盘在SATA控制器中对应的port口编号。
根据用户指定的地址、指定名称或指定SN码的硬盘,对上述枚举信息进行筛选,锁定所需的特定硬盘。若用户选择从特定地址的硬盘启动,则首先通过SATA控制器所在的PCIBus号、PCI Device号和PCI Function号判断硬盘所在SATA控制器的地址是否正确,SATA控制器地址正确则进一步对比硬盘在SATA控制器中对应的port口编号,port口编号也正确即判定为被锁定的硬盘;若用户选择从特定名称或SN码的硬盘启动,则将硬盘信息中的名称或SN码与被锁定硬盘的名称或SN码进行比对,若名称或SN码一致即判定为被锁定的硬盘。筛选完成后,仅针对该硬盘建立对应的环境变量记录硬盘信息,将其作为BIOS启动项。同时调整UEFI BIOS中的Boot Order环境变量,将新建立的启动项插入Boot Order链表的表头。
最后,按照UEFI BIOS通用的启动策略,从Boot Order中所记录的第一个启动项引导操作系统,从而实现从特定硬盘启动的功能。
另外,在上述的对枚举信息进行筛选,锁定所需的特定硬盘的过程中,如果遍历所有硬盘后仍无法找到符合锁定条件的硬盘,则直接按照UEFI BIOS通用的启动策略,从BootOrder中所记录的第一个启动项引导操作系统。
结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。
Claims (6)
1.一种锁定BIOS启动项的方法,所述BIOS基于UEFI固件,其特征在于,包括以下步骤:
从环境变量获取用户设定的启动类型;所述的环境变量用以指代启动设备的类型;所述启动类型包括,硬盘启动、光盘启动和USB设备启动;
根据环境变量判断启动类型是否为硬盘启动;
如果是,则枚举系统中的所有硬盘,获取各硬盘的Disk Info Protocol和对应的Device Path Protocol,遍历查找符合锁定条件的硬盘,找到后,建立启动项并调整BootOrder,将新建立的启动项加入链表表头,使用UEFI BIOS通用的启动策略引导操作系统;
否则,直接使用UEFI BIOS通用的启动策略引导操作系统。
2.根据权利要求1所述的锁定BIOS启动项的方法,其特征在于:所述环境变量的设定方法包括,将硬盘启动的环境变量设为0,将光盘启动的环境变量设为1,将USB设备启动的环境变量设为2,并在BIOS Setup界面下建立对应的选项,允许用户修改环境变量的值。
3.根据权利要求1所述的锁定BIOS启动项的方法,其特征在于:所述Disk InfoProtocol用于获取硬盘名称和硬盘SN码。
4.根据权利要求3所述的锁定BIOS启动项的方法,其特征在于:所述Device PathProtocol用于获取硬盘所对应的SATA控制器地址和硬盘在SATA控制器中对应的port口编号。
5.根据权利要求4所述的锁定BIOS启动项的方法,其特征在于,所述遍历查找符合锁定条件的硬盘的方法包括以下步骤:
判断是否有仍未遍历的硬盘,如果否,直接使用UEFI BIOS通用的启动策略引导操作系统;
如果是,继续遍历下一个硬盘,并将硬盘名称、硬盘SN码、硬盘所对应的SATA控制器地址和对应的port口编号与锁定条件对比,确定符合锁定条件的硬盘;若仍然无法确定符合锁定条件的硬盘,继续遍历查找符合锁定条件的硬盘。
6.根据权利要求5所述的锁定BIOS启动项的方法,其特征在于,所述锁定条件为用户指定的硬盘名称、硬盘SN码或硬盘所对应的SATA控制器地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810179820.XA CN108388452A (zh) | 2018-03-05 | 2018-03-05 | 一种锁定bios启动项的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810179820.XA CN108388452A (zh) | 2018-03-05 | 2018-03-05 | 一种锁定bios启动项的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108388452A true CN108388452A (zh) | 2018-08-10 |
Family
ID=63069873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810179820.XA Pending CN108388452A (zh) | 2018-03-05 | 2018-03-05 | 一种锁定bios启动项的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108388452A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710319A (zh) * | 2018-12-06 | 2019-05-03 | 郑州云海信息技术有限公司 | 一种计算机在位硬盘的识别方法及系统 |
CN110018856A (zh) * | 2019-04-03 | 2019-07-16 | 中电科技(北京)有限公司 | 动态修改uefi启动顺序的方法 |
CN117950738A (zh) * | 2024-03-25 | 2024-04-30 | 深圳市磐鼎科技有限公司 | 显卡的自动控制方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6883093B2 (en) * | 2000-11-30 | 2005-04-19 | International Business Machines Corporation | Method and system for creating and managing common and custom storage devices in a computer network |
CN1991756A (zh) * | 2005-12-27 | 2007-07-04 | 鸿富锦精密工业(深圳)有限公司 | 热键选择启动设备的系统及方法 |
CN101499008A (zh) * | 2008-01-30 | 2009-08-05 | 中兴通讯股份有限公司 | 硬盘启动顺序的认别方法及硬盘启动顺序的认别系统 |
CN101826020A (zh) * | 2009-03-06 | 2010-09-08 | 英业达股份有限公司 | 电脑启动设备的启动顺序的读取方法 |
CN107368322A (zh) * | 2017-07-28 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种调整操作系统下硬盘启动顺序的方法及装置 |
CN107632864A (zh) * | 2017-09-14 | 2018-01-26 | 南京百敖软件有限公司 | 一种建立特定排序的UEFI Boot Order的方法 |
-
2018
- 2018-03-05 CN CN201810179820.XA patent/CN108388452A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6883093B2 (en) * | 2000-11-30 | 2005-04-19 | International Business Machines Corporation | Method and system for creating and managing common and custom storage devices in a computer network |
CN1991756A (zh) * | 2005-12-27 | 2007-07-04 | 鸿富锦精密工业(深圳)有限公司 | 热键选择启动设备的系统及方法 |
CN101499008A (zh) * | 2008-01-30 | 2009-08-05 | 中兴通讯股份有限公司 | 硬盘启动顺序的认别方法及硬盘启动顺序的认别系统 |
CN101826020A (zh) * | 2009-03-06 | 2010-09-08 | 英业达股份有限公司 | 电脑启动设备的启动顺序的读取方法 |
CN107368322A (zh) * | 2017-07-28 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种调整操作系统下硬盘启动顺序的方法及装置 |
CN107632864A (zh) * | 2017-09-14 | 2018-01-26 | 南京百敖软件有限公司 | 一种建立特定排序的UEFI Boot Order的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710319A (zh) * | 2018-12-06 | 2019-05-03 | 郑州云海信息技术有限公司 | 一种计算机在位硬盘的识别方法及系统 |
CN109710319B (zh) * | 2018-12-06 | 2022-07-19 | 郑州云海信息技术有限公司 | 一种计算机在位硬盘的识别方法及系统 |
CN110018856A (zh) * | 2019-04-03 | 2019-07-16 | 中电科技(北京)有限公司 | 动态修改uefi启动顺序的方法 |
CN117950738A (zh) * | 2024-03-25 | 2024-04-30 | 深圳市磐鼎科技有限公司 | 显卡的自动控制方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108388452A (zh) | 一种锁定bios启动项的方法 | |
US7725613B2 (en) | Device installation with host controller consideration | |
US10055415B2 (en) | Methods and systems for deploying hardware files to a computer | |
CN101488867B (zh) | 图像显示装置及显示系统以及网络设定方法 | |
US7805721B2 (en) | System and method for automated migration from Windows to Linux | |
US7941814B1 (en) | Device driver processing for automated system restores | |
US7665084B2 (en) | Uninstall system | |
US7114028B1 (en) | Method of automatically formatting and pseudo-mounting a removable media | |
US6469967B1 (en) | Methods for determining write rates of optical media devices | |
CN109871213A (zh) | 基于国产平台的OpenStack容器化系统及方法 | |
US7409603B2 (en) | System and method for testing hardware devices | |
US20060188215A1 (en) | Content transferring method, transferring apparatus, and transferring program | |
US20070113010A1 (en) | Automatic format of removable media | |
CN1574844A (zh) | 信息处理装置、其控制方法及实现该控制方法的程序 | |
US8725685B2 (en) | Content transfer apparatus and associated methodology of updating contents between devices | |
US7975028B2 (en) | Migration of data between computers | |
US20210208859A1 (en) | System for managing multiple clouds and method thereof | |
CN105933930A (zh) | 双卡模式下的搜网方法和装置 | |
CN105988943B (zh) | 一种驱动无线适配器的方法及装置 | |
JP5522896B2 (ja) | 番組検索情報を編集する方法および装置 | |
CA2515279C (en) | Electrical music apparatus capable of connection with external device | |
CN107632864B (zh) | 一种建立特定排序的UEFI Boot Order的方法 | |
EP1617325A1 (en) | Information processing device, information processing method, program, recording medium | |
CN106470124A (zh) | 一种无线接入点的升级方法及装置 | |
US20050066337A1 (en) | Portable operating environment |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180810 |