CN108388452A - 一种锁定bios启动项的方法 - Google Patents

一种锁定bios启动项的方法 Download PDF

Info

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
Application number
CN201810179820.XA
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.)
Shandong Chaoyue CNC Electronics Co Ltd
Original Assignee
Shandong Chaoyue CNC Electronics 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 Shandong Chaoyue CNC Electronics Co Ltd filed Critical Shandong Chaoyue CNC Electronics Co Ltd
Priority to CN201810179820.XA priority Critical patent/CN108388452A/zh
Publication of CN108388452A publication Critical patent/CN108388452A/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/4406Loading of operating system
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User 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启动项的方法
技术领域
本发明属于计算机技术领域,特别涉及一种锁定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控制器地址。
CN201810179820.XA 2018-03-05 2018-03-05 一种锁定bios启动项的方法 Pending CN108388452A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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