PVE8 上安装的windows虚拟机,SCSI控制器使用了VitrlIO,安装virtio驱动后,右下角有弹出选项,virtio驱动的网卡、Balloon、串口等设备都是标准的PCI设备,支持热插拔,因此Windows系统会在界面上显示设备可以弹出。但是, 弹出后就无法找回了(至少我没找到办法)
为防止自己手欠,或用户手欠。在找到了隐藏“弹出虚拟驱动”的办法。参考自:关闭 VMware Workstation 虚拟机 USB 插入弹出提示窗_虚拟机打开情况下,插入usb显示连接到主机-CSDN博客
隐藏虚拟设备弹出窗口
1.在目录C:\Windows\System32\GroupPolicyUsers 下创建一个操作脚本
@ECHO OFF FOR /f %%A IN ('reg query "HKLM\SYSTEM\CurrentControlSet\Enum\PCI"') DO ( echo "%%A" | find "VEN_1AF4" > NUL && FOR /f %%B IN ('reg query "%%A"') DO ( rem change 6 -> 2 reg add "%%B" /v Capabilities /t REG_DWORD /d 2 /f ) )
命名为:disable_virtio_removale.bat
2.在Windows命令行输入 gpedit.msc 并回车
3.在下方界面中添加刚刚创建的脚本到开机 “启动” ——"属性" 中:
点击确认,重启虚拟机即可。
恢复虚拟设备弹出窗口
在Windows命令行输入gpedit.msc并回车,在界面中 删除 刚刚添加的开机执行脚本,即可
补充说明:
上述操作,Windows虚拟机设备弹出窗口隐藏功能,仅对virtio设备生效,直通设备包括直通的磁盘及USB设备(最常见的USB设备如加密狗等)弹出窗口不会隐藏;
设置弹出窗口隐藏和取消隐藏两个功能后,都需要重启虚拟机生效;
Virtio设备隐藏后,新热插的virtio设备仍然会显示弹出窗口,如果需要隐藏virtio设备弹出窗口,需要再次重启虚拟机;
本文所述操作仅涉及对虚拟设备弹出窗口的隐藏与取消,是对Windows注册表中对应Virtio设备一个键值的修改操作,不影响设备热插拔能力,不影响其他功能。