前言:
飞牛前段时间更新了虚拟机应用,并且增加了虚拟机硬件直通的功能,这代表完全可以直接使用主力电脑安装一个飞牛做底层,虚拟个windows直通独显连接显示器来进行办公,还能继续使用核显给飞牛进行影视解码,本教程就从0开始,给大家演示下如何进行独显的直通操作。
另外对于只有核显,没有独显的小伙伴,也可以到网上找找一些大佬做的飞牛SRIOV的教程,本教程里就不多赘述了。
硬件平台:
因为硬件的多样化,所以本教程未必能完全适配所有人,大家请务必使用空闲的硬盘部署尝试没问题后,再覆盖安装,先介绍下我的硬件平台,基本都是比较常规的硬件。
CPU:INTEL 14900K
主板:微星Z790 ACE战神
显卡:英伟达 公版2080ti
至于AMD的CPU和显卡,大家可以跟着教程尝试看看。
飞牛OS启动U盘制作:
一般使用ventoy或者rufus来制作启动U盘,两个软件各有优劣,ventoy可以放入多个镜像文件进行选择,rufus则兼容性要更好一些,本教程考虑到大家主板的兼容性,最终还是选择了rufus。
启动U盘制作好后插到需要刷系统的电脑上,重启机器进入BIOS,我们需要先做一些设置,并且修改一下启动项。
进来后,首先搜索VT-D,并设置为允许。
再开启核显优先的设置,这一步很重要,如果不做这个设置,刷完飞牛后,可能你的机器只会识别到独显,核显自动被禁用了,微星主板的路径为settings>高级>内建显示配置>设置第一显卡>IGD,其他型号主板可以参考寻找下。
开启完毕后,我们就可以选择我们的启动U盘,重启机器了。
这个主板板载的无线网卡飞牛不支持,直接使用常规模式无法部署。
如果有遇到差不多情况的,可以选择第二个恢复模式安装。
只要选择一下系统安装盘,剩下的步骤会自动完成。
最后的时候页面会有一些报错,不用管,等提示安装完成后,拔掉U盘,并回车确认。
再在出现的命令行输入reboot重启电脑。
如果你电脑还有其他的系统,还需要进入bios再重新设置下启动盘,将debian这个选择到最上面。
耐心等待一会,飞牛系统就启动成功了,接下来我们使用页面上显示的ip:5666,到另一个设备上登入飞牛的web端。
注册下管理员账号,再创建下存储空间,整个系统的初始化就完成差不多了,这边的盘之前飞牛使用过,所以这里直接点击下挂载就可以继续使用了。
打开应用中心,现在可以看到已经有了一个虚拟机的应用,目前这个虚拟机确实还不是很完善,只能支持iso的镜像文件,不过对我们直通独显给windows已经完全够用了。
点击安装,点击下一步,再点击确定,安装完成后,打开虚拟机,左侧可以看到一个硬件的菜单,点进去就可以看到硬件直通相关的说明了。
这里可以看到,进行PCIE相关设备直通之前,我们需要提前进行一些配置,需要先打开IOMMU,再屏蔽对应直通设备的驱动,最后还要绑定设备到VFIO,这些都是需要我们自己飞牛的SSH中提前配置好才能进行后续的设备直通操作,整体的流程和在pve中进行直通差不多。
先到设置>ssh中打开ssh的开关。
打开后,通过第三方shell工具,或者直接打开电脑的终端/命令提示符输入以下命令并回车。
ssh 飞牛管理员用户名@飞牛的ip
命令提示符第一次连接需要输入一次yes,回车。
输入下飞牛管理员的密码,这里密码输入是没有任何显示的,直接盲输回车就行。
进入管理员后台之后,输入sudo -i,再输入一次管理员的密码,切换到root用户。
输入lspci,先看下我们的核显和独显是不是都识别到了。
确认没问题,我们再输入以下命令,打开grub配置文件。
nano /etc/default/grub
如果是INTEL的处理器,则在GRUB_CMDLINE_LINUX_DEFAULT后面添加以下内容:
intel_iommu=on iommu=pt
如果是AMD处理器,则在GRUB_CMDLINE_LINUX_DEFAULT后面添加以下内容:
amd_iommu=on iommu=pt
使用ctrl + x,再输入y退出并保存文件。
执行以下命令更新GRUB配置:
update-grub
手动输入以下命令回车(不要复制),打开以下文件,添加内核模块:
update-grub
将以下内容都添加到这个文件中,同样使用ctrl + x,再输入y退出并保存文件。
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
输入以下命令更新内核模块:
update-initramfs -u -k all
输入以下命令,打开blacklist配置文件,屏蔽显卡相关驱动:
nano /etc/modprobe.d/blacklist.conf
nvdia显卡添加以下内容:
blacklist nvidia
blacklist nvidiafb
blacklist snd_hda_intel
blacklist nouveau
amd显卡添加以下内容(未经测试):
blacklist amdgpu
blacklist snd_hda_intel
blacklist nouveau
运行以下命令,找到显卡的PCI ID,amd则自己做下替换。
lspci -nnk | grep -i nvidia
将以下命令中的ids后的内容,替换成你自己设备的id,有多个就按照这个格式用逗号分隔。
options vfio-pci ids=10de:1e07,10de:10f7,10de:1ad6,10de:1ad7
输入以下命令,打开vfio配置文件,将上面options这行内容复制进来,同样ctrl+x,再输入y回车。
nano /etc/modprobe.d/vfio.conf
最后输入reboot重启机器。
重启完成后,再次进入ssh的root用户下,输入以下命令验证显卡是否绑定成功:
lspci -k
如果输出中显示Kernel driver in use: vfio-pci,则说明绑定成功。
回到飞牛web端,接下来我们先打开设置>网络,点击启用ovs。
再将我们准备的windows镜像文件上传到飞牛上。
windows的驱动包可以在飞牛官方的帮助文档中进行下载。
上传完成后,创建虚拟机,选择我们windows和对应的版本,这里我演示使用的是win11。
选择系统镜像和驱动镜像,配置内存和核心数,其他默认,点击下一步。
磁盘选择virtio SCSI,分配系统盘大小,点击下一步。
因为我们已经打开了网络ovs设置,所以网络这里直接保持默认,继续下一步,之前没打开的,也可以点击这里的网络连接设置跳转去开启。
因为我们还没有打开硬件直通开关,所以这里还选择不了直通的硬件,我们先点击创建完成虚拟机的配置。
回到虚拟机硬件菜单,点击硬件直通后的开启,输入提示文字点击确认就成功打开了。
再点击三个点编辑虚拟机,点到硬件直通,点击添加硬件>添加PCI设备。
往下翻找到我们的独显,这里如果IOMMU分组没问题,那么随便选择一个就会将显卡所有的设备都选中,点击确认保存配置。
创建完成后,点击开机。
这里可能会遇到开机失败报错,多点几次开机尝试下。
开机成功后,点击vnc访问。
windows具体的安装步骤我就省略了,遇到一些关键节点我们单独拉出来看下。比如,如果到硬盘选择页面没有出现硬盘,我们先点击load driver。
再点击浏览,选择我们上传的驱动镜像,找到amd64,再选择w11(根据系统版本选择),确认后选中安装,等待驱动加载就可以看到了。
如果你是用的官方完整镜像,那么系统自动更新完显卡驱动的时候,显示器就会出现虚拟的windows画面了,这个时候vnc中的画面会卡在UEFI的启动页面,暂时不要关闭,我们还需要通过这个vnc页面来控制鼠标和键盘。
等待安装流程全部完成,先把虚拟机关机,编辑虚拟机,依然选择硬件直通,这次点到USB直通,将鼠标键盘直通给虚拟机,这样操作输入更加的丝滑,保存后再次启动。
进来后,打开设备管理器,在这里也可以看到独显设备识别的没有问题,任务管理器里也能看到显卡是处于正常工作的状态。
再回到飞牛,安装一下影视,看下核显工作是否正常。
影视安装并配置完成后,点到设置,在这里可以看到硬解开关可以正常打开,当然这里的独显选择就没有用了。
随便打开一个影视,也可也看到核显转码运行正常。
最后:
飞牛虚拟机硬件直通的功能确实还挺有意思的,不过现在的门槛依然还是比较高,所以希望飞牛再接再厉,把一些需要自己在ssh配置的内容,放到web端中来操作,给小白用户降低一下门槛。
ok,以上就是本期的全部内容了,大家记得关注,点赞,转发,评论,我们下一期再见吧~