![Ubuntu 服务器 KVM,直通 PCI 设备](https://linux22.com/image/1086728/Ubuntu%20%E6%9C%8D%E5%8A%A1%E5%99%A8%20KVM%EF%BC%8C%E7%9B%B4%E9%80%9A%20PCI%20%E8%AE%BE%E5%A4%87.png)
我正在尝试在旧的桌面硬件上设置 VM 服务器,其规格如下:
系统
主板:技嘉970A-D3P
处理器:AMD 8320
GPU通过:Sapphire HD7870 Ghz Edition
操作系统:Ubuntu Server 14.04.2 amd64
核心
我已经设置了 grub 启动选项“amd_iommu=on”,我已经检查过我的硬件是否支持虚拟化,从我所看到的情况来看,一切都很好。
IOMMU 支持
当我使用 IOMMU 检查 dmesg 中的任何内容时,出现以下错误: http://puu.sh/mTON8/47d4433c33.png
dmesg | grep -e DMAR -e IOMMU
[0.973504]PCI-DMA:使用GART IOMMU。
[0.973508] PCI-DMA:在 AGP 孔径中保留 64MB 的 IOMMU 区域
[ 12.724054] Joerg Roedel 的 AMD IOMMUv2 驱动程序
[ 12.724057]此系统不提供 AMD IOMMUv2 功能
启动虚拟机错误
当我尝试启动虚拟机时,出现以下错误: http://puu.sh/mTOKK/32a4aeddd0.png
我在启用 pci 直通时是否遗漏了任何步骤?或者我的硬件根本不支持 PCI 直通?感谢任何帮助 subserver
答案1
您需要在 BIOS 中启用 IOMMU。
以下是一份 eHow 指南:http://www.ehow.com/how_7705109_enable-iommu-bios.html
摘自上述页面:
IOMMU(I/O 内存管理单元)是主板芯片组支持的功能,可提供增强的虚拟到物理内存映射功能,包括映射大量非连续内存的能力。可以在主板的 BIOS 中启用 IOMMU,以解决虚拟机设备驱动程序的问题。
重新启动计算机,并记下计算机首次启动时显示的初始启动消息中指定的访问或输入“Setup”的键。
重新启动计算机,然后立即按住初始启动消息中指定的键盘键。注意出现的 BIOS 设置屏幕中指定的导航键。通常指定的键是“上”、“下”、“左”和“右”箭头键(用于移动光标)、“Page Up”和“Page Down”键(用于突出显示列表中的选择)、“Tab”键(用于水平移动设置)和“Enter”键(用于选择突出显示的设置)。
使用“箭头”键浏览每个 BIOS 屏幕,找到“IOMMU”、“I/O 内存管理单元”或“Intel ® VT-d”设置(通常位于“高级”或“芯片组/北桥/Tylersburg IOH/Intel VT for Directed I/O Configuration”设置菜单下)。使用“箭头”键将光标移到设置选择框上,然后按“Page Up”或“Page Down”或指定键以选择“已启用”。
按“F10”键或使用“箭头”键导航到“退出”菜单,将光标移到“保存并退出”项,然后按“Enter”键。当出现保存设置的确认信息时,将光标移到“是”选项,然后按“Enter”键保存设置。
答案2
问题解决了,我忘记在 BIOS 中启用 IOMMU 了。
感谢 Daniel 的提醒。诚挚问候 subserver