无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
查看: 4995|回复: 15

[分享] 核显hd4600 unraid6.8.1直通成功参数,nvidia gtx750直通成功

[复制链接]
发表于 2020-4-28 08:21:40 | 显示全部楼层 |阅读模式
本帖最后由 510819776 于 2020-5-29 12:41 编辑

硬件坏境为华擎h97 pro4 ,处理器为i5-4690s  核显为hd4600  
直通只有核显,机器没有用独显
引导模式用传统引导或uefi引导都没问题,但是建议使用uefi模式,装win7 uefi是没有问题的
主板bios设置把核显设置为默认显卡,建议关闭csm,开启vt-d与vt-x
U盘引导所用参数为
kernel /bzimage video=efifb:off,vesafb:off pcie_acs_override=downstream intel_iommu=on modprobe.blacklist=nouveau,nvidiafb,snd_hda_intel i915.enable_hd_vgaarb=1 vfio-pci.ids=8086:4012,8086:8cc6 kvm.ignore_msrs=1 kvm_intel.nested=1 vfio_iommu_type1.allow_unsafe_interrupts=1
initrd=/bzroot
#其中unraid默认屏蔽了i915模块,vfio_iommu_type1.allow_unsafe_interrupts=1此参数也是unraid默认开启了,kvm.ignore_msrs=1这个参数也是unraid默认开启的

参数简化一下应该是
kernel /bzimage video=efifb:off,vesafb:off pcie_acs_override=downstream intel_iommu=on modprobe.blacklist=nouveau,nvidiafb,snd_hda_intel i915.enable_hd_vgaarb=1 vfio-pci.ids=8086:4012,8086:8cc6
initrd=/bzroot


在unraid 6.8.1系统上直接运行如下命令就可以点亮核显的hdmi接口连接的显示器了,可以看到虚拟机的bios界面。
echo 8086 0412 >/sys/bus/pci/drivers/vfio-pci/new_id
#lspci -k 查看是否vfio-pci驱动、
下面的命令是使用seabios传统引导
qemu-system-x86_64 -name guest=7 -machine pc-i440fx-4.2,accel=kvm -cpu host -m 2048 -smp 2,sockets=1,cores=2,threads=1 -no-user-config -nodefaults -rtc base=localtime -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x7.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x7 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x7.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x7.0x2  -device usb-tablet,id=input0,bus=usb.0,port=1 -device vfio-pci,host=0000:00:02.0,id=hostdev0,bus=pci.0,addr=0x2,multifunction=on,x-igd-gms=1,x-igd-opregion=on,romfile=/boot/vga.rom -nographic -serial stdio -cdrom /mnt/disk1/isos/hd4600.iso


接下来要折腾下虚拟机使用uefi模式下直通了intel核显直通还有一个非常重要的地方,显卡直通参数需要添加x-igd-opregion=on,否则打驱动的时候会无显示。
插入方法是xml文本方式编辑配置文件
在在最后一行的前一行复制如下内容
  <qemu:commandline>
    <qemu:arg value='-set'/>
    <qemu:arg value='device.hostdev0.x-igd-opregion=on'/>
  </qemu:commandline>

在说一下unraid好用的几个插件
Libvirt Hotplug USB  用来热共享键盘,鼠标与优盘等设备
Unassigned Devices 用来挂载与分享磁盘的各个分区

继续跟新一下最新的情况
已经找到了一个支持Q35芯片组与OVMF虚拟uefi的bios文件,使用这个bios才可以支持haswell核显成功直通。这个bios本来是给pve 6.1使用的,不过unraid也能用,unraid自己的bios是不可以的。
附上我运行成功的qemu指令,我已经抛弃了unraid自带的web管理虚拟机的模式,太难用了。
echo 8086 0412 > /sys/bus/pci/drivers/vfio-pci/new_id
#echo 8086 2807 > /sys/bus/pci/drivers/vfio-pci/new_id 如果要直通声卡,这里可以添加声卡的硬件id
qemu-system-x86_64 -enable-kvm -m 3072 -cpu Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on \
   -machine pc-q35-2.9 \
   -smp 2,cores=2 \
   -vga none \
   -device vfio-pci,host=00:02.0,bus=pcie.0,addr=3,multifunction=on,x-igd-gms=1,x-igd-opregion=on,romfile=/boot/uefi.rom \
       -usb -device usb-kbd -device usb-tablet -device usb-host,vendorid=0x275d,productid=0x0ba6,id=usb0 -device usb-host,vendorid=0x1a2c,productid=0x2d23,id=usb1 \
   -bios /mnt/disks/soft/pveigd/OVMF_CODE.fd \
   -serial stdio -hda /mnt/disk1/system/docker/docker.img
这个命令大家可以自己优化一下,我没有加入声卡进来,usb0和usb1是添加的键盘与鼠标的硬件id,当然按照这个用法也可以添加更多设备。
有一点忘了说,有帖子说-device vfio-pci,host=00:02.0,bus=pcie.0,addr=3,multifunction=on,x-igd-gms=1,x-igd-opregion=on,romfile=/boot/uefi.rom  这条命令中addr=3应该修改成2,不过直接改成2会报错,因为2是给网卡准备的,可以添加-nic none来禁用网卡,或者用高级命令来自定义虚拟网卡的addr

安装系统与显卡驱动之前用这个命令,配合vnc客户端来装好系统
echo 8086 0412 > /sys/bus/pci/drivers/vfio-pci/new_id
qemu-system-x86_64 -enable-kvm -m 3072 -cpu Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on \
   -machine pc-q35-2.9 \
   -smp 2,cores=2 \
   -vga vmware -vnc :0 \
   -device vfio-pci,host=00:02.0,bus=pcie.0,addr=3,multifunction=on,x-igd-gms=1,x-igd-opregion=on,romfile=/boot/uefi.rom \
       -usb -device usb-kbd -device usb-tablet \
   -bios /mnt/disks/soft/pveigd/OVMF_CODE.fd \
   -serial stdio -cdrom /mnt/disk1/win10.iso -hda /mnt/disk1/system/docker/docker.img

成功的关键就是虚拟机用到的bios文件  
非常感谢 https://github.com/nchevsky/pve-edk2-firmware 作者的辛苦适配igd ovmf 的bios,我找到这个东西,然后也没有看到说明,自己鼓捣出来实在是不容易。
作者原话说是支持mac osx
接下来我要试试 安装黑苹果系统了
至于uefi.rom实际上是个假的核显uefi gop驱动,大家可以用别的独显的rom替代都能用,当然如果谁有正确的uefi.rom 能点亮屏幕我也希望您能分享一下吧

添加一个uefi模式完美核显直通并启动ubuntu 18.03的命令
echo 8086 0412 > /sys/bus/pci/drivers/vfio-pci/new_id
#echo 8086 2807 > /sys/bus/pci/drivers/vfio-pci/new_id
qemu-system-x86_64 -enable-kvm -m 3072 -cpu Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on \
-machine pc-i440fx-4.2 \
-smp 4,cores=2 -device usb-tablet -device usb-host,vendorid=0x275d,productid=0x0ba6,id=usb0 -device usb-host,vendorid=0x1a2c,productid=0x2d23,id=usb1 \
-vga none -serial stdio \
-usb -device usb-kbd -device usb-tablet -k en-us \
-bios /boot/pveigd/igd-ok.fd -nic none \
-cdrom /c/ubuntu18043.iso \
-device vfio-pci,host=00:02.0,bus=pci.0,addr=0x2,multifunction=on,x-igd-gms=1,x-igd-opregion=on,romfile=/boot/uefi.rom



继续补充一个nvidia gtx750直通成功的命令参数
首先说一下unraid 6.8.1的网卡桥接问题
mkdir /etc/qemu/
echo "allow br0" > /etc/qemu/bridge.conf
qemu虚拟机中添加intel pro/1000 mt网卡命令-net bridge,br=br0 -net nic,model=e1000,addr=0x3
nvidia显卡直通的命令为
qemu-system-x86_64 -enable-kvm -m 4096 -cpu host,kvm=off,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_vendor_id=1234567890ab -machine q35 -bios /boot/pveigd/igd-ok.fd -device vfio-pci,host=01:00.0,bus=pcie.0,multifunction=on,rombar=1 -vga none -smp 2,cores=2 -device usb-host,vendorid=0x275d,productid=0x0ba6,id=usb0 -device usb-host,vendorid=0x1a2c,productid=0x2d23,id=usb1 -usb -device usb-kbd -device usb-mouse -k en-us -net bridge,br=br0 -net nic,model=e1000,addr=0x3 -device ahci,id=ahci -device ide-cd,drive=cd0,bus=ahci.0 -drive id=cd0,file=/soft/46.iso,if=none
这里面重点是主板应该用uefi启动,关闭csm,虚拟机硬件采用q35,支持pcie,bios也用uefi模式(ovmf)
-cpu host,kvm=off,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_vendor_id=1234567890ab -machine q35 -device vfio-pci,host=01:00.0,bus=pcie.0,multifunction=on,rombar=1 -vga none 这是关键性参数  其中kvm=off可以防止驱动安装43错误,后面的几个hv开头的参数如果没有,鲁大师跑分要么失败,要么只有9000分,加了这个参数跑分就是43000 这是正常水平。
那么nvdia显卡直通到这里就完事了。


最后还有hd4600核显直通安装黑苹果没有搞定,加油。
最后的目标就是 核心显卡直通给苹果系统,gtx750直通给win10 两个虚拟机系统分别独占显卡,同时工作。



补充一个装黑苹果1015.4全屏花屏的虚拟机命令,直通核显,花瓶可能是四叶草或者是edid的问题
echo 8086 0412 > /sys/bus/pci/drivers/vfio-pci/new_id
echo 8086 8cba > /sys/bus/pci/drivers/vfio-pci/new_id
echo 8086 0c0c > /sys/bus/pci/drivers/vfio-pci/new_id
qemu-system-x86_64 -enable-kvm -m 6144 -cpu Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave -machine q35 -bios /boot/pveigd/igd-ok.fd
-smp 4,cores=2 -device usb-host,vendorid=0x275d,productid=0x0ba6,id=usb0 -device usb-host,vendorid=0x1a2c,productid=0x2d23,id=usb1 -vga none -nographic -usb -device usb-kbd -device usb-mouse -k en-us -net bridge,br=br0 -net nic,model=e1000,addr=0x4 -device ahci,id=ahci,addr=0x5 -device ide-hd,drive=cd0,bus=ahci.0 -drive id=cd0,file=/dev/sdb5,if=none -device isa-applesmc,osk=”ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc“ -smbios type=2 -device vfio-pci,host=00:02.0,addr=0x2,rombar=0 -device vfio-pci,host=00:16.0
就差一点点了   要想mac点亮屏幕 必须将核心显卡与MEI设备一起直通进去才行。

其实最新版的pve或unraid 直通的时候已经不需要从bios中提取vbios了,直接添加一个直通参数x-igd-opregion,并使用seabios即可看到屏幕显示bios画面
-net bridge,br=br0 -net nic,model=e1000,addr=0x4 这里的网络设置
如果是pve的话可以改成-netdev tap -device e1000



评分

参与人数 1无忧币 +4 收起 理由
蓝星明月 + 4 很给力!

查看全部评分

发表于 2020-4-28 19:53:38 | 显示全部楼层
好深奥,就是没看懂

点评

很简单,就是把电脑的显卡分配给虚拟机独占使用,能发挥显卡99%的性能。 分配核显可以一般的看视频,打小游戏,装黑苹果。 也可以分配独显,虚拟机吃鸡都可以的说。  详情 回复 发表于 2020-4-30 04:06
回复

使用道具 举报

 楼主| 发表于 2020-4-30 04:06:53 | 显示全部楼层
369963 发表于 2020-4-28 19:53
好深奥,就是没看懂

很简单,就是把电脑的显卡分配给虚拟机独占使用,能发挥显卡99%的性能。
分配核显可以一般的看视频,打小游戏,装黑苹果。
也可以分配独显,虚拟机吃鸡都可以的说。
回复

使用道具 举报

发表于 2020-5-2 19:32:52 | 显示全部楼层
玩虚拟机就是要收集各种知识,先mark再看~

点评

最终目的,就是电脑开机后自动运行两个虚拟机,一个用核显跑mac系统,一个用独显跑win系统,要求用两个显示器,都要有显示。 两个虚拟机都要能听歌,上网,尤其是显卡必须直通。 网上真的没有这样的教程,查资料都  详情 回复 发表于 2020-5-3 05:43
回复

使用道具 举报

 楼主| 发表于 2020-5-3 05:43:41 来自手机 | 显示全部楼层
望海潮fj 发表于 2020-5-2 19:32
玩虚拟机就是要收集各种知识,先mark再看~

最终目的,就是电脑开机后自动运行两个虚拟机,一个用核显跑mac系统,一个用独显跑win系统,要求用两个显示器,都要有显示。
两个虚拟机都要能听歌,上网,尤其是显卡必须直通。
网上真的没有这样的教程,查资料都是说haswell如何如何不能物理输出,
核显直通win10比较简单,如果用seabios的话,基本一次成功,但是要用uefi的话,模拟ich9芯片组,装win7也没问题。主要还是弄黑苹果直通是难点。,至于独显直通,我感觉要容易许多。
回复

使用道具 举报

发表于 2020-5-11 01:38:10 | 显示全部楼层
楼主 求你提取的可以正常启动win的ipxe.efi
我已经寻觅很久了
我邮箱shz@live.cn
或者我威信19925465080 交个朋友

点评

既然你非要那个文件我给你便是  详情 回复 发表于 2020-5-13 18:38
回复

使用道具 举报

 楼主| 发表于 2020-5-13 18:38:19 | 显示全部楼层
本帖最后由 510819776 于 2020-5-13 18:41 编辑
a1379388505 发表于 2020-5-11 01:38
楼主 求你提取的可以正常启动win的ipxe.efi
我已经寻觅很久了
我邮箱

既然你非要那个文件我给你便是 sanboot.efi.zip (154.69 KB, 下载次数: 3)

点评

非常感谢!我现在测试一下  详情 回复 发表于 2020-5-13 23:30
回复

使用道具 举报

发表于 2020-5-13 23:30:41 | 显示全部楼层
510819776 发表于 2020-5-13 18:38
既然你非要那个文件我给你便是你要的文件
把.zip后缀名去掉就行了,不是压缩包,不要去解压改名就行了

非常感谢!我现在测试一下
回复

使用道具 举报

发表于 2020-5-21 17:57:47 | 显示全部楼层
rom通用吗?能不能发一下怎么做ROM的教程?我的CPUi3 8100 能不用用?

点评

不需要rom了, 直通的时候添加一个x-igd-opregion=on 就行了 如果你用seabios的话可以看到显示器显示虚拟机bios 如果你用ovmf的话,只能等启动win10后核显驱动加载后显示器方可输出 8100是否支持不清楚,自己试  详情 回复 发表于 2020-5-29 11:51
回复

使用道具 举报

发表于 2020-5-21 17:59:41 | 显示全部楼层
能不用通用所有IGP核显? i3 8100 可以用吗
回复

使用道具 举报

 楼主| 发表于 2020-5-29 11:51:44 | 显示全部楼层
2012yhsam0025 发表于 2020-5-21 17:57
rom通用吗?能不能发一下怎么做ROM的教程?我的CPUi3 8100 能不用用?

不需要rom了,
直通的时候添加一个x-igd-opregion=on 就行了
如果你用seabios的话可以看到显示器显示虚拟机bios
如果你用ovmf的话,只能等启动win10后核显驱动加载后显示器方可输出
8100是否支持不清楚,自己试试就知道了
貌似amd 二代锐龙核显不支持

回复

使用道具 举报

发表于 2020-9-15 11:18:39 | 显示全部楼层
谢谢!!! 支持!!!  谢谢!!! 支持!!!  谢谢!!! 支持!!!
回复

使用道具 举报

发表于 2020-10-7 22:16:08 | 显示全部楼层
我也好好学学
回复

使用道具 举报

发表于 2020-10-23 13:42:45 | 显示全部楼层
楼主,你好。看到你的帖子犹如黑暗中见到了曙光。我的是j4105的核显uhd600,是否可以参照你的方法直通,需要修改的文件是那个?在什么位置?请指教。
回复

使用道具 举报

发表于 2020-10-23 13:43:56 | 显示全部楼层
楼主,你好。看到你的帖子犹如黑暗中见到了曙光。我的是j4105的核显uhd600,是否可以参照你的方法直通,需要修改的文件是那个?在什么位置?请指教。
回复

使用道具 举报

发表于 2020-10-23 15:16:51 | 显示全部楼层
老师,配置文件是哪一个啊,我是核显uhd600,unraid直通后,无法安装驱动,分辨率只有1024*768.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2020-11-26 09:14

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表