一种基于UEFI固件的计算机故障诊断方法与流程

文档序号:12786214阅读:726来源:国知局
一种基于UEFI固件的计算机故障诊断方法与流程

本发明属于计算机固件技术领域,涉及一种基于UEFI固件的国产计算机故障诊断的方法。



背景技术:

UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口)规范是从EFI(Extensible Firmware Interface,可扩展固件接口)发展而来的。EFI是Intel为PC固件(或称为BIOS)的体系结构、接口和服务提出的建议标准。UEFI是由EFI1.10为基础发展而来,它的所有者已不再是Intel,而是一个称为Unified UEFI Form的国际组织。

目前,国内计算机系统的故障诊断主要是通过操作系统中运行的故障诊断中间件或类似软件完成的。在操作系统启动后,故障诊断中间件能够实时收集故障信息,并对故障进行定位和排查。但是,故障诊断中间件需要在操作系统启动后才能运行,无法在上电开机到操作系统启动过程中对故障进行定位和排查。

固件是计算机上电开机后执行的第一个软件,能够在操作系统启动之前完成硬件的初始化和状态检查。

目前,国内在固件层一般是通过自动故障诊断卡用于电子设备的故障检测。但是诊断卡需要插入计算机系统,并且仅能显示相应的故障码,使用不是非常方便。



技术实现要素:

有鉴于此,本发明提供了一种基于UEFI固件的计算机故障诊断方法,在计算机上电开机后,对关键硬件进行诊断,并将设备信息和故障信息传递给操作系统,为故障诊断软件提供有益支持;即使操作系统因关键设备出现故障而无法启动时,固件也能够对故障进行分级处理,并通过显示器或蜂鸣器对故障报警,提示或显示可行的故障排查方法。

为了达到上述目的,本发明的技术方案为:采用基于UEFI固件的计算机,其中在计算机的固件层具有用于设备故障诊断的模块,包括设备自检模块、设备诊断模块、设备信息获取和传输模块,用于在计算机开机阶段,对硬件设备进行自检,在发现硬件设备故障时,固件层将获取相应的设备诊断结果,进行分级处理,并将设备诊断结果传入计算机的操作系统层进行存储,在计算机的应用层具有故障诊断软件,故障诊断软件通过信息接收接口,读取存储在操作系统层的设备诊断结果。

该方法包括如下步骤:

步骤一、计算机上电开机之后,固件层对接入计算机的硬件设备进行扫描、并加载各硬件设备驱动。

硬件设备信息获取模块进行如下处理:枚举系统中的硬件设备并存储各硬件设备信息,获取接入计算机的硬件设备信息,检测枚举到的硬件设备是否有自检接口,如果没有自检接口,则将该没有自检接口的硬件设备信息进行记录。

步骤二、设备自检模块通过设备自检接口,对硬件设备进行自检,获取自检结果;如果自检结果正常,则继续操作系统层的启动;否则,将硬件设备的故障代码传入设备诊断模块。

步骤三、设备诊断模块在收到设备自检模块传入的故障代码后,根据自带的故障代码库,查询相应的故障类型,进行故障处理;如果查询不到相应的故障类型,则将故障代码传入设备信息传输模块,保存故障诊断日志;如果操作系统因设备故障而无法启动时,固件层将通过蜂鸣器或显示器对故障进行提示。

步骤四、设备信息传输模块通过传输接口将设备信息和故障诊断信息传给操作系统层。

步骤五、操作系统层对设备信息和故障诊断结果进行解析和存储。

步骤六、在操作系统层启动后,应用层的故障诊断软件通过信息接收接口获取设备诊断结果。

有益效果:

该方法的好处是通用性强,能够适用于X86、龙芯、申威、飞腾等多种国产处理器平台;同时,该方法部署简单,不需要添加外围设备即可完成计算机关键硬件诊断;并且,该方法能够在操作系统未启动,故障诊断中间件或类似软件失效的时候,能够对故障分级处理,并且提示可行的故障排查方法。

附图说明

图1为固件故障诊断软件框架图;

图2为固件故障诊断流程图。

具体实施方式

下面结合附图并举实施例,对本发明进行详细描述。

一种基于UEFI固件的计算机故障诊断的方法,该方法采用基于UEFI固件的计算机,计算机中模块如图1所示,其中在计算机的固件层具有用于设备故障诊断的模块,包括设备自检模块、设备诊断模块、设备信息获取和传输模块,用于在计算机开机阶段,对硬件设备进行自检,在发现硬件设备故障时,固件层将获取相应的设备诊断结果,进行分级处理,并将设备诊断结果传入计算机的操作系统层进行存储,在计算机的应用层具有故障诊断软件,故障诊断软件通过信息接收接口,读取存储在操作系统层的设备诊断结果。

该方法包括如下步骤:

步骤一、计算机上电开机之后,固件层对接入计算机的硬件设备进行扫描、并加载各硬件设备驱动;

硬件设备信息获取模块进行如下处理:枚举系统中的硬件设备并存储各硬件设备信息,获取接入计算机的硬件设备信息,检测枚举到的硬件设备是否有自检接口,如果没有自检接口,则将该没有自检接口的硬件设备信息进行记录;

步骤二、设备自检模块通过设备自检接口,对硬件设备进行自检,获取自检结果;如果自检结果正常,则继续操作系统层的启动;否则,将硬件设备的故障代码传入设备诊断模块;

步骤三、设备诊断模块在收到设备自检模块传入的故障代码后,根据自带的故障代码库,查询相应的故障类型,进行故障处理;如果查询不到相应的故障类型,则将故障代码传入设备信息传输模块,保存故障诊断日志;如果操作系统因设备故障而无法启动时,固件层将通过蜂鸣器或显示器对故障进行提示;

步骤四、设备信息传输模块通过传输接口将设备信息和故障诊断信息传给操作系统层;

步骤五、操作系统层对设备信息和故障诊断结果进行解析和存储;

步骤六、在操作系统层启动后,应用层的故障诊断软件通过信息接收接口获取设备诊断结果。

综上,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1