如何修复DMAR故障?
- By : Will
- Category : Debian-Like
Debian-Like
1 前言
一个问题,一篇文章,一出故事。
笔者今天遇到家里的服务器DMAR错误,于是整理该故障的解决方案。
[19703.320468] dmar_fault: 14 callbacks suppressed [19703.320477] DMAR: DRHD: handling fault status reg 3 [19703.320493] DMAR: [DMA Read NO_PASID] Request device [04:00.0] fault addr 0xff62e000 [fault reason 0x06] PTE Read access is not set [19704.235699] DMAR: DRHD: handling fault status reg 3 [19704.235719] DMAR: [DMA Read NO_PASID] Request device [04:00.0] fault addr 0xff62e000 [fault reason 0x06] PTE Read access is not set [19705.262216] DMAR: DRHD: handling fault status reg 3 [19705.262236] DMAR: [DMA Read NO_PASID] Request device [04:00.0] fault addr 0xff62e000 [fault reason 0x06] PTE Read access is not set [19706.238359] DMAR: DRHD: handling fault statu
日志显示Direct Memory Access Remapping (DMAR)故障,通常与设备的IOMMU (Input-Output Memory Management Unit) 功能有关。以下是对日志内容的解释和可能的解决方案:
– dmar_fault: 表明 DMAR 发生了故障。
– Request device [04:00.0]: 指出故障发生在设备 [04:00.0] 上,您可以使用 lspci 命令确定该设备。
– fault addr 0xff62e000: 故障的地址,指向内存中的某个位置。
– fault reason 0x06: 表示故障原因,通常是权限问题(如未设置读取访问)。
2 最佳实践
2.1 查看设备状态
2.1.1 查看设备状态
lspci -vv
2.1.2 查看系统日志
journalctl -k
2.2 尝试修复故障
2.2.1 修改引导的内核参数
vim /etc/default/grub
修改如下配置,
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=off"
配置修改后,你需要使用如下命令更新配置至内核,
update-grub
2.2.2 重启系统应用配置
reboot
参阅文档
=====================
https://bbs.archlinux.org/viewtopic.php?id=230362
没有评论