单显卡直通
单显卡直通
波奇大帝1.安装manjaro
镜像
https://manjaro.org/products/download/x86
烧录工具
https://rufus.ie/zh/
2.安装环境
安装虚拟机管理工具
1 | sudo pacman -S qemu libvirt virt-manager |
设置开机启动服务
1 | #启动 |
3.安装nvidia驱动
1 | sudo pacman -Rns cuda nvidia-utils linux612-nvidia cudnn |
4.设置grub
打开grub
1 | sudo gedit /etc/default/grub |
英特尔用intel_iommu=on
1 | quiet splash udev.log_priority=3 amd_iommu=on iommu=pt nvidia_drm.modeset=1 vfio_iommu_type1.allow_unsafe_interrupts=1 vfio-pci.disable_vga=1 |
quiet
- 作用: 减少内核启动时的日志输出,只显示关键错误或警告信息。
- 意义: 使启动过程更简洁,减少屏幕上显示的冗长调试信息,常用于生产环境或需要快速启动的系统。
splash
- 作用: 启用启动时的图形化“splash”屏幕(启动画面)。
- 意义: 提供一个美观的启动界面,隐藏详细的文本日志,通常与Plymouth(启动画面管理器)一起使用。
udev.log_priority=3
- 作用: 设置udev(设备管理器)的日志优先级为3(通常对应“info”级别)。
- 意义: 控制udev在处理设备事件时记录的日志详细程度。值为3表示记录信息级别及以上的日志(较低的值会减少日志输出,较高会增加)。这有助于调试或减少日志噪音。
amd_iommu=on
- 作用: 启用AMD处理器的IOMMU(输入/输出内存管理单元)支持。
- 意义: IOMMU允许设备(如GPU)直接访问物理内存,同时提供隔离和安全功能,常用于虚拟化场景(如GPU直通),确保虚拟机直接控制硬件。
iommu=pt
- 作用: 设置IOMMU为“直通”模式(passthrough)。
- 意义: 在直通模式下,设备DMA(直接内存访问)请求不会被重新映射,直接使用物理地址。这减少了IOMMU的开销,提高性能,特别适用于需要低延迟的虚拟化设备(如GPU直通)。
nvidia_drm.modeset=1
- 作用: 启用NVIDIA驱动的DRM(直接渲染管理器)内核模式设置(Kernel Mode Setting, KMS)。
- 意义: KMS允许NVIDIA驱动在内核级别管理显示输出,提供更平滑的图形体验,支持Wayland或现代显示服务器,并对虚拟化中的GPU直通有帮助。
vfio_iommu_type1.allow_unsafe_interrupts=1
- 作用: 允许VFIO(Virtual Function I/O)驱动启用不安全的MSI(消息信号中断)。
- 意义: 在某些硬件配置中,MSI中断可能不完全受IOMMU支持,启用此参数允许VFIO绕过此限制,用于虚拟化场景(如GPU直通)。但这可能引入安全风险,仅在必要时使用。
vfio-pci.disable_vga=1
- 作用: 禁用VFIO-PCI设备的VGA兼容模式。
- 意义: 防止VFIO设备(如直通的GPU)被用作主显示设备。这在虚拟化中很有用,确保主机不使用直通的GPU,而是将其完全
修改后更新配置
1 | sudo update-grub |
5.配置单显卡hook脚本
配置hook单显卡启动的脚本
下载并解压install.zip
1 | sudo bash install_hooks.sh |
6.创建虚拟机
UEFI启动
这个有时间再写
重启后检查指定显卡是否被vfio-pci接管,然后直接通进去就可以!