PVE安装Windows11小记
安装前准备
- 主机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
下载
创建虚拟机
-
操作系统
选择ISO镜像,然后选择客户机操作系统类别为:Microsoft Windows
后,会出现Add additional drive for Virtio drivers
,选中打勾,选择virtio-win
的镜像,添加进去。 -
系统
机型选择q35
,显卡选择默认
,BIOS
选择OVMF(UEFI)
。安装win11
需要TPM
存储,所以EFI
存储和TPM
存储都要。 -
磁盘
总线/设备选择SCSI
,硬盘大小>=100GB
比较合适。 -
CPU
选择4核心,类别选择host
性能会好。 -
内存
内存至少4GB
以上。 -
网络
网络模型选择VirtiO
虚拟化即可。 -
创建虚拟机
点击下一步创建后,选择创建好的虚拟机,打开选项,设置 引导顺序,将Win11
镜像放在第一个,virtio-win
驱动镜像放在第二个。启动主机即可。
安装
Windows
安装跟着步骤一步一步走即可。
显示Press any key to boot from CD or DVD
时,需要按下任意键,才会加载安装光驱。
找不到硬盘安装Windows
在选择安装硬盘时,会出现没有硬盘可选的时候,只需要选择加载驱动程序,弹出框中选择打开virtio-win
的镜像,找到vioscsi/win11/amd64
目录,点击确认安装驱动就可以显示出硬盘了。
没有网络
shift+F10
打开CMD
,然后运行oobe\BypassNRO.cmd
即可,Windows
会自动重启,重新开始设置Windows
。
安装virtio-win
驱动
打开资源管理器,找到之前加入的virtio-win
的镜像,打开后运行virtio-win-gt-x64.msi
即可安装。
安装显卡驱动
在intel官网右上角搜索CPU
型号,找到对应的CPU
型号后点击进入,在download
中找到核显驱动进行下载,下载完成点击安装即可。
开启远程桌面
开启远程桌面后,可以用另外的设备试一下连接。
连接成功后,关闭win11
虚拟机,需要重新设置一下核显。
重新设置虚拟核显
-
设置显卡为 无
-
添加
pci
设备,和上面设置SRIOV
核显时看到的一致,但是选择时不能选择0000:00:02.0
,因为这是核显本体,一旦选择了核显本体,所有虚拟出来的核显都将失效,需要重新重启虚拟核显才行。所以只需要选择虚拟出来的02.1
,02.2
,02.3
其中一个即可。
-
删除已使用过的光驱(
win11
镜像和virtio-win
驱动景象)
启动Windows11
重新启动win11
,pve
中的控制台已经无法获取到信号了,我们使用远程桌面进行连接即可。