坑太多,简单概括注意事项:vt-d
、iommu
、UEFI
、pc-q35-3.1
、vfio
。
参数设置
修改/etc/default/grub
,找到GRUB_CMDLINE_LINUX_DEFAULT
,按CPU类型分别修改为
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"
比如,我是Intel的
然后修改/etc/modules
,加上“,一个一行:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
理论上里面只会有这些
然后屏蔽显卡驱动:
echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf



像这样然后,
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
VFIO(可选)
为什么是可选呢?因为部分机器执行此操作后可能无法输出到外接显示器,如出现问题请尝试撤回这一步。
首先,查看显卡的ID。我这里有三张显卡,ID在前面:
[email protected]:~# lspci -v | grep VGA
02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Caicos XT [Radeon HD 7470/8470 / R5 235/310 OEM] (prog-if 00 [VGA controller])
04:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1) (prog-if 00 [VGA controller])
09:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30) (prog-if 00 [VGA controller])
以N卡为例,ID为020,继续执行:
[email protected]:~# lspci -n -s 02:00
02:00.0 0300: 1002:6778
02:00.1 0403: 1002:aa98
会得到显卡和显卡内置音频的另一个ID,我这里是1002:6778和1002:aa98。 接下来把这两个ID加入VFIO(记得ID改成自己的!):
echo "options vfio-pci ids=1002:6778,1002:aa98 disable_vga=1"> /etc/modprobe.d/vfio.conf
如出现无法输出到外接显示器可以试试以下,如还无法使用请清空vfio.conf。
echo "options vfio-pci ids=1002:6778,1002:aa98"> /etc/modprobe.d/vfio.conf
然后应用更改:
update-grub
update-initramfs
重启PVE主机。
创建虚拟机
启动类型要设置为OVMF(UEFI) ,需要添加EFI磁盘。创建成功后,修改主机类型:
qm set 100 -machine pc-q35-3.1
接着在PVE界面中添加显卡,打钩除了【主GPU】之外的三个选项。参考配置如下,终点部分已圈出这时候环境就基本配置完毕了。
安装操作系统
这时候先不要接显示器。在PVE内安装系统,随后安装virtio驱动。
N卡有毒
系统安装好只后,如果显卡(尤其是N卡)不工作,设备管理器出现Code 43:来自nvidia的亲切问候:Code43就需要进一步的操作了。 不建议尝试破解N卡驱动,它可能直接甩安装失败到你脸上。
伪装CPU
nano /etc/pve/qemu-server/<你的虚拟机的ID>.conf
找到CPU那一行,删掉,然后改为:
cpu: host,hidden=1,flags=+pcid
args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=NV43FIX,kvm=off'
这两个,圈出来了卸载n卡驱动,停止再启动虚拟机,等待驱动安装。 如果43错误消失,就可以跳到下一章了。
获取RomFile
cd /sys/bus/pci/devices/0000:02:00.0/ #这是上一步的显卡的ID
echo 1 > rom
cat rom > /usr/share/kvm/<GPURomFileName>.bin
echo 0 > rom
修改虚拟机配置(上面提到的conf),在hostpci0
一行最后,加上,romfile=<GPURomFileName>.bin
卸载n卡驱动,停止再启动虚拟机,等待驱动安装。如果还是不行……emmmm,N卡有毒,使用需谨慎。
最后
插上外接显示器,检查是否可以点亮。如果可以,在虚拟机硬件配置页面找到显卡,编辑,勾选【主GPU】。停止再启动虚拟机,如果显示器照常点亮,就是成功了。
1,411 Comments
Samueltoisp
December 29, 2022 at 5:45 pmlasix 40 mg price
Tedvem
December 29, 2022 at 5:40 pmprednisolone price uk
Carlvem
December 29, 2022 at 5:26 pmaccutane without a prescription
Carlvem
December 29, 2022 at 5:12 pmgeneric flomax
Estebanpoord
December 29, 2022 at 5:05 pmorder modafinil online india
Michaeldip
December 29, 2022 at 4:25 pmviagra online safe
Denvem
December 29, 2022 at 4:10 pmonline pharmacy 365 pills
Teovem
December 29, 2022 at 3:58 pmvaltrex over the counter usa
Jasonvem
December 29, 2022 at 3:50 pmbuy flomax online without prescription
Evavem
December 29, 2022 at 3:36 pmaurogra 100 online
Annavem
December 29, 2022 at 3:34 pmprednisolone 5mg tablets
Denvem
December 29, 2022 at 3:29 pmwhere to buy valtrex
Lisavem
December 29, 2022 at 3:27 pmdipyridamole aspirin
Michaeldip
December 29, 2022 at 3:22 pmsynthroid 0.025
Markvem
December 29, 2022 at 2:52 pmvaltrex tablets
Wimvem
December 29, 2022 at 2:51 pmazithromycin over the counter singapore
RodneyDah
December 29, 2022 at 2:23 pmprednisolone
Jasonvem
December 29, 2022 at 2:08 pmcanadian pharmacy meds
Davidimmip
December 29, 2022 at 1:56 pmbaclofen tab 10mg
Jimvem
December 29, 2022 at 1:51 pmvaltrex 1g best price
Boovem
December 29, 2022 at 1:40 pmclomid online pharmacy
Ugovem
December 29, 2022 at 1:15 pm2 trazodone tablets
Wimvem
December 29, 2022 at 12:50 pmlasix 10 mg tablet
Tedvem
December 29, 2022 at 12:37 pmdoxycycline 100mg india
zelma
December 29, 2022 at 12:29 pmWaiting patiently for you to come home and fuck me! https://bit.ly/3UKFVxa