在华硕WRX80E主板运行Ubuntu 22.04系统时,遇到了USB设备和M.2固态硬盘无法被系统识别的兼容性问题。根据社区讨论发现,这个问题有三个可能的解决方案。

关闭BMC远程管理

BMC(Baseboard Management Controller)是基板管理控制器,是独立于主系统的管理芯片,提供 IPMI智能平台管理接口功能,即使主机关机也能工作。

激活BMC可以实现远程开关机、远程控制台(KVM over IP)、硬件监控(温度、风扇、电压)、系统日志记录、远程 BIOS 设置,可通过专用管理网口进行访问。

我通过BIOS关闭BMC Support功能,解决了USB和M2丢失的问题。

关闭VGA Switch

如果关闭BMC远程管理,仍然无法解决,可以尝试通过物理关闭主板上的VGA Switch:

来自WRX80E用户手册
来自WRX80E用户手册

pci=nommconf

如果上述两种方法都无法解决问题,最后一个方案,通过修改GRUB关闭Memory-Mapped Configuration Space(MMCONFIG)解决:

sudo nano -w /etc/default/grub

添加pci=nommconf

# ...
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="pci=nommconf"
# ...

更新GRUB并重启,

sudo update-grub

关闭MMCONFIG后,系统将无法访问PCIe扩展配置空间(256字节以上),导致PCIe高级错误报告(AER)、SR-IOV虚拟化、高级电源管理等特性无法使用,但基本的PCI/PCIe设备识别、数据传输和中断处理仍能正常工作,对普通桌面使用影响不大,主要影响需要 PCIe 高级特性的服务器和专业应用。