读取系统日志的方法、UEFI和计算机技术方案

技术编号:27458139 阅读:53 留言:0更新日期:2021-02-25 05:06
本发明专利技术本公开涉及计算机领域,本发明专利技术提供了一种读取系统日志的方法,应用于UEFI,包括以下步骤:第一步,加载硬盘驱动、显卡驱动和文件系统驱动;第二步,通过所述硬盘驱动识别系统日志对应的硬盘分区;第三步,通过所述文件系统驱动识别所述硬盘分区内的文件系统;第四步,通过文件系统函数和所述系统日志的特征信息从所述文件系统中定位所述系统日志;第五步,将所述系统日志加载到缓存中,通过显示器显示出来。本发明专利技术提供的方法UEFI能够读取系统日志,因而使用者能够在无法进入操作系统的情况下,更灵活地获取系统日志。更灵活地获取系统日志。更灵活地获取系统日志。

【技术实现步骤摘要】
读取系统日志的方法、UEFI和计算机


[0001]本公开涉及计算机领域,尤其涉及读取系统日志的方法、UEFI和计算机。

技术介绍

[0002]日常使用中,计算机有时会出现无法正常进入操作系统的意外情况。这种情况一旦出现,一般用户处理起来非常麻烦。因此,我们急需要一种方法,能够在无法正常进入系统时,可以便捷地访问系统日志文件,对计算机故障进行进一步的分析诊断。其中系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。因此我们常通过查看日志的方式来迅速定位问题或缩小问题范围,有助于用户找到系统异常的原因并加以解决。
[0003]主流读取系统日志的方式,是在操作系统内读取。这是由于主流使用的Windows操作系统和X86平台经过大量的测试,稳定性较强,出现无法正常进入操作系统的意外情况后,使用者只需重启电脑或重装系统就可以进入操作系统,几乎不会出现无法进入操作系统的情况。因而,无需设计不在操作系统内读取系统日志的方法。
[0004]国产平台由于发展时间较短,可能会出现各种状况导致无法进入操作系统,国产平台出现的问题可能重启无法解决,且不宜重装系统(国产平台使用的操作系统通常基于Linux,Linux不对硬盘进行分区,若重装系统,会覆盖掉所有数据)。另外,对于一些敏感设备,常常会有相应的加密和绑定操作,若出现故障,维修人员往往没有进入操作系统的相关权限,无法通过进入操作系统的方式获取系统日志。如何在国产平台无法进入操作系统的情况下,读取系统日志,成为本领域的一个课题。

技术实现思路

[0005]本专利技术提供了一种读取系统日志的方法,以便通过UEFI获取系统日志,克服了上述现有技术之不足。
[0006]本专利技术提供了一种读取系统日志的方法,应用于UEFI,包括以下步骤:第一步,加载硬盘驱动、显卡驱动和文件系统驱动;第二步,通过所述硬盘驱动识别系统日志对应的硬盘分区;第三步,通过所述文件系统驱动识别所述硬盘分区内的文件系统;第四步,通过文件系统函数和所述系统日志的特征信息从所述文件系统中定位所述系统日志;第五步,将所述系统日志加载到缓存中,通过显示器显示出来。
[0007]针对上述方法,将所述系统日志加载到缓存中,通过显示器显示出来,包括:从所述系统日志中读取上一次启动的启动记录;将所述启动记录读取到所述缓存中,通过所述显示器显示出来。
[0008]针对上述方法,从所述系统日志中读取上一次启动的启动记录,包括:
读取地址M-K~地址M的数据;其中,M为所述系统日志的结尾对应的地址,K为一次启动记录的预设长度。
[0009]本专利技术提供了一种读取系统日志的UEFI,包括以下模块:驱动模块,用于加载硬盘驱动、显卡驱动和文件系统驱动;第一识别模块,用于通过所述硬盘驱动识别系统日志对应的硬盘分区;第二识别模块,用于通过所述文件系统驱动识别所述硬盘分区内的文件系统;定位模块,用于通过文件系统函数和所述系统日志的特征信息从所述文件系统中定位所述系统日志;显示模块,用于将所述系统日志加载到缓存中,通过显示器显示出来。
[0010]针对上述UEFI,所述显示模块,包括:第一读取子模块,用于从所述系统日志中读取上一次启动的启动记录;显示子模块,用于将所述启动记录读取到所述缓存中,通过所述显示器显示出来。
[0011]针对上述UEFI,所述第一读取子模块,包括:第二读取子模块,用于读取地址M-K~地址M的数据;其中,M为所述系统日志的结尾对应的地址,K为一次启动记录的预设长度。
[0012]本专利技术提供了一种读取系统日志的计算机,包括上述任一种的UEFI。
[0013]本专利技术提供的方法UEFI能够读取系统日志,因而使用者能够在无法进入操作系统的情况下,更灵活地获取系统日志。
附图说明
[0014]图1为本专利技术提供一种读取系统日志的方法的流程图;图2为本专利技术提供了一种读取系统日志的UEFI的整体框架图。
具体实施方式
[0015]本专利技术不受下述实施例的限制,可根据本专利技术的技术方案与实际情况来确定具体的实施方式。
[0016]下面结合实施例及附图对本专利技术作进一步描述:实施例1:图1为本专利技术提供一种读取系统日志的方法的流程图,应用于UEFI,包括以下步骤:S1,加载硬盘驱动、显卡驱动和文件系统驱动;S2,通过所述硬盘驱动识别系统日志对应的硬盘分区;S3,通过所述文件系统驱动识别所述硬盘分区内的文件系统;S4,通过文件系统函数和所述系统日志的特征信息从所述文件系统中定位所述系统日志;S5,将所述系统日志加载到缓存中,通过显示器显示出来。
[0017]本专利技术适用于国产平台。国产平台使用的操作系统可以是Linux。
[0018]实际应用中,系统日志由操作系统自动生成于操作系统启动的过程中。当操作系统无法载入时,使用者通常重新启动电脑。重启后,在UEFI的logo出现后,使用者可以通过按键来触发进入读取系统日志的流程。
[0019]S1步骤中,加载硬盘驱动、显卡驱动和文件驱动的顺序可以是任意的。通常UEFI在启动后会自动加载所有设备的驱动,S2可以在加载完所有设备的驱动后执行,也可以在优先加载完S1中所有设备的驱动后,更有效率地马上执行。
[0020]具体地,S3步骤中,可以通过文件系统驱动中的文件系统函数(EFI_SIMPLE_FILE_SYSTEM_PROTOCOL)识别分区内的文件系统,可以通过文件系统函数中的OpenVolume,获得文件系统的根目录句柄(EFI_FILE_PROTOCOL),目录句柄包含了操作该目录文件的操作接口。在得到该分区文件系统上的根目录EFI_FILE_PROTOCOL实例的指针后,就可以操作该分区上的文件了,如对读取文件或目录。
[0021]S4步骤中,系统日志的特征信息可以是系统日志名称或/和系统日志所在的文件目录名称。系统日志可以位于文件系统的根目录下,也可以位于其他目录下。UEFI可以通过函数自动遍历文件系统来定位系统日志文件,例如UEFI中预先设置好系统日志的名称Syslog.log,去根目录中寻找;或者也可以由人工在操作界面中根据文件名称来选中系统日志。若由人工操作,S1中需要加载输入设备的驱动,例如键盘、鼠标。
[0022]本专利技术提供的方法UEFI能够读取系统日志,因而使用者能够在无法进入操作系统的情况下,更灵活地获取系统日志。
[0023]实施例2:上述方法,所述S5步,包括:S51,从所述系统日志中读取上一次启动的启动记录;S52,将所述启动记录读取到所述缓存中,通过所述显示器显示出来。
[0024]系统每次启动都会产生系统日志,计算机使用时间长了,系统日志会很长,不便于查看。且操作系统加载出故障时,仅上次启动的记录对修复有意义,因此本实施例仅显示上一次启动的记录,显示的信息更便于使用者发现故障。
[0025]具体地,将启动记录存入缓冲区,可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种读取系统日志的方法,应用于UEFI,其特征在于,包括以下步骤:第一步,加载硬盘驱动.显卡驱动和文件系统驱动;第二步,通过所述硬盘驱动识别系统日志对应的硬盘分区;第三步,通过所述文件系统驱动识别所述硬盘分区内的文件系统;第四步,通过文件系统函数和所述系统日志的特征信息从所述文件系统中定位所述系统日志;第五步,将所述系统日志加载到缓存中,通过显示器显示出来。2.根据权利要求1所述的方法,其特征在于,将所述系统日志加载到缓存中,通过显示器显示出来,包括:从所述系统日志中读取上一次启动的启动记录;将所述启动记录读取到所述缓存中,通过所述显示器显示出来。3.根据权利要求2所述的方法,其特征在于,从所述系统日志中读取上一次启动的启动记录,包括:读取地址M-K~地址M的数据;其中,M为所述系统日志的结尾对应的地址,K为一次启动记录的预设长度。4.一种读取系统日志的UEFI,其特征在于,包括以下模块:驱动...

【专利技术属性】
技术研发人员:陈小春张超朱立森刘旭
申请(专利权)人:中电科技北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1