使用Microsoft Hyper-V Manager中的增强会话模式比在VMConnect中使用基本会话模式更方便管理虚拟机。 增强会话模式使用远程桌面协议(RDP)允许您将主机机器资源(驱动器、USB设备、打印机等)附加到虚拟机。在使用此模式时,您可以执行某些操作,例如调整虚拟机屏幕大小,从主机复制粘贴文本到客户机,反之亦然等。
在运行作为Hyper-V客户操作系统的Windows上启用增强会话模式很简单,因为Windows带有远程桌面功能。但是,对于作为Hyper-V客户操作系统运行的Linux发行版,远程桌面未预配置。如今非常流行的Ubuntu 20.04 LTS经常部署在Hyper-V虚拟机上,特别是当您无法将Linux安装为主机操作系统时。继续阅读以了解如何在增强会话模式下使用Hyper-V在Windows上运行Ubuntu。
创建和配置虚拟机
让我们看看如何在Hyper-V中从头开始创建和配置Ubuntu 20.04虚拟机。在本博客文章中,我使用安装了Hyper-V的Windows 10专业版20H2。我的Windows 10主机机器的主机名是home-pc。在运行Ubuntu虚拟机之前,您必须启用Hyper-V。如果您的Windows主机未安装Hyper-V,请阅读如何在Windows 10上安装Hyper-V和Windows Server 2019。
要在 Hyper-V 中创建新的虚拟机,请打开 Hyper-V 管理器,右键单击主机机器名称,在上下文菜单中点击 新建 > 虚拟机。
打开 新建虚拟机向导。您可以跳过 开始之前 步骤。
指定名称和位置。输入虚拟机名称,例如,Ubuntu Hyper-V。选择 将虚拟机存储在不同位置 复选框,并选择您希望存储 VM 文件的文件夹,例如,E:\VMs\。在向导的每个步骤中点击 下一步 继续。
指定代数。选择新虚拟机的代数。最好选择第 2 代,因为提供了更多功能并且限制更高。第 2 代虚拟机使用 UEFI。阅读有关 Hyper-V 第 1 代和第 2 代虚拟机的 更多信息。
分配内存。指定可用于虚拟机的内存量。我选择了 4096 MB,足以运行 Ubuntu 而不进行繁重的任务。选择复选框以 为此虚拟机使用动态内存。分配给虚拟机的内存越多,工作就越方便。不要将计算机的所有内存都分配给虚拟机;为主机操作系统留下内存。如果您同时运行其他虚拟机和此 Linux 虚拟机,请记住其他虚拟机也需要内存。
配置网络。选择一个虚拟交换机,将虚拟网络适配器连接到其中。如果您尚未创建任何虚拟交换机,您可以稍后进行创建并编辑虚拟机配置。
连接虚拟硬盘。点击创建虚拟硬盘。输入虚拟磁盘名称,例如,Ubuntu Hyper-V.vhdx。定义虚拟磁盘文件的位置。您应该选择存储 Hyper-V 虚拟机的目录中的位置。在我的情况下,所选目录是E:\VMs\Ubuntu Hyper-V\Virtual Hard Disks\。设置虚拟磁盘大小。我为了测试目的选择了 15 GB 的 Ubuntu 20.04 虚拟机。
安装选项。选择从可引导镜像文件安装操作系统。点击浏览,选择 Ubuntu 20.04 ISO 安装镜像的位置。我要安装的 Ubuntu 版本是 20.04.2。您可以从官方 Ubuntu网站下载安装镜像。
总结。检查配置摘要,点击完成完成新虚拟机的创建。
打开您已创建的 Ubuntu Hyper-V 虚拟机的设置。在 Hyper-V 管理器中右键单击 Ubuntu Hyper-V VM,在上下文菜单中选择设置。
在导航窗格中,在硬件部分选择安全性,然后取消启用安全启动复选框的选择。这个虚拟机不需要安全启动。如果需要的话,您可以检查和编辑其他虚拟机设置。单击确定以保存设置并关闭此窗口。
在虚拟机上安装 Ubuntu 20.04
创建新的虚拟机后,您应该将 Ubuntu 20.04 安装为此虚拟机上的客户操作系统。启动虚拟机,Ubuntu 20.04 安装程序应该从连接的 ISO 安装镜像启动。有关 Ubuntu Linux 的安装过程在有关在 Hyper-V 上安装 Linux 的博文中有详细说明。安装 Linux 在 Hyper-V 上。
I’ll focus on two installations steps only. In this example, I select Normal installation with the option to Download updates while installing Ubuntu 20.04.
您应该在安装过程的“您是谁?”步骤中选择的重要选项是要求输入密码登录。如果选择了自动登录选项,则无法在 Hyper-V 中的 Ubuntu 虚拟机中使用增强会话模式。
Ubuntu Hyper-V 集成服务是 Linux 发行版的一部分,您不需要手动安装 Microsoft 提供的下载包。
Ubuntu 安装后的配置
在安装 Ubuntu 20.04 后有重要的事情要做。您必须下载并运行脚本来配置 Ubuntu 20.04 安装在 Hyper-V 虚拟机上作为客户操作系统,以使增强会话模式正常工作。
在 Ubuntu 20.04 中打开控制台(终端)。
转到 Downloads 目录:
cd ~/Downloads/
在Ubuntu 20.04上下载更新脚本:
wget https://raw.githubusercontent.com/Hinara/linux-vm-tools/ubuntu20-04/ubuntu/20.04/install.sh
为下载的install.sh脚本文件添加执行权限:
sudo chmod +x install.sh
以root权限运行脚本:
sudo ./install.sh
脚本执行完成后,系统会提示您重启Ubuntu 20.04,并在重启后再次运行脚本。
重启Linux机器:
init 6
重启后,打开终端,转到脚本所在的目录,并再次运行脚本:
cd ~/Downloads/
sudo ./install.sh
脚本执行完成后,重启您的Ubuntu虚拟机。
在运行Hyper-V的宿主Windows机器上进行配置
您必须在常规的Hyper-V设置中允许增强会话模式。否则,增强会话模式图标在VM窗口中将是无效的。打开Hyper-V管理器,右键点击安装了Hyper-V的宿主Windows机器的名称,在上下文菜单中点击Hyper-V设置。
在导航窗格中选择增强会话模式策略,然后选中允许增强会话模式复选框。点击确定保存Hyper-V设置并关闭窗口。
现在,您应该在安装了Ubuntu 20.04的“Ubuntu Hyper-V”VM上设置Hyper-V以启用增强会话模式,使用HvSocket。
在运行Hyper-V的主机Windows机器上,以管理员身份在PowerShell中运行以下命令:
Set-VM -VMName <your_vm_name> -EnhancedSessionTransportType HvSocket
如果VM名称包含空格,请使用双引号。在我的情况下,命令是:
Set-VM -VMName “Ubuntu Hyper-V” -EnhancedSessionTransportType HvSocket
您可能会看到以下错误:
Set-VM : 找不到与参数名称“EnhancedSessionTransportType”匹配的参数。
在第1行:30
+ Set-VM -VMName “Ubuntu20-04” -EnhancedSessionTransportType HvSocket
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 类别信息 :无效参数:(:) [Set-VM], ParameterBindingException
+ 完全限定错误ID :NamedParameterNotFound,Microsoft.HyperV.PowerShell.Commands.SetVM
如果您使用的是不支持新cmdlet和参数的旧版本PowerShell,则可能会发生此错误。
在这种情况下,请遵循以下建议:尝试将您的宿主Windows操作系统更新到Windows Server 2019、Windows 10 1803或更新的版本。如果无法更新操作系统,请将Windows PowerShell更新到包含所需cmdlet和功能的新版本。
您可能需要重新启动Hyper-V主机(不要忘记运行最后一个命令以在PowerShell中为Hyper-V启用Ubuntu 20.04的增强会话模式)。停止并启动Linux虚拟机。当Ubuntu启动时,您应该会看到一个带有虚拟机显示配置和增强会话模式其他选项的窗口。点击显示选项,并在本地资源选项卡中选择所需的资源,以将宿主资源连接到虚拟机的来宾操作系统(在我们的例子中是Ubuntu 20.04)。建议您第一次取消勾选打印机,以降低问题的可能性。
在Xorg登录窗口中输入您的Ubuntu用户的用户名和密码。请注意,虚拟机窗口中的增强会话模式按钮现在已激活。
现在您应该看到Ubuntu 20.04的图形用户界面和桌面。尝试使用共享剪贴板和其他共享功能,并在虚拟机中更改屏幕分辨率。
如果您在输入凭据后看到黑屏,原因可能是以下之一:已经有用户登录到Ubuntu的桌面会话。注销该用户并结束该会话。然后尝试通过Hyper-V中的增强会话模式和Xrdp连接到Ubuntu。您可以重新启动Ubuntu虚拟机,并通过增强会话模式连接到Ubuntu。
如果您的Ubuntu 20.04客戶端在Hyper-V中沒有增強會話選項,請嘗試編輯位於/etc/xrdp的xrdp.ini配置文件。您應該使用root權限編輯文件。在xrdp.ini文件中編輯兩行。
更改這些參數:
port=3389至port=vsock://-1:3389
use_vsock=true至use_vsock=false
此問題應該已經為Ubuntu 20.04.1修復。
還可以閱讀有關在Linux上配置RDP的博客文章,以了解更多關於手動配置的信息。
結論
Ubuntu Linux是一個方便、可靠且在全球廣泛使用的操作系統。如果您在計算機上使用Windows作為主機操作系統,您可以在Hyper-V VM上運行Ubuntu。本博客文章解釋了如何在Hyper-V中為運行Ubuntu 20.04的虛擬機啟用增強會話模式。在本教程中,Windows 10 20H2用作主機機器。您可以在Windows Server 2019上執行相同的配置。增強會話模式為您提供更多功能,以便更方便地與VM工作。配置的主要要點是在Ubuntu客戶端上運行配置腳本。
如果您使用Hyper-V VM,請不要忘記執行Hyper-V備份以保護您的虛擬機數據。下載NAKIVO Backup & Replication的免費版,並備份您的Hyper-V主機上的VM。
Source:
https://www.nakivo.com/blog/install-ubuntu-20-04-on-hyper-v-with-enhanced-session/