詳細步驟:使用增強型會話在 Hyper-V 上安裝 Ubuntu 20.04

在 Microsoft Hyper-V 管理器中使用 增強型會話模式 比在 VMConnect 中使用基本會話模式更方便地管理虛擬機。 增強型會話模式 使用遠程桌面協議 (RDP) 讓您將主機機器資源 (驅動器、USB 裝置、印表機等) 附加到虛擬機。在使用此模式時,您可以執行某些操作,例如調整虛擬機屏幕大小,從主機到賓客的複製和貼上文本,以及反之。

在 Hyper-V 上啟用 增強型會話模式 在作為 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 Pro 版本 20H2。我的 Windows 10 主機機器的主機名稱是 home-pc。在運行 Ubuntu 虛擬機之前,您必須啟用 Hyper-V。如果您的 Windows 主機尚未安裝 Hyper-V,請閱讀如何 在 Windows 10 上安裝 Hyper-VWindows Server 2019

要在 Hyper-V 中創建新的虛擬機器,打開 Hyper-V 管理器,右鍵單擊您的主機機器名稱,在上下文菜單中,點擊 新建 > 虛擬機器

打開 新虛擬機器精靈。您可以跳過 開始之前 步驟。

指定名稱和位置。輸入虛擬機器名稱,例如,Ubuntu Hyper-V。選擇 將虛擬機器存儲在其他位置 复选框,並選擇您想要存儲虛擬機器文件的文件夾,例如,E:\VMs\。在精靈的每一步中點擊 下一步 繼續。

指定世代。 選擇新虛擬機器的世代。最好選擇第二代,因為有更多功能可用且限制更高。第二代虛擬機器使用 UEFI。關於 Hyper-V 第一代和第二代虛擬機器,閱讀更多

分配記憶體。指定可用於虛擬機器的內存量。我選擇 4096 MB,這足以在不進行重型任務的情況下運行 Ubuntu。選擇 為此虛擬機器使用動態記憶體 复选框。分配給虛擬機器的內存越多,工作越方便。不要將計算機的所有內存分配給虛擬機器;為主機操作系統留下一些內存。如果您與此 Linux 虛擬機器同時運行其他虛擬機器,請記住其他虛擬機器也需要內存。

配置網絡。選擇要將虛擬機的虛擬交換機連接的網絡適配器。如果尚未創建任何虛擬交換機,您可以稍後進行創建並編輯虛擬機配置。

連接虛擬硬碟。點擊創建虛擬硬碟。輸入虛擬硬碟名稱,例如,Ubuntu Hyper-V.vhdx。定義虛擬硬碟文件的位置。您應該選擇用於存儲 Hyper-V 虛擬機的目錄中的位置。在我的情況下,所選目錄是E:\VMs\Ubuntu Hyper-V\Virtual Hard Disks\。設置虛擬硬碟大小。我選擇了 15 GB 作為用於測試目的的 Ubuntu 20.04 VM。

安裝選項。選擇從可啟動映像文件安裝操作系統。點擊瀏覽,並選擇 Ubuntu 20.04 ISO 安裝映像的位置。我要安裝的 Ubuntu 版本是 20.04.2。您可以從官方 Ubuntu 網站下載安裝映像。

摘要。檢查配置摘要,然後點擊完成完成新虛擬機的創建。

打開您已經創建的 Ubuntu Hyper-V 虛擬機的設置。在 Hyper-V 管理器中右鍵單擊 Ubuntu Hyper-V VM,然後在上下文菜單中點擊設置

在導航窗格中,選擇 安全性硬體 部分,並取消選中 啟用安全啟動 核取方塊。此虛擬機器不需要安全啟動。如果需要,您可以檢查和編輯其他 VM 設置。按一下 確定 以保存設置並關閉此視窗。

在虛擬機器上安裝 Ubuntu 20.04

創建新虛擬機器後,您應該將 Ubuntu 20.04 安裝為此 VM 上的客戶操作系統。啟動 VM,Ubuntu 20.04 安裝程式應該從附加的 ISO 安裝映像中啟動。有關在 Hyper-V 上安裝 Linux 的安裝過程在有關 在 Hyper-V 上安裝 Linux 的部落格文章中有詳細說明。

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.

您應該選擇的重要選項是在安裝的 “您是誰?” 步驟上選擇 需要密碼才能登錄 。如果選擇了 自動登錄 選項,則無法使用增強的會話模式來進行 Ubuntu VM 在 Hyper-V 中的使用。

Ubuntu Hyper-V 整合服務是 Linux 發行版的一部分,您無需手動安裝微軟提供的下載包。

在 Ubuntu 中進行安裝後配置

在安裝完 Ubuntu 20.04 後,有一些重要的事情要做。您必須下載並運行腳本來配置在 Hyper-V VM 上安裝的 Ubuntu 20.04 作為客戶操作系統以使增強的會話模式正常工作。

在 Ubuntu 20.04 中打開控制台(終端機)。

進入下載目錄:

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設置中允許增強會話模式。否則,虛擬機窗口中的增強會話模式圖標將處於非活動狀態。打開Hyper-V管理器,右鍵點擊已安裝Hyper-V的宿主Windows機器的名稱,在上下文菜單中點擊Hyper-V設置

在導航窗格中選擇增強會話模式策略,然後勾選允許增強會話模式複選框。點擊確定保存Hyper-V設置並關閉窗口。

現在您應該設置Hyper-V以使用HvSocket啟用增強會話模式,對於安裝了Ubuntu 20.04的“Ubuntu Hyper-V”VM。

在運行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

+                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ 類別資訊          :InvalidArgument: (:) [Set-VM], ParameterBindingException

+ FullyQualifiedErrorId : 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作為主機OS,您可以在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/