BIOS空启动项删除方法、系统、终端及存储介质与流程

文档序号:28210380发布日期:2021-12-28 20:24阅读:275来源:国知局
BIOS空启动项删除方法、系统、终端及存储介质与流程
bios空启动项删除方法、系统、终端及存储介质
技术领域
1.本发明涉及服务器技术领域,具体涉及一种bios空启动项删除方法、系统、终端及存储介质。


背景技术:

2.fat32格式是usb存储设备预装的文件系统,属于windows平台的传统文件格式,兼容性较好,很多用户会选择fat32作为u盘的预装系统使用。bios(basic input output system)基本输入输出系统,作为服务器主板最底层的、最直接的硬件设置和控制的管理者,能为服务器提供更多简单的易用性功能。bios setup可以将bios的一些功能设置以选项的形式显示出来,用户可以通过修改setup选项值来修改一些功能设置以达到满足不同的需求。其中,bios setup中可以显示启动项,即setup中设置了启动项列表用来显示所插存储设备可以进行启动的选项—启动项,这样在setup中选择启动项就可以进入启动系统。
3.fat32格式的usb存储设备作为一种特殊的存储设备,uefi文档规定fat32格式的usb存储设备也会作为一个启动设备,即使这个fat32格式的u盘是一个空u盘或u盘中并没有可以进入启动系统的启动路径,这样造成在bios setup下会产生一个空的启动项,这也是固件厂商一直以来按照uefi文档进行的设置。但是fat32格式空的或无启动路径的usb存储设备产生的启动项也是一个空的启动项,并无法使用,没有存在的意义,也容易给用户带来一些不必要的麻烦,如:误进入此空启动项,并不能启动系统。因此,fat32格式空的或没有启动路径的usb存储设备,不必要产生启动项,bios端需要删除此空启动项,不让其显示在启动项列表中,即从setup中的启动项列表中删除,让用户不会再误进入此空的启动项而带来麻烦。
4.因此,需要对fat32格式usb存储设备产生启动项功能进行优化,避免生成无用的空启动项,如何从启动项列表(boot option list)中删除此空启动项并将此空启动项从启动顺序(boot order)中删除是本发明面临的难题。


技术实现要素:

5.针对现有技术的上述不足,本发明提供一种bios空启动项删除方法、系统、终端及存储介质,以解决上述技术问题。
6.第一方面,本发明提供一种bios空启动项删除方法,包括:
7.读取基本输入输出系统中的启动项信息列表,并从所述启动项信息列表中筛选出存储格式为usb存储设备的目标启动项信息;
8.将目标启动项信息的启动路径保存至结构体;
9.读取并访问结构体中的启动路径,如果访问失败则将所述启动路径所属的目标启动项信息标记为空启动项;
10.根据空启动项标记将启动项信息列表中的相应启动项信息删除,并在删除完成后根据启动项信息列表更新启动项列表。
11.进一步的,读取基本输入输出系统中的启动项信息列表,并从所述启动项信息列表中筛选出存储格式为usb存储设备的目标启动项信息,包括:
12.构建处理函数,所述处理函数遍历启动项信息列表,从所述启动项信息列表筛选出所有存储格式为usb存储设备的目标启动项信息;
13.设定处理周期,根据所述处理周期定期调用所述处理函数。
14.进一步的,将目标启动项信息的启动路径保存至结构体,包括:
15.从目标启动项信息中提取统一可扩展固件接口启动路径;
16.为所述统一可扩展固件接口启动路径定义身份令牌,并基于所述身份令牌将统一可扩展固件接口启动路径保存至结构体。
17.进一步的,读取并访问结构体中的启动路径,如果访问失败则将所述启动路径所属的目标启动项信息标记为空启动项,包括:
18.利用构建的文件访问函数访问所述启动路径下的文件,若访问失败则将所述启动路径的判断变量标记为不可打开;
19.通过变量赋值将启动路径的判断变量被标记为不可打开的启动项信息标记为空启动项。
20.进一步的,根据空启动项标记将启动项信息列表中的相应启动项信息删除,并在删除完成后根据启动项信息列表更新启动项列表,包括:
21.利用监控进程监控启动项信息列表的数据更新情况;
22.如果监控到启动项信息列表存在数据更新,则遍历所述启动项信息列表,从启动项信息列表中查找启动项列表中启动项的匹配启动项信息,将不存在匹配启动项信息的启动项从启动项列表中删除。
23.第二方面,本发明提供一种bios空启动项删除系统,包括:
24.信息筛选单元,用于读取基本输入输出系统中的启动项信息列表,并从所述启动项信息列表中筛选出存储格式为usb存储设备的目标启动项信息;
25.路径存储单元,用于将目标启动项信息的启动路径保存至结构体;
26.信息标记单元,用于读取并访问结构体中的启动路径,如果访问失败则将所述启动路径所属的目标启动项信息标记为空启动项;
27.列表更新单元,用于根据空启动项标记将启动项信息列表中的相应启动项信息删除,并在删除完成后根据启动项信息列表更新启动项列表。
28.进一步的,所述信息筛选单元用于:
29.构建处理函数,所述处理函数遍历启动项信息列表,从所述启动项信息列表筛选出所有存储格式为usb存储设备的目标启动项信息;
30.设定处理周期,根据所述处理周期定期调用所述处理函数。
31.进一步的,所述信息保存单元用于:
32.从目标启动项信息中提取统一可扩展固件接口启动路径;
33.为所述统一可扩展固件接口启动路径定义身份令牌,并基于所述身份令牌将统一可扩展固件接口启动路径保存至结构体。
34.进一步的,所述信息标记单元用于:
35.利用构建的文件访问函数访问所述启动路径下的文件,若访问失败则将所述启动
路径的判断变量标记为不可打开;
36.通过变量赋值将启动路径的判断变量被标记为不可打开的启动项信息标记为空启动项。
37.进一步的,所述列表更新单元用于:
38.利用监控进程监控启动项信息列表的数据更新情况;
39.如果监控到启动项信息列表存在数据更新,则遍历所述启动项信息列表,从启动项信息列表中查找启动项列表中启动项的匹配启动项信息,将不存在匹配启动项信息的启动项从启动项列表中删除。
40.第三方面,提供一种终端,包括:
41.处理器、存储器,其中,
42.该存储器用于存储计算机程序,
43.该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
44.第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
45.本发明的有益效果在于,本发明提供的bios空启动项删除方法、系统、终端及存储介质,通过读取基本输入输出系统中的启动项信息列表,并从启动项信息列表中筛选出存储格式为usb存储设备的目标启动项信息,得到一个筛选范围,即由于造成空启动项的基本上是usb存储设备(fat32格式),因此先将所有usb存储设备的启动项信息筛选出来,初步缩小筛选范围;将目标启动项信息的启动路径保存至结构体,读取并访问结构体中的启动路径,如果访问失败则将所述启动路径所属的目标启动项信息标记为空启动项,实现对启动路径的可用性检测,根据空启动项标记将启动项信息列表中的相应启动项信息删除,并在删除完成后根据启动项信息列表更新启动项列表,实现自动删除bios中的空启动项。本发明删除了空或无启动路径的fat 32格式usb存储设备产生的空启动项,使得fat 32格式u盘和其它格式u盘一样只有在具有启动路径的时候才产生启动项,并且这个启动项是可以启动的,并不是空的启动项。这种方式更能满足用户的使用体验,避免了用户误进入空启动项而无法退出,必须重启服务器的窘境。
46.此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
47.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1是本发明一个实施例的方法的示意性流程图。
49.图2是本发明一个实施例的系统的示意性框图。
50.图3为本发明实施例提供的一种终端的结构示意图。
具体实施方式
51.为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实
施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
52.下面对本发明中出现的关键术语进行解释。
53.bios是英文"basic input output system"的缩略词,直译过来后中文名称就是"基本输入输出系统"。在ibmpc兼容系统上,是一种业界标准的固件接口。它是一组固化到计算机内主板上一个rom芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从cmos中读写系统设置的具体信息。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,bios还向作业系统提供一些系统参数。系统硬件的变化是由bios隐藏,程序使用bios功能而不是直接控制硬件。现代作业系统会忽略bios提供的抽象层并直接控制硬件组件。
54.cpu中央处理器(central processing unit,简称cpu)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
55.启动项目,就是开机的时候系统会在前台或者后台运行的程序。当操作系统完成登录过程,进程表中出现了很多的进程。操作系统在启动的时候,自动加载了很多程序。许多程序的自启动,给我们带来了很多方便,这是不争的事实,但不是每个自启动的程序对我们都有用;更甚者,也许有病毒或木马在自启动行列。其实在windows操作系统中关于自启动文件,除了从以前系统中遗留下来的autoexec.bat文件中加载外,按照两个文件夹和9个核心注册表子键来自动加载程序的。一般分5类。
56.图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种bios空启动项删除系统。
57.如图1所示,该方法包括:
58.步骤110,读取基本输入输出系统中的启动项信息列表,并从所述启动项信息列表中筛选出存储格式为usb存储设备的目标启动项信息;
59.步骤120,将目标启动项信息的启动路径保存至结构体;
60.步骤130,读取并访问结构体中的启动路径,如果访问失败则将所述启动路径所属的目标启动项信息标记为空启动项;
61.步骤140,根据空启动项标记将启动项信息列表中的相应启动项信息删除,并在删除完成后根据启动项信息列表更新启动项列表。
62.为了便于对本发明的理解,下面以本发明bios空启动项删除方法的原理,结合实施例中对bios空启动项进行删除的过程,对本发明提供的bios空启动项删除方法做进一步的描述。
63.具体的,所述bios空启动项删除方法包括:
64.s1、读取基本输入输出系统中的启动项信息列表,并从所述启动项信息列表中筛选出存储格式为usb存储设备的目标启动项信息。
65.构建处理函数,所述处理函数遍历启动项信息列表,从所述启动项信息列表筛选出所有存储格式为usb存储设备的目标启动项信息;设定处理周期,根据所述处理周期定期调用所述处理函数。
66.新建功能模块定义移除空启动项函数,遍历所有boot option list(启动项信息列表),根据产生boot option的设备类型,首先过滤出存储格式为usb的存储设备。为了保证bios的启动项列表中没有空启动项,要设置处理周期,定期调用移除空启动项函数,例如,每隔15min执行一次。
67.s2、将目标启动项信息的启动路径保存至结构体。
68.从目标启动项信息中提取统一可扩展固件接口启动路径;为所述统一可扩展固件接口启动路径定义身份令牌,并基于所述身份令牌将统一可扩展固件接口启动路径保存至结构体。
69.定义一个token用来存放uefishell启动路径,并定义结构体数组bootfilename用来存放启动系统的启动路径。
70.s3、读取并访问结构体中的启动路径,如果访问失败则将所述启动路径所属的目标启动项信息标记为空启动项。
71.利用构建的文件访问函数访问所述启动路径下的文件,若访问失败则将所述启动路径的判断变量标记为不可打开;通过变量赋值将启动路径的判断变量被标记为不可打开的启动项信息标记为空启动项。
72.定义启动项删除标志变量bootdeleteflag=ture;4)判断产生boot option的设备中是否能通过打开文件路径函数打开uefi shell启动路径或启动系统的启动路径,若能打开则代表此存储usb设备中有启动路径,将变量bootdeleteflag=false;若不能打开,则表示此存储usb设备中无启动路径,则不做动作;5)根据启动项删除变量bootdeleteflag的值来判断是否将启动项从启动项列表中删除,即若bootdeleteflag=ture,则将此启动项的bootoptionnumber赋值为0。
73.s4、根据空启动项标记将启动项信息列表中的相应启动项信息删除,并在删除完成后根据启动项信息列表更新启动项列表。
74.利用监控进程监控启动项信息列表的数据更新情况;如果监控到启动项信息列表存在数据更新,则遍历所述启动项信息列表,从启动项信息列表中查找启动项列表中启动项的匹配启动项信息,将不存在匹配启动项信息的启动项从启动项列表中删除。
75.将boot option list中的bootoptionnumber为0的项进行删除,则最终将启动项从启动项列表中进行了删除;6)新建函数更新boot order中的启动项,此函数遍历boot option list,根据bootboot option list中的bootoptionnumber更新boot order,则在boot option list中删除的启动项也不会出现在boot order中,最终实现了空启动项从boot option list和boot order中删除。
76.本实施例提供的bios空启动项删除方法,通过读取基本输入输出系统中的启动项信息列表,并从启动项信息列表中筛选出存储格式为usb存储设备的目标启动项信息,得到一个筛选范围,即由于造成空启动项的基本上是usb存储设备(fat32格式),因此先将所有usb存储设备的启动项信息筛选出来,初步缩小筛选范围;将目标启动项信息的启动路径保存至结构体,读取并访问结构体中的启动路径,如果访问失败则将所述启动路径所属的目标启动项信息标记为空启动项,实现对启动路径的可用性检测,根据空启动项标记将启动项信息列表中的相应启动项信息删除,并在删除完成后根据启动项信息列表更新启动项列表,实现自动删除bios中的空启动项。本实施例删除了空或无启动路径的fat 32格式usb存
储设备产生的空启动项,使得fat 32格式u盘和其它格式u盘一样只有在具有启动路径的时候才产生启动项,并且这个启动项是可以启动的,并不是空的启动项。这种方式更能满足用户的使用体验,避免了用户误进入空启动项而无法退出,必须重启服务器的窘境。
77.如图2所示,该系统200包括:
78.信息筛选单元210,用于读取基本输入输出系统中的启动项信息列表,并从所述启动项信息列表中筛选出存储格式为usb存储设备的目标启动项信息;
79.路径存储单元220,用于将目标启动项信息的启动路径保存至结构体;
80.信息标记单元230,用于读取并访问结构体中的启动路径,如果访问失败则将所述启动路径所属的目标启动项信息标记为空启动项;
81.列表更新单元240,用于根据空启动项标记将启动项信息列表中的相应启动项信息删除,并在删除完成后根据启动项信息列表更新启动项列表。
82.可选地,作为本发明一个实施例,所述信息筛选单元用于:
83.构建处理函数,所述处理函数遍历启动项信息列表,从所述启动项信息列表筛选出所有存储格式为usb存储设备的目标启动项信息;
84.设定处理周期,根据所述处理周期定期调用所述处理函数。
85.可选地,作为本发明一个实施例,所述信息保存单元用于:
86.从目标启动项信息中提取统一可扩展固件接口启动路径;
87.为所述统一可扩展固件接口启动路径定义身份令牌,并基于所述身份令牌将统一可扩展固件接口启动路径保存至结构体。
88.可选地,作为本发明一个实施例,所述信息标记单元用于:
89.利用构建的文件访问函数访问所述启动路径下的文件,若访问失败则将所述启动路径的判断变量标记为不可打开;
90.通过变量赋值将启动路径的判断变量被标记为不可打开的启动项信息标记为空启动项。
91.可选地,作为本发明一个实施例,所述列表更新单元用于:
92.利用监控进程监控启动项信息列表的数据更新情况;
93.如果监控到启动项信息列表存在数据更新,则遍历所述启动项信息列表,从启动项信息列表中查找启动项列表中启动项的匹配启动项信息,将不存在匹配启动项信息的启动项从启动项列表中删除。
94.本实施例删除了空或无启动路径的fat 32格式usb存储设备产生的空启动项,使得fat 32格式u盘和其它格式u盘一样只有在具有启动路径的时候才产生启动项,并且这个启动项是可以启动的,并不是空的启动项。这种方式更能满足用户的使用体验,避免了用户误进入空启动项而无法退出,必须重启服务器的窘境。
95.图3为本发明实施例提供的一种终端300的结构示意图,该终端300可以用于执行本发明实施例提供的bios空启动项删除方法。
96.其中,该终端300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
97.其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
98.处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integrated circuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器310可以仅包括中央处理器(central processing unit,简称cpu)。在本发明实施方式中,cpu可以是单运算核心,也可以包括多运算核心。
99.通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
100.本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read

only memory,简称:rom)或随机存储记忆体(英文:random access memory,简称:ram)等。
101.因此,本发明通过读取基本输入输出系统中的启动项信息列表,并从启动项信息列表中筛选出存储格式为usb存储设备的目标启动项信息,得到一个筛选范围,即由于造成空启动项的基本上是usb存储设备(fat32格式),因此先将所有usb存储设备的启动项信息筛选出来,初步缩小筛选范围;将目标启动项信息的启动路径保存至结构体,读取并访问结构体中的启动路径,如果访问失败则将所述启动路径所属的目标启动项信息标记为空启动项,实现对启动路径的可用性检测,根据空启动项标记将启动项信息列表中的相应启动项信息删除,并在删除完成后根据启动项信息列表更新启动项列表,实现自动删除bios中的空启动项。本发明删除了空或无启动路径的fat 32格式usb存储设备产生的空启动项,使得fat 32格式u盘和其它格式u盘一样只有在具有启动路径的时候才产生启动项,并且这个启动项是可以启动的,并不是空的启动项。这种方式更能满足用户的使用体验,避免了用户误进入空启动项而无法退出,必须重启服务器的窘境,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
102.本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
103.本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中
的说明即可。
104.在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
105.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
106.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
107.尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1