本技术涉及电子,尤其是涉及一种可自动修复bios的方法、装置、电子设备和可读存储介质。
背景技术:
1、服务器是计算机的一种,它是网络上一种为客户端计算机提供各种服务的高性能的计算机。在服务器上设置的bios芯片影响着服务器是否能正常开机,bios芯片搭载着为计算机提供最基础、最直接的硬件设置和控制的bios。
2、在平时开关、重启服务器系统时,cpu会频繁操作主板的bios,可能出现bios文件损坏的情况,导致服务器无法正常开机。当发现服务器无法正常开机后,会通过修复代码的方式对bios文件进行修复,在修复后,再重新进行开机操作。
3、但是,当bios文件存在损坏时,至少需要两次开机操作才能正常开机,不能保证服务器每次都能正常开机。
技术实现思路
1、为了提高在bios文件损坏的情况下服务器能够一次性正常开机的成功率,本技术提供一种可自动修复bios的方法、装置、电子设备和可读存储介质。
2、第一方面,本技术提供一种可自动修复bios的方法,应用于服务器,采用如下的技术方案:
3、一种可自动修复bios的方法,包括:
4、响应于开机信号,建立bmc系统与bios rom的连接;
5、响应于bmc系统发送的读取指令,读取bios rom存储的初始bios文件,并向bmc系统发送初始bios文件;
6、若接收到bmc系统发送的切换指令,则建立cpu与bios rom的连接,执行开机动作;
7、若接收到bmc系统发送的第一拷贝指令,则对第一拷贝指令进行解析,得到备份bios文件,将备份bios文件作为新的bios文件存储于bios rom;
8、在将备份bios文件作为新的bios文件存储于bios rom后,建立cpu与bios rom的连接,并基于新的bios文件执行开机动作。
9、可选的,在建立cpu与bios rom的连接,并基于新的bios文件执行开机动作之前,方法还包括:
10、将新的bios文件发送给bmc系统;
11、若接收到bmc系统发送的切换指令,则建立cpu与bios rom的连接,并基于新的bios文件执行开机动作;
12、若接收到bmc系统发送的第一拷贝指令,则将备份bios文件作为新的bios文件存储于bios rom,并重复执行将新的bios文件发送给bmc系统的步骤,直至接收到bmc系统发送的切换指令。
13、可选的,响应于bmc系统发送的第二拷贝指令,对第二拷贝指令进行解析,得到下载的bios文件,并将下载的bios文件作为新的bios文件存储于bios rom。
14、第二方面,本技术提供一种可自动修复bios的系统,采用如下的技术方案:
15、一种可自动修复bios的系统,包括:
16、开机信号响应模块,用于响应于开机信号,建立bmc系统与bios rom的连接;
17、读取模块,用于响应于所述bmc系统发送的读取指令,读取所述bios rom存储的初始bios文件,并向所述bmc系统发送所述初始bios文件;
18、第一开机执行模块,用于若接收到所述bmc系统发送的切换指令,则建立cpu与bios rom的连接,执行开机动作;
19、拷贝模块,用于若接收到所述bmc系统发送的第一拷贝指令,则对所述第一拷贝指令进行解析,得到备份bios文件,将所述备份bios文件作为新的bios文件存储于所述biosrom;
20、第二开机执行模块,用于在将所述备份bios文件作为新的bios文件存储于所述bios rom后,建立cpu与所述bios rom的连接,并基于新的bios文件执行开机动作。
21、第三方面,本技术提供一种可自动修复bios的方法,应用于bmc,采用如下的技术方案:
22、在与服务器的bios rom建立连接后,向服务器发送读取指令,其中,读取指令用于服务器读取bios rom存储的初始bios文件,并将初始bios文件发送给bmc系统;
23、在接收到服务器发送的初始bios文件后,对初始bios文件进行hash计算,生成初始hash值;
24、将初始hash值与备份hash值进行比对;
25、若比对一致,则向所述服务器发送切换指令,其中,切换指令用于服务器建立cpu与bios rom的连接;
26、若比对不一致,则向服务器发送包含与备份hash值对应的备份bios文件的第一拷贝指令,其中,第一拷贝指令用于服务器将备份bios文件作为新的bios文件存储于biosrom。
27、可选的,在接收到服务器发送的新的bios文件后,对新的bios文件进行hash计算,生成新的hash值;
28、将新的hash值与备份hash值进行比对;
29、若比对一致,则向服务器发送切换指令;
30、若比对不一致,则向服务器发送第一拷贝指令。
31、可选的,响应于更新指令,下载bios文件;
32、对下载的bios文件进行hash计算,生成新的备份hash值,对下载的bios文件和所述新的备份hash值进行备份;
33、建立与服务器的bios rom的连接,向服务器发送包含下载的bios文件的第二拷贝指令,其中,第二拷贝指令用于服务器将下载的bios文件作为新的bios文件存储于biosrom。
34、第四方面,本技术提供一种可自动修复bios的系统,采用如下的技术方案:
35、读取指令发送模块,用于在与服务器的bios rom建立连接后,向所述服务器发送读取指令,其中,所述读取指令用于所述服务器读取所述bios rom存储的初始bios文件,并将所述初始bios文件发送给所述bmc系统;
36、第一生成模块,用于在接收到所述服务器发送的初始bios文件后,对所述初始bios文件进行hash计算,生成初始hash值;
37、第一比对模块,用于将所述初始hash值与备份hash值进行比对;
38、切换指令发送模块,用于若比对一致,则向所述服务器发送切换指令,其中,所述切换指令用于所述服务器建立cpu与bios rom的连接;
39、拷贝指令发送模块,用于若比对不一致,则向所述服务器发送包含与所述备份hash值对应的备份bios文件的第一拷贝指令,其中,所述第一拷贝指令用于所述服务器将所述备份bios文件作为新的bios文件存储于所述bios rom。
40、第五方面,本技术提供一种电子设备采用如下的技术方案:
41、一种电子设备,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行第一方面任一项所述的可自动修复bios的方法的计算机程序。
42、第六方面,本技术提供一种计算机可读存储介质,采用如下的技术方案:
43、一种计算机可读存储介质,存储有能够被处理器加载并执行第一方面任一项所述的可自动修复bios的方法的计算机程序。
44、通过采用上述技术方案,在服务器开机之前,切换模块通过响应开机信号来使得bmc与bios rom连接,之后bmc下载bios文件并存储备份到bios rom中,当开机时,通过比对备份的hash值和bios rom中bios文件的hash值来判断能否正常开机,当备份的hash值和bios rom中的bios文件的hash值不一致时,bmc会重新将备份的bios文件拷贝到bios rom中,然后重新进行hash值比对,当比对一致才可正常开机,比对不一致的话便会一直重复之前动作,直至两个hash值一致,从而确保服务器能正常开机,提高了服务器在bios文件损坏的情况下能够一次性开机的成功率。