詳細教學:在 Hyper-V 上安裝 Ubuntu 20.04 並啟用增強型工作階段

使用 進階會話模式 在 Microsoft Hyper-V 管理員中管理虛擬機器,比在 VMConnect 的基本工作階段模式下更為方便。該 進階會話模式 使用遠端桌面協定 (RDP) 讓您能夠將主機資源(磁碟機、USB 裝置、印表機等)掛載至虛擬機器。使用此模式時,您將可執行某些操作,例如調整虛擬機器螢幕大小、在主機與虛擬機器之間複製貼上文字等。

啟用 進階會話模式 在 Windows 上,若將 Windows 作為 Hyper-V 的客體作業系統,操作起來相當簡單,因為 Windows 內建了"遠端桌面"特點。然而,對於在 Hyper-V 上作為客體作業系統運行的 Linux 發行版而言,遠端桌面特點並未預先設定。目前相當流行的 Ubuntu 20.04 LTS 經常被部署在 Hyper-V 虛擬機器上,特別是在無法將 Linux 安裝為主機作業系統的情況下。 請繼續閱讀,了解如何在 Hyper-V 的增強型連線模式下,於 Windows 上執行 Ubuntu。

NAKIVO Hyper-V 備份解決方案

NAKIVO Hyper-V 備份解決方案

適用於 Hyper-V 的無代理程式、應用程式感知的備份解決方案。具備防勒索軟體防護功能、可從備份立即啟動虛擬機器,並支援其他虛擬/實體平台等更多功能。

建立與設定虛擬機器

讓我們來看看如何在 Hyper-V 中從頭開始建立並設定 Ubuntu 20.04 虛擬機器。在這篇部落格文章中,我使用的是已安裝 Hyper-V 的 Windows 10 Pro 20H2 版本。我的 Windows 10 主機名稱是 home-pc。在執行 Ubuntu 虛擬機器之前,您必須先啟用 Hyper-V。 若您的 Windows 主機尚未安裝 Hyper-V,請閱讀如何 在 Windows 10 上安裝 Hyper-V 以及 Windows Server 2019.

若要在 Hyper-V 中建立新的虛擬機器,請開啟 Hyper-V 管理員,右鍵點擊您的主機名稱,然後在快顯功能表中點擊 New > Virtual Machine.

Creating a new VM to install Ubuntu on Hyper-V

"建立新虛擬機器精靈" 開啟。您可以跳過 開始之前 步驟。

Specify Name and Location. 輸入虛擬機器名稱,例如, Ubuntu Hyper-V. 選取 Store the virtual machine in a different location 勾選方塊,並選擇您要儲存虛擬機器檔案的資料夾,例如, E:虛擬機器. 點擊 Next 在精靈的每個步驟中,請按一下以繼續。

Hyper-V Manager Windows 10 – creating a new VM

Specify Generation. 請選擇新虛擬機器的世代。建議選擇第 2 代,因為其特點更多且限制更高。第 2 代虛擬機器採用 UEFI。 閱讀更多 關於 Hyper-V 第 1 代和第 2 代虛擬機器。

How to run Ubuntu on Windows 10 – creating a new Gen2 VM

Assign Memory. 指定虛擬機器可用的記憶體容量。我選擇 4096 MB,這足以在不執行高負載任務的情況下運行 Ubuntu。勾選此核取方塊以 Use Dynamic Memory for this virtual machine. 您為虛擬機器分配的記憶體越多,操作起來就越順手。請勿將電腦的所有記憶體都分配給虛擬機器;請預留部分記憶體給主機作業系統。若您同時運行此 Linux 虛擬機器與其他虛擬機器,請記住其他虛擬機器同樣需要記憶體。

Ubuntu on Hyper-V – configuring virtual memory

Configure Networking. 選擇一個 虛擬交換器 而虛擬的 網路 虛擬機器的網卡將連接至該虛擬交換器。如果您尚未建立任何虛擬交換器,可以稍後建立,並編輯虛擬機器的設定。

Selecting a virtual switch for VM network connection

Connect Virtual Hard Disk. 點擊 Create a virtual hard disk. 輸入虛擬磁碟名稱,例如, Ubuntu Hyper-V.vhdx. 指定虛擬磁碟檔案的位置。您應選擇目錄中用於儲存 Hyper-V 虛擬機器的位置。以我的情況為例,所選的目錄是 E:VMsUbuntu Hyper-V虛擬硬碟. 設定虛擬磁碟的大小。我為用於測試的 Ubuntu 20.04 虛擬機器選取 15 GB。

Creating a new virtual disk for the Ubuntu Hyper-V VM

Installation Options. 選擇 Install an operating system from a bootable image file. 點擊 Browse 並選擇 Ubuntu 20.04 ISO 安裝映像檔的位置。我即將安裝的 Ubuntu 版本是 20.04.2。您可以從 Ubuntu 官方網站下載安裝映像檔 網站.

Selecting the installation image of Ubuntu 20.04

Summary. 檢查設定摘要,然後點擊 Finish 以完成新虛擬機器的建立。

Checking the configuration summary of the new Ubuntu Hyper-V virtual machine

開啟您已建立的 Ubuntu Hyper-V 虛擬機器設定。在 Hyper-V 管理員中右鍵點擊該 Ubuntu Hyper-V 虛擬機器,然後在快顯選單中按下 Settings.

Using Hyper-V Manager Windows 10 – editing the virtual machine settings of the Ubuntu VM

在導覽窗格中,選取 安全硬體 區段,並取消選取 Enable Secure Boot 核取方塊。此虛擬機器無需啟用安全開機。如有需要,您可以檢查並編輯其他虛擬機器設定。點擊 OK 儲存設定並關閉此視窗。

Secure Boot must be disabled

在虛擬機器上安裝 Ubuntu 20.04

建立新的虛擬機器後,您應在此虛擬機器上安裝 Ubuntu 20.04 作為客體作業系統。啟動虛擬機器後,Ubuntu 20.04 安裝程式應會從已掛載的 ISO 安裝映像檔開機。關於 Ubuntu Linux 的安裝流程,請參閱相關部落格文章中的詳細說明 在 Hyper-V 上安裝 Linux.

我將僅著重於兩個安裝步驟。在此範例中,我選擇 Normal installation 並可選擇 Download updates while installing Ubuntu 20.04.

How to install Ubuntu on Hyper-V – updates and other software options

您應該選擇的重要選項是 require the password to log in 在安裝程式的"您是誰?"步驟中。若 自動登入 已選取此選項。

You should require your password to log in when installing Ubuntu on Hyper-V

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

Ubuntu 的安裝後設定

安裝 Ubuntu 20.04 後,有幾項重要步驟需要執行。您必須下載並執行此腳本,以將安裝在 Hyper-V 虛擬機器上的 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

Downloading and running the configuration script to use the enhanced session

當腳本執行完畢後,系統會提示您重新啟動 Ubuntu 20.04,並在重新啟動後再次執行該腳本。

Running the script in the Linux VM to enable using the enhanced session mode in Hyper-V

重新啟動 Linux 電腦:

init 6

重新啟動後,開啟終端機,前往腳本的位置,並再次執行該腳本:

cd ~/Downloads/

sudo ./install.sh

在腳本執行完畢後,請重新啟動您的 Ubuntu 虛擬機器。

The second running of the configuration script on Ubuntu

在執行 Hyper-V 的 Windows 主機電腦上的設定

您必須在 Hyper-V 的一般設定中啟用"增強型工作階段模式"。否則,虛擬機器視窗中的"增強型工作階段模式"圖示將處於停用狀態。請開啟 Hyper-V 管理員,在安裝了 Hyper-V 的主機 Windows 電腦名稱上按右鍵,然後在快顯功能表中點選 Hyper-V Settings.

Opening Hyper-V Settings

請選擇 進階工作階段模式政策 在導覽窗格中,然後選取 Allow enhanced session mode 核取方塊。按下 OK 以儲存 Hyper-V 設定並關閉視窗。

Allowing the enhanced session mode in Hyper-V settings

現在,您應將 Hyper-V 設定為啟用增強型連線模式,並為安裝了 Ubuntu 20.04 的"Ubuntu Hyper-V"虛擬機器使用 HvSocket。

請在執行 Hyper-V 的主機 Windows 電腦上,以系統管理員身分在 PowerShell 中執行此指令:

Set-VM -VMName   -EnhancedSessionTransportType HvSocket

如果虛擬機器名稱包含空格,請使用雙引號。以我的情況為例,指令如下:

Set-VM -VMName "Ubuntu Hyper-V" -EnhancedSessionTransportType HvSocket

Enabling the enhanced session mode for Ubuntu on Hyper-V by using PowerShell on the Windows host

您可能會看到以下錯誤:

Set-VM : 找不到與參數名稱 ‘EnhancedSessionTransportType’ 相符的參數。

位於第 1 行,第 30 字元

+ Set-VM -VMName “Ubuntu20-04” -EnhancedSessionTransportType HvSocket

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

+ CategoryInfo : InvalidArgument: (:) [Set-VM], ParameterBindingException

+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.HyperV.PowerShell.Commands.SetVM

若您使用的是舊版 PowerShell(該版本不支援新的 cmdlet 和參數),可能會發生此錯誤。

The error message in PowerShell displays that a parameter cannot be found

在此情況下,請遵循以下建議:嘗試將主機的 Windows 作業系統更新至 Windows Server 2019、Windows 10 1803 或更新版本。若無法更新作業系統,請將 Windows PowerShell 更新至包含所需 cmdlet 和特點的較新版本。

您可能需要重新啟動 Hyper-V 主機(請勿忘記在 PowerShell 中執行最後一個命令,以啟用 Hyper-V 版 Ubuntu 20.04 的增強型會話模式)。停止並啟動 Linux 虛擬機器。當 Ubuntu 啟動後,您應會看到一個顯示虛擬機器顯示設定及其他增強型會話模式選項的視窗。點擊 Show options,並在 當地資源 請點選"設定"分頁,將主機資源連接到虛擬機器中的客體作業系統(本例為 Ubuntu 20.04)。建議您首次設定時取消勾選印表機選項,以降低發生問題的機率。

Connecting to the Ubuntu VM by using the enhanced session mode in Hyper-V

請在 Xorg 登入視窗中輸入您的 Ubuntu 使用者名稱和密碼。請注意,虛擬機器視窗中的"增強型工作階段模式"按鈕現在已處於可點選狀態。

Ubuntu on Hyper-V – the enhanced session is enabled and you should enter credentials to open the Xorg session

現在您應該會看到 Ubuntu 20.04 的 GUI(圖形使用者介面)和桌面。請嘗試使用共用剪貼板及其他共用特點,並在虛擬機器中調整螢幕解析度。

Connection to Ubuntu on Hyper-V is established in the enhanced session mode

若在輸入憑證後看到黑屏,原因可能是:已有使用者登入 Ubuntu 的桌面工作階段。請登出該使用者並結束該工作階段。接著嘗試透過 Hyper-V 的"增強型工作階段模式"和 Xrdp 連線至 Ubuntu。您也可以重新啟動 Ubuntu 虛擬機器,並使用增強型工作階段模式連線至 Ubuntu。

若您的 Hyper-V 中的 Ubuntu 20.04 來賓系統無法使用"增強型工作階段"選項,請嘗試編輯 xrdp.ini 設定檔的位置為 /etc/xrdp 的檔案。您應以 root 權限編輯此檔案。請在 xrdp.ini 檔案中修改以下兩行:

請將這些參數修改為:

port=3389 to port=vsock://-1:3389

use_vsock=true to use_vsock=false

此問題應已在 Ubuntu 20.04.1 中修復。

另請參閱相關部落格文章 在 Linux 上設定 RDP 如需進一步了解手動設定,請參閱以下內容。

結論

Ubuntu Linux 是一款優秀的作業系統,不僅操作便利、穩定可靠,且在全球廣泛使用。若您將電腦上安裝的 Windows 作為主機作業系統,即可在 Hyper-V 虛擬機器上執行 Ubuntu。這篇部落格文章說明了如何在 Hyper-V 中為執行 Ubuntu 20.04 的虛擬機器啟用增強型工作階段模式。本教學以 Windows 10 20H2 作為主機電腦。 您亦可在 Windows Server 2019 上執行相同的設定。增強型工作階段模式提供額外特點,讓您能更便利地操作虛擬機器。設定的重點在於於 Ubuntu 客機系統中執行設定腳本。

若您使用 Hyper-V 虛擬機器,請務必執行 Hyper-V 備份,以保護虛擬機器的資料。下載免費版本 NAKIVO Backup & Replication,並備份 Hyper-V 主機上的虛擬機器。

試試看 NAKIVO Backup & Replication

試試看 NAKIVO Backup & Replication

立即申請免費試用,全面體驗本解決方案的所有資料保護特點。15 天免費試用。無功能或容量限制。無需提供信用卡資訊。

People also read