飞牛虚拟机直通:USB、PCIe 和核显怎么给进去
虚拟机跑得起来是基础,能把设备真正交给它也才是本事。直通配置错一步,虚拟机就起不来。
飞牛自带的虚拟机功能,日常跑个 Linux、装个 Windows 够用了。但一旦涉及硬件——接个 USB 加密狗、装块采集卡、让虚拟机用核显转码——就得配直通。
直通(passthrough)是把物理设备整体交给虚拟机,虚拟机内部看到的是一块真硬件,不是模拟出来的。
三种直通
USB 直通:最简单。把某个 USB 设备分配给虚拟机,重启虚拟机生效。适合加密狗、串口设备、U 盘。
PCIe 直通:功能最强。整块设备(网卡、HBA 卡、显卡)交给虚拟机。前提是 CPU 和主板支持 VT-d/IOMMU,并且在 BIOS 里打开。
GPU 直通:PCIe 直通的特例,最常见也最麻烦。核显直通出去之后,宿主机就用不了了。
前置条件
- CPU 支持 VT-x/AMD-V 和 VT-d/AMD-Vi;
- BIOS 里开启 VT-d(不同主板叫法不同,有的叫 IOMMU);
- 内核启动参数里打开
intel_iommu=on或amd_iommu=on; - 设备所在的 IOMMU 分组里没有宿主机必需的其他设备。
最后一条最容易被忽略:如果显卡和某个 SATA 控制器在同一个 IOMMU 组里,直通显卡会连硬盘一起带走。
USB 直通怎么做
- 把设备插到 NAS 上;
- 在虚拟机设置里找到 USB 设备列表;
- 勾选要直通的那个设备;
- 启动虚拟机。
如果列表里看不到设备,先确认设备本身被系统识别(lsusb)。
PCIe/GPU 直通的注意点
- 直通后宿主机无法再使用该设备,飞牛影视的硬解也会失效;
- 有些主板需要在 BIOS 里设为主显卡为核显,独显才能直通出去;
- 虚拟机需要开启「隐藏虚拟机标识」之类的选项,否则某些驱动会拒绝加载;
- Windows 虚拟机首次安装时没有显卡驱动,画面可能很卡,装好驱动再开直通。
常见问题
虚拟机起不来,报 IOMMU 错误:检查启动参数和 BIOS 里的 VT-d。
设备直通了但没反应:驱动问题。Linux 里看 lspci,Windows 里看设备管理器有没有黄色感叹号。
直通了显卡,宿主机黑屏:核显和独显的默认输出搞反了,要在 BIOS 里调整。
USB 设备偶尔掉线:供电不足或者 USB 控制器被其他设备占用,换个口试试。
重启后直通失效:设备名或 PCI 地址变了,检查配置里的标识是不是写死的路径。
值不值得
- 只想跑个下载器、轻量服务:不需要直通,容器更合适;
- 要装 Windows 做轻办公:加强显示性能,直通核显有意义;
- 要接采集卡、加密狗:只有直通一条路;
- 想做软路由:网卡直通几乎是必须的。
小结
直通的价值在于让虚拟机用上真硬件,代价是把这块硬件从宿主机手里拿走。
配之前先查 IOMMU 分组,配之后先验驱动,中间任何一步报错都别硬上。
留言