You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS Stream 10下EINJ无法找到available_error_type文件求助

问题描述

在搭载Intel Xeon Gold 6240R的系统上运行CentOS Stream 10,尝试使用EINJ工具时遇到以下问题:

  • 按文档说明,应在<debugfs挂载点>/apei/einj下找到available_error_type文件,但实际不存在
  • 系统内核版本为6.12.0-32.el10.x86_64,dmesg及ACPI表显示BIOS支持EINJ,内核已启用CONFIG_ACPI_APEI_EINJ等相关配置,且已挂载debugfs
  • 执行modprobe einj及modprobe einj param_extension=on后,lsmod显示模块已加载,但目标文件仍不存在
  • dmesg报错:

    [ 918.549253] EINJ: Error collecting EINJ resources.
    [ 918.549272] acpi-einj acpi-einj: probe with driver acpi-einj failed with error -22

  • 此前有固件bug提示:

    [ 12.505110] [Firmware Bug]: APEI: Invalid physical address in GAR [0x0/0/0/0/0]

  • 加载cxl_core和cxl_acpi模块无改善

作为新手,想了解操作哪里出错,EINJ需要哪些资源?

问题分析与解决建议

核心问题根源

你遇到的-22错误(EINVAL)和固件GAR地址无效的提示,说明BIOS/UEFI固件的APEI EINJ配置存在缺陷,这是导致EINJ驱动无法正常初始化、debugfs文件无法生成的主要原因。

操作排查(你没做错的部分)

你已经完成了EINJ使用的基础必备操作:

  • 确认内核启用了CONFIG_ACPI_APEI_EINJ及相关依赖(如CONFIG_ACPI_APEI)
  • 正确挂载了debugfs(通常挂载到/sys/kernel/debug)
  • 成功加载了einj模块及扩展参数

EINJ正常工作所需的核心资源

EINJ依赖以下组件协同工作:

  1. BIOS/UEFI固件支持:必须正确实现ACPI EINJ表(Error Injection Table),并提供有效的GAR(Generic Address Structure)地址用于错误注入的硬件寄存器访问
  2. 内核配置:启用CONFIG_ACPI_APEI、CONFIG_ACPI_APEI_EINJ,部分场景可能需要CONFIG_ACPI_APEI_GHES(用于错误报告)
  3. debugfs挂载:必须挂载debugfs,EINJ的控制文件仅会生成在debugfs的apei/einj目录下
  4. 硬件支持:CPU/芯片组需支持错误注入功能(Intel Xeon Gold 6240R本身是支持的)

下一步解决步骤

  1. BIOS固件更新:这是最关键的一步。联系服务器厂商获取最新的BIOS/UEFI固件,更新后重新检查dmesg是否还有Invalid physical address in GAR的提示
  2. 验证EINJ表完整性:使用acpidump -t EINJ命令导出EINJ表,检查表中的地址字段是否为有效物理地址(而非全0)
  3. 内核参数调整:尝试在启动时添加内核参数apei.no_cper=1,绕过部分CPER(Common Platform Error Record)相关的固件缺陷,再重新加载einj模块
  4. 检查模块加载参数:确保param_extension=on参数正确传递,可通过cat /sys/module/einj/parameters/param_extension验证是否为Y

内容的提问来源于stack exchange,提问作者Rajat Kokane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 11:36:08