研究这个课题是因为我希望Hyper-V中的Ubuntu虚拟机可以使用宿主机(笔记本电脑)内置摄像头(非USB),但是最终以失败告终。但是在探索这个问题的过程中,我发现了一个可以给Hyper-V的Ubuntu Desktop虚拟机开启增强会话功能的方法。
什么是Hyper-V的增强会话功能
Hyper-V的“增强会话”功能是一项强大的技术,它极大地提升了虚拟化环境中用户与虚拟机交互的体验。这一功能特别适用于需要高效管理和操作虚拟机的场景,为管理员和终端用户提供了前所未有的便利。
在启用“增强会话”模式后,用户能够享受到一系列高级特性,这些特性显著地扩展了虚拟机与宿主机之间的互操作能力。首先,它支持拖放文件功能,这意味着用户可以简单地通过拖放操作在宿主机和虚拟机之间传输文件,无需使用额外的文件传输工具,从而大大提高了数据传输的效率和便捷性。
此外,“增强会话”还实现了剪贴板的双向共享,使得用户可以在宿主机和虚拟机之间无缝复制和粘贴文本内容。这一功能在需要频繁交换信息的场景中尤为实用,能够显著提升工作效率。
不仅如此,“增强会话”还带来了音频、打印、USB设备接入等多方面的支持。用户可以在宿主机上播放虚拟机中的声音,享受更加丰富的多媒体体验;同时,虚拟机也能访问连接到宿主机的打印机,实现打印作业的轻松完成。此外,USB设备的接入也得到了完美支持,用户可以像操作宿主机上的设备一样,方便地在虚拟机中使用这些设备。
为了实现这些高级功能,“增强会话”模式基于远程桌面协议(RDP)进行连接,并通过VMBus进行数据传输。这种连接方式不仅保证了数据传输的稳定性和高效性,还确保了虚拟机与宿主机之间的安全隔离。
正常情况下,我们启动的Hyper-V虚拟机是没有增强会话功能选项的。即使我们在设置中选择了开启,实则也没有开启。我们需要经过一些特殊手段的处理才能真正看到增强会话功能。
开启Hyper-V的增强会话模式策略
创建虚拟机
我们创建一个名字叫EnhancedSessionUbuntu24的虚拟机。
注意,要选择“第二代”。
创建完后,先不要启动。
修改虚拟机启动设置
去掉“启用安全启动”前面的√。
然后启动虚拟机,让系统安装完毕。
配置虚拟机
安装完系统,进入一个终端,执行下面的脚本
wget https://raw.githubusercontent.com/Hinara/linux-vm-tools/ubuntu20-04/ubuntu/20.04/install.shsudo chmod +x install.shsudo ./install.sh
重启虚拟机。
配置宿主机
使用管理员身份打开Powershell。
然后执行下面指令
Set-VM -VMName "EnhancedSessionUbuntu24" -EnhancedSessionTransportType HvSocket
其中"EnhancedSessionUbuntu24"是我之前创建的虚拟机名称。
设置完毕后,关闭Hyper-V管理器。
然后我们再打开Hyper-V管理器,并连接虚拟机,终于看到修改配置的框了。
然后我们就可以勾选宿主机的哪些设备要被虚拟机使用了。
然后我们就可以通过Ctrl+C和Ctrl-V在宿主机和虚拟机中间方便快捷的拷贝文件了。