安装前准备

  • 主机CPU:Intel Processor N100
  • pve版本:8.1.4
  • 内核版本:6.5.11-7
  • i915-sriov-dkms github地址: i915-sriov-dkms
  • virtio-win github地址:virtio-win

配置SRIOV虚拟核显

# 显示核显驱动,当前应该是没有的
ls -l /dev/dri

# 查看内核版本号
uname -a

# 安装必要软件
apt install -y build-* git dkms

# 拉取git库
git clone https://github.com/strongtz/i915-sriov-dkms.git

# 进入目录编辑dkms.cnf文件
cd i915-sriov-dkms
vim dkms.conf

# 将PACKAGE_NAME="@_PKGBASE@" 改为 PACKAGE_NAME="i915-sriov-dkms"
# 将PACKAGE_VERSION="@_PKGVER@" 改为 PACKAGE_VERSION="<你的linux内核版本>"
# 只需要精确到小数点一位即可,我这边版本为6.5.11-7,写为 6.5
#---------------------------

PACKAGE_NAME="i915-sriov-dkms"
PACKAGE_VERSION="6.5" 

#---------------------------

# wq保存退出

# 复制目录到/usr/src/目录下
cp -r /root/i915-sriov-dkms /usr/src/i915-sriov-dkms-6.5

# 进入目录,并安装
cd /usr/src/i915-sriov-dkms-6.5
dkms install --force -m i915-sriov-dkms -v 6.5

# 查看dkms状态,
# 显示i915-sriov-dkms/6.5, 6.5.11-7-pve, x86_64: installed表示安装成功
dkms status

# 设置grub
vim /etc/default/grub

# 将GRUB_CMDLINE_LINUX_DEFAULT的参数修改为以下
#---------------------------

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_guc=3 i915.max_vfs=7 iommu=pt i915.modeset=1 pcie_acs_override=downstream"

#---------------------------

# wq保存退出

# 设置modules
vim /etc/modules

# 将下面未注释的行复制进去
#---------------------------

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.


vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

#---------------------------

# wq保存退出

# 更新配置
update-grub
update-initramfs -u

# 安装sysfsutils,用来设置虚拟核显的数量
apt install -y sysfsutils
# 设置虚拟核显的数量
echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 3" > /etc/sysfs.conf

# 重启
reboot

# 查看pci设备,VGA就是虚拟出来的核显
# 00:02.0为显卡主体,不可直通
lspci

00:02.0 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics]
00:02.1 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics]
00:02.2 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics]
00:02.3 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics]

安装Windows11

下载

创建虚拟机

  • 操作系统
    pve_win11_1
    选择ISO镜像,然后选择客户机操作系统类别为:Microsoft Windows后,会出现Add additional drive for Virtio drivers,选中打勾,选择virtio-win的镜像,添加进去。

  • 系统
    pve_win11_2
    机型选择q35,显卡选择默认BIOS选择OVMF(UEFI)。安装win11需要TPM存储,所以EFI存储和TPM存储都要。

  • 磁盘
    pve_win11_3
    总线/设备选择SCSI,硬盘大小>=100GB比较合适。

  • CPU
    pve_win11_4
    选择4核心,类别选择host性能会好。

  • 内存
    pve_win11_5
    内存至少4GB以上。

  • 网络
    pve_win11_6
    网络模型选择VirtiO虚拟化即可。

  • 创建虚拟机
    点击下一步创建后,选择创建好的虚拟机,打开选项,设置 引导顺序,将Win11镜像放在第一个,virtio-win驱动镜像放在第二个。启动主机即可。

安装

Windows安装跟着步骤一步一步走即可。

显示Press any key to boot from CD or DVD时,需要按下任意键,才会加载安装光驱。
pve_win11_7

找不到硬盘安装Windows

在选择安装硬盘时,会出现没有硬盘可选的时候,只需要选择加载驱动程序,弹出框中选择打开virtio-win的镜像,找到vioscsi/win11/amd64目录,点击确认安装驱动就可以显示出硬盘了。
pve_win11_8

没有网络

shift+F10 打开CMD,然后运行oobe\BypassNRO.cmd即可,Windows会自动重启,重新开始设置Windows

安装virtio-win驱动

打开资源管理器,找到之前加入的virtio-win的镜像,打开后运行virtio-win-gt-x64.msi即可安装。
pve_win11_9

安装显卡驱动

intel官网右上角搜索CPU型号,找到对应的CPU型号后点击进入,在download中找到核显驱动进行下载,下载完成点击安装即可。
pve_win11_10

开启远程桌面

开启远程桌面后,可以用另外的设备试一下连接。
pve_win11_11
连接成功后,关闭win11虚拟机,需要重新设置一下核显。

重新设置虚拟核显

  • 设置显卡为 无
    pve_win11_12

  • 添加pci设备,和上面设置SRIOV核显时看到的一致,但是选择时不能选择0000:00:02.0,因为这是核显本体,一旦选择了核显本体,所有虚拟出来的核显都将失效,需要重新重启虚拟核显才行。所以只需要选择虚拟出来的02.102.202.3其中一个即可。
    pve_win11_13

  • 删除已使用过的光驱(win11镜像和virtio-win驱动景象)

启动Windows11

重新启动win11pve中的控制台已经无法获取到信号了,我们使用远程桌面进行连接即可。
pve_win11_14

文章作者: Willxup
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Willxup
Linux Linux PVE
喜欢就支持一下吧