在华硕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:

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 高级特性的服务器和专业应用。