修改SMBIOSType信息的处理方法及装置与流程

文档序号:37541587发布日期:2024-04-08 13:41阅读:14来源:国知局
修改SMBIOS Type信息的处理方法及装置与流程

本发明涉及计算机设备信息管理,尤其涉及一种修改smbios type信息的处理方法及装置。


背景技术:

1、bios(basic input/output system)是一种位于服务器主板上的固件,它提供了一些基本的硬件操作和系统设置。bios位于服务器开机时最早加载的地方,负责初始化硬件设备、启动操作系统,并提供一些基本的系统管理功能。bios的主要功能包括:启动和初始化硬件设备,bios负责检测并初始化服务器的硬件设备,如处理器、内存、硬盘、显卡等,使它们能够正确地工作;建立中断向量表,bios会建立中断向量表,为操作系统和应用程序提供处理硬件中断的入口点;提供设备驱动程序,bios包含了一些基本的设备驱动程序,用于操作系统的加载和运行,这些驱动程序通常被称为引导加载程序(bootloader);提供系统设置和配置,bios提供了一些设置选项,例如启动顺序、硬件时钟设置、密码设置等,可以通过bios设置界面进行配置;更新和维护固件,通过bios,可以对计算机的固件进行更新和维护,以修复bug、改进功能或支持新的硬件设备。

2、smbios(system management bios)是一种系统管理规范,用于描述服务器硬件的信息和配置。它提供了一种标准格式,用于报告服务器系统的硬件、固件和操作系统相关的信息,包括处理器、内存、硬盘、显卡、bios版本等。smbios是由多个主要硬件制造商联合制定和维护的,它的目的是提供一种统一的接口,使操作系统和系统管理工具能够获取和解释服务器硬件的相关信息。这些信息可以用于硬件识别、系统配置、故障排查、性能监控等方面。

3、smbios信息通常以结构化的方式被存储在服务器的固件中,例如在计算机的bios中。操作系统和相关的工具可以通过调用系统bios提供的smbios接口来读取这些信息。smbios规范定义了一系列固定的结构(称为smbios结构),每个结构描述了不同类型的硬件或配置信息。每个结构都有特定的字段,用于描述相关信息,例如厂商名称、型号、序列号、版本号等。通过解析并读取这些结构,操作系统和管理工具可以获取详细的硬件配置信息,从而做出相应的处理和管理。总而言之,smbios提供了一种标准的方式,使操作系统和系统管理工具能够获取和解释计算机系统的硬件、固件和操作系统相关的信息,帮助实现更好的系统管理和维护。

4、在smbios中,“type"指的是smbios结构的类型。smbios规范定义了多种不同类型的结构,用于描述服务器系统的各个组件和配置信息。每个结构通过一个唯一的类型值来标识自己,这个类型值就是"type”。每种结构类型都有固定的格式和包含的字段,用于描述特定的硬件组件或配置。例如,type 0结构描述了系统信息,包括制造商、型号、序列号等;type 1结构描述了主板信息,包括制造商、型号、版本等。操作系统和系统管理工具可以根据结构类型的值来解析并读取相应的结构,从而获取特定硬件组件或配置的详细信息。

5、可以通过更新或修改系统的bios来修改smbios type,但这种方式需要使用特定的工具和技术,而且可能需要一些专业知识和经验。另外,修改bios可能会涉及到风险和不可逆的操作,因此需要谨慎处理。


技术实现思路

1、针对现有技术存在的问题,本发明提供一种修改smbios type信息的处理方法及装置。

2、本发明提供一种修改smbios type信息的处理方法,包括:

3、通过dmiedit工具查看/修改smbios type信息时,读/写数据到io port 0xb2地址;

4、通过bios触发smi中断,使服务器进入smm模式;

5、通过dmiedit工具基于smi设置值中的io port 0xb2地址的值,调用对应的处理程序查看smbios表中的smbios type信息或设置smbios表中的smbios type信息。

6、在一个实施例中,所述通过dmiedit工具基于smi设置值中的io port 0xb2地址的值,调用对应的处理程序查看smbios type信息或设置smbios type信息,包括:

7、根据smi设置值中的io port 0xb2地址的值,确定对应的处理程序,所述处理程序包括数据处理类型和smbios版本号;

8、启动所述处理程序,若数据处理类型为读数据,根据所述smbios版本查看对应于所述smbios版本号的smbios type信息;

9、若数据处理类型为写数据,根据所述smbios版本确定对应于所述smbios版本号的smbios type信息,并对smbios type信息中的具备写操作的type信息进行重新设置。

10、在一个实施例中,所述方法还包括:

11、使能smbios在内存中的读写类操作;

12、构建闪存盘,存储目标版本的smbios type信息;

13、使能闪存盘的flash操作;

14、创建wirteoncestatus变量,根据所述wirteoncestatus变量判断smbios type信息中读操作类型的type信息和写操作类型的type信息;

15、基于目标版本的smbios type信息注册smi处理程序,所述处理程序为io port0xb2地址中的值为预设的配置编号时,不同的接口程序。

16、在一个实施例中,所述方法还包括:

17、配置smst表格地址,所述smst表格地址中包含第一地址,所述第一地址表征smi中断,使服务器进入smm模式;

18、保存第一指针,所述第一指针用于触发所述第一地址。

19、在一个实施例中,所述方法还包括:

20、获取smi设置值中的寄存器信息;

21、通过dmiedit工具基于smi设置值中的io port 0xb2地址的值和寄存器信息,调用对应的处理程序查看smbios type信息或设置smbios type信息。

22、在一个实施例中,在调用对应的处理程序查看smbios type信息或设置smbiostype信息之前,所述方法还包括:

23、获取触发smi中断的服务器的标识;

24、在smm模式下,基于服务器的标识确定目标服务器,在所述目标服务器的数据库中获取与smbios版本号对应的smbios表;所述smbios表包括多个smbios type信息;

25、对所述smbios表的各个smbios type信息进行遍历,判断存储各个smbios type信息的地址是否在smram区域内,若存在任一smbios type信息的地址不在smram区域内时,结束查看smbios type信息或设置smbios type信息的处理过程;

26、当确定所有smbios type信息的地址均在smram区域内时,计算所述smbios表的结束长度;

27、基于所述结束长度检查smbios表中的所有smbios结构未越过smbios表的末尾时,判断smbios表有效,并存储所述smbios表。

28、在一个实施例中,所述通过bios触发smi中断,使服务器进入smm模式,包括:

29、确定有效指针位于smst表格地址中的第一地址时,通过bios触发smi中断,使服务器进入smm模式;其中,有效指针作为第一指针。

30、本发明还提供一种修改smbios type信息的处理装置,包括:

31、准备模块,用于通过dmiedit工具查看/修改smbios type信息时,读/写数据到ioport 0xb2地址;

32、触发模块,用于通过bios触发smi中断,使服务器进入smm模式;

33、处理模块,用于通过dmiedit工具基于smi设置值中的io port0xb2地址的值,调用对应的处理程序查看smbios表中的smbios type信息或设置smbios表中的smbios type信息。

34、本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述修改smbiostype信息的处理方法。

35、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述修改smbios type信息的处理方法。

36、本发明提供的一种修改smbios type信息的处理方法及装置,通过bios触发smi中断,使服务器进入smm模式,并通过dmiedit工具基于smi设置值中的io port 0xb2地址的值,调用对应的处理程序查看smbios表中的smbios type信息或设置smbios表中的smbiostype信息,使查看/修改修改smbios type信息变得更加简单、直观和安全,提高服务器运行的稳定性和可靠性。

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