微软有相应的帮助文章:http://support.microsoft.com/kb/883260

解决方法1:

Win+R 弹出运行,输入 gpedit.msc 进入组策略编辑器,依次展开

用户配置 - 管理模板 - Windows 组件 - 附件管理器 - 文件附件中不保留区域信息。

将其设置为已启用即可。如需恢复,修改为未配置或已禁用……

解决方法2:

注册表——
通过此策略设置,你可以管理 Windows 是否标记具有其源区域信息的文件附件。 这些区域或源区域为 Internet、Intranet 和本地。 此策略设置需要 NTFS 文件系统正常工作,在使用 FAT32 的系统上会在未通知的情况下出现故障。 如果不保留区域信息,Windows 无法作出适当的风险评估。 如果启用此策略设置,Windows 不会使用其区域信息标记文件附件。 如果禁用此策略设置,Windows 将使用其区域信息标记文件附件。 如果未配置此策略设置,Windows 将使用其区域信息标记文件附件。
恢复把dword值00000001改成00000000导入就行了

-------------------------------------------分割线-------------------------------------------

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments]
"SaveZoneInformation"=dword:00000001

解决方法3:
隐藏删除区域信息的机制
通过此策略设置,可以管理用户是否可以通过单击文件的“属性”选项卡上的“取消阻止”
或单击“安全警告”对话框中选择检查框,手动从保存的文件附件中删除区域信息。 通过删除区域信息,用户可以打开 Windows 阻止用户打开的潜在危险文件附件。 如果启用此策略设置,Windows 会隐藏复选框和“取消阻止”按钮。 如果禁用此策略设置,Windows 会显示该复选框和“取消阻止”按钮。 如果你未配置此策略设置,Windows 将显示复选框和“取消阻止”按钮。
恢复把dword值00000001改成00000000导入就行了
-------------------------------------------分割线-------------------------------------------

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments]
"HideZoneInfoOnProperties"=dword:00000001

安装并固定内核

apt install pve-kernel-6.8.12-1-pve
proxmox-boot-tool kernel pin 6.8.12-1-pve
apt install pve-headers-6.8.12-1-pve

查看当前内核版本是否锁定为6.8.12-1

proxmox-boot-tool kernel list

update-pciids命令会从网上更新pci.ids文件,该文件包含着pci设备的vendor id和 device id 与厂商名称、型号名称的对应关系,一旦更改该文件那么lspcishow出来的东西就会发生变化。
一些新版本的硬件可能新于本地的pci.ids文件,因此更新下这个文件,就可以看到pcie设备的名称。

在联网状态下,执行

update-pciids 

设置GRUB

nano /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream"

添加模块

echo vfio >> /etc/modules
echo vfio_iommu_type1 >> /etc/modules
echo vfio_pci >> /etc/modules
echo vfio_virqfd >> /etc/modules

更新GRUB

update-grub
update-initramfs -u
reboot

参数说明

iommu=pt:这将防止Linux将不能直通的设备直通。
pcie_acs_override=downstream:用于将iommu groups拆分,方便直通一些板载的设备

安装新内核的头文件

apt install proxmox-headers-6.8.12-1-pve

安装一些工具

apt install build-* dkms
apt install sysfsutils

安装模块

dpkg -i i915-sriov-dkms_2024.12.30_amd64.deb

设置VF属性

echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" > /etc/sysfs.conf

设置GRUB

nano /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULTintel_iommu=on i915.enable_guc=3 i915.max_vfs=7

更新GRUB

update-grub
update-initramfs -u
reboot

验证i915-sriov模块是否已加载

lspci | grep -i vga
lspci -vs 00:02.0
dmesg | grep i915
ls /dev/dri/render*

移除安装包
dpkg -r i915-sriov-dkms
删除dkms模块
dkms remove i915-sriov-dkms/2024.12.30
i915-sriov-dkms

https://github.com/strongtz/i915-sriov-dkms

旧版编译安装
构建并安装i915-sriov模块

cd /usr/src
git clone https://github.com/strongtz/i915-sriov-dkms i915-sriov-dkms-6.1

    edit /usr/src/i915-sriov-dkms-6.1/dkms.conf with the following:
    PACKAGE_NAME="i915-sriov-dkms"
    PACKAGE_VERSION="6.1"

dkms install --force -m i915-sriov-dkms -v 6.1