安装KVM的内容不再赘述,自己百度下就行了,注意使用桥接网络要手动配置网桥,不然virt-manager创建虚拟机的时候会报错,另外创建虚拟机时可能会报权限不足,修改qemu.conf的启动用户改成root可以解决,我没深度研究权限的问题,有安全考虑的同学可以去研究下

vim /etc/libvirt/qemu.conf
user = "root"
group = "root"
##默认qemu用户

我的是intel cpu,amd cpu的同学可以参考该博客,intel cpu的同学照做即可

直通步骤(支持win11)

1、前置准备:

A:bios中必须开启vt-d

B:下载virtio驱动,最新版已经支持win11,virtio-win-0.1.221以上版本

2、配置宿主机系统

A:检查iommu

##查看启动日志是否有iommu相关日志打印,关键字有DMAR: IOMMU enabled,没有进行A1操作开启iommu,有继续看一下设备分组,并继续B
dmesg | grep -i iommu[    0.000000] Command line: BOOT_IMAGE=(hd1,gpt2)/vmlinuz-5.14.0-165.el9.x86_64 root=/dev/mapper/cs-root ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M rd.lvm.lv=cs/root rhgb quiet intel_iommu=on
[    0.028299] Kernel command line: BOOT_IMAGE=(hd1,gpt2)/vmlinuz-5.14.0-165.el9.x86_64 root=/dev/mapper/cs-root ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M rd.lvm.lv=cs/root rhgb quiet intel_iommu=on
[    0.028443] DMAR: IOMMU enabled
[    0.124395] DMAR-IR: IOAPIC id 2 under DRHD base  0xfed91000 IOMMU 1
[    0.438524] iommu: Default domain type: Translated
[    0.438524] iommu: DMA domain TLB invalidation policy: lazy mode
[    0.509405] DMAR: IOMMU feature fl1gp_support inconsistent
[    0.509406] DMAR: IOMMU feature pgsel_inv inconsistent
[    0.509413] DMAR: IOMMU feature nwfs inconsistent
[    0.509414] DMAR: IOMMU feature pasid inconsistent
[    0.509415] DMAR: IOMMU feature eafs inconsistent##找到核显的硬件地址,会返回一串呆冒号的数字
lspci -nn | grep 630 | awk -F ' ' '{print $1}'00:02.0##将上面命令反馈结果替换下面0000\:00\:02.0,:要用\转义一下
##输入命令查看核显的iommu group下是否有其他设备,有需要一起直通到虚拟机,我这只有一个核显
ls -l /sys/bus/pci/devices/0000\:00\:02.0/iommu_group/devices/

A1:开启iommu

编辑grub启动参数,增加iommu选项,加在最后即可

vim /etc/default/grub

                        重新生成grub配置文件

grub2-mkconfig -o /boot/grub2/grub.cfg

重启服务器,重启之后再执行dmesg |grep -i iommu,检查是否成功,没成功百度处理一下

B:屏蔽核显默认驱动

检查下核显驱动类型,我这截图是已经屏蔽成功,显卡已经直通到虚拟机,所以驱动变成了vfio-pci,如果显示的不是vfio-pci和没有Kernel driver in use项(没有的情况下也是屏蔽成功的直接直通就可以)就需要进行屏蔽操作

lspci -nnk |grep 630 -A 5

                        配置blacklist文件,屏蔽内核加载核显

##没有该文件直接重新创建,有就在后面追加,我这里加了4个,应该只用加1个或者2个,可以自行尝试一下,偷懒的直接加四个都行,没有其他影响vim /etc/modprobe.d/blacklist.confblacklist nouveau
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915

重新生成内核,mv备份下,dracut重新生成内核,生成完成后重启服务器

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut /boot/initramfs-$(uname -r).img $(uname -r)

重启之后用 lspci -nnk | grep 630 -A 5,此时应该会出现刚才描述过的情况,集显没有了“Kernel driver in use” 选项,说明屏蔽成功了

3、创建虚拟机并添加显卡

创建时选择系统类型必须选择winnt3.1(创建虚拟机分配内存必须4G以上,否则会出问题,原因见文章最后),否则会报错(原因是因为后面选的chipset的时候会影响xml文件生成,选择其他系统xml文件生成是生成的pci设备是-root结尾的,从而导致chipset不能兼容,创建虚拟机报错,有能力的也可以手动改xml文件)

chipset选择“i440FX”,默认BIOS即可,然后添加显卡到虚拟机,添加完成后启动虚拟机进行安装系统,这里就不说系统安装步骤了,另外不用重新安装核显驱动,系统会自动识别,也不建议更新显卡驱动,可能导致显卡43报错(安装系统时要用到virtio安装驱动,安装完系统后进入系统要先把virtio驱动全部装上

安装完成后核显会占用2G内存,导致虚拟机内存占用高,这个问题可以解决,目前还没有找到配置生效的方法,知道怎么配置的可以在文章下留言

##2022年10月14日 更新:win11会自动更新核显驱动,更新成2022年7月的驱动后核显会报43错误,在设备管理器里面右键显卡选择卸载设备并勾选尝试删除驱动会把驱动降到30.X版本,重启后核显正常

##

centos9 intel集显直通方法相关推荐

  1. 双显卡笔记本(Intel 集显Nvidia GEFORCE 920M显卡)配置ZED stereo camera

    折腾了一星期,换了两台电脑终于把ZED配置成功了,博主现在用的系统是ubuntu14.04.5,ROS已经安装好,不多说先上一张效果图. 看起来还行,毕竟还没用它跑过代码=_=话不多说直接开始. St ...

  2. ubuntu nvidia独显和intel集显切换

    ubuntu nvidia独显和intel集显切换 1.图形界面切换 现在很多PC上都会有intel集成显卡和nvidia独显.一般在切换时在终端输入: nvidia-settings 然后在PRIM ...

  3. linux集显驱动程序,Ubuntu14.04安装intel集显驱动

    Made with Remarkable! Ubuntu14.04安装intel集显驱动 标签(空格分隔): ubuntu linux 驱动安装 1.查看本机显卡型号 使用lspci命令来获取PCI接 ...

  4. Linux如何禁止集成显卡,Ubuntu中禁用独显只用集显的方法

    新装了ubuntu 12.04 Beta.还不错,就是双显卡问题. 显卡:intel i3集成显卡和ati 5650. 以前装了ati 驱动的话,若BIOS里不禁用集显就不能进入ubuntu,禁用了集 ...

  5. linux切换独显,Ubuntu 16.04如何切换Intel集显与Nvidia独显

    Ubuntu 16.04 默认使用的是集显,而且对Nvidia的支持存在巨大的问题.我使用的笔记本是Alienware 13 R3触摸屏,显卡是GTX 1060,在安装Nvidia GPU支持的过程中 ...

  6. Ubuntu安装intel集显驱动

    ubuntu一般使用这个网址上的工具 下载地址 INTEL GRAPHICS UPDATE TOOL FOR LINUX* OS V2.0.2 进行驱动安装 !!!注意选对合适的版本,不同工具版本对应 ...

  7. ubuntu16.04安装intel集显驱动过程问题总结

    参考文章 驱动下载地址及参考博客 遇到依赖下载安装问题可以尝试换源(我当时换了清华源)

  8. ubuntu18.04 分辨率突然变小,添加1920x1080分辨率,转完变卡默认成集显llvmpipe改独显方法

    目录 第一种 设置中可以更改分辨率: 第二种,设置中不可以更改分辨率(不显示或只有一种) 三.重启之后如果变得很卡,考虑是否变成了集显显示 以下为两种情况的解决办法 第一种 设置中可以更改分辨率: 1 ...

  9. 【Inter集显 GTX1650】解决 Windows 10 连接 HDMI 外接显示器黑屏状况小结

    解决只集显下外接显示器黑屏问题策略小结 基本信息 情景还原 采用策略 无效策略 [混合有效]混合策略 [有效]有效策略1 [有效]有效策略2 后备策略 参考信息源 基本信息 OS:Windows 10 ...

最新文章

  1. Hadoop(HDFS、YARN、HBase、Hive和Spark等)默认端口表
  2. 服务器发送退出状态127,TCP正常建立和关闭的状态变化
  3. hdu3449 有依赖的背包问题
  4. XTU 1250 Super Fast Fourier Transform
  5. 如何获取服务器的地理位置,如何获取Restify服务器的确切IP地址进行监听?
  6. 消息中间件ActiveMQ学习笔记(一):安装
  7. idea编译后target文件不全_IntelliJ IDEA 不能更新target中的java等部分文件
  8. 攻防世界逆向——key
  9. pyqt5设置dialog的标题_Python GUI教程(一):在PyQt5中创建第一个GUI图形用户界面...
  10. java去除 r_Android apk瘦身最佳实践(一):去除R.class
  11. 软件测试睡眠原理,睡眠测试的原理是什么_蜗牛睡眠的原理是什么 怎么检测的睡眠情况...
  12. 电脑和微信怎么发邮件到别人邮箱,企业邮箱如何发email给别人
  13. 高考数学47分学计算机,从57分到高考数学131分,4个月的时间我竟创造了这个传奇!...
  14. 谷歌账号--手机号无法验证的问题
  15. NLP学习实践天池新人赛打卡第一天
  16. TriCore 与 RT-Thread(TC264 移植)
  17. 小日本的恶趣味?育碧让玩家用VR外设闻屁味
  18. 一篇挺有意思的文章(转自CSDN)
  19. 2020诺贝尔文学奖得主,死亡的诗歌
  20. Ubuntu下adb无法识别android设备的解决方法

热门文章

  1. Cesium中获取地形三角网并进行土方计算
  2. 嵌入式 wave文件(*.wav)格式、PCM数据格式收藏
  3. 金额数字转换(英文、中文)
  4. 做自媒体视频剪辑为什么赚不到钱?
  5. Xshell实现windows上传文件到Linux系统
  6. esp32 参考引脚图
  7. 关于if 判断中null为什写前边和在使用equals方法进行判断是为什么要 “1“.equals(str)
  8. 【操作系统】知识梳理(八)磁盘存储器的管理
  9. springboot考研规划系统 毕业设计-附源码541230
  10. C基础 | 【05】(内存结构以及复合类型)