我應在 Hyper-V 建立第 1 或 2 代的虛擬機器嗎?
建立第 1 代或第 2 代虛擬機取決於您要安裝的客體作業系統,以及您想要用來部署虛擬機器的開機方法。 建議您建立第 2 代虛擬機,以利用安全開機等功能,除非下列其中一個陳述成立:
- 您使用的是與 UEFI 不相容的現有預先建置虛擬硬碟 (VHD 或 VHDX 檔案)。
- 第 2 代不支援您想要在虛擬機器上執行的作業系統。
- 第 2 代不支援您想要使用的開機方法。
如需第 2 代虛擬機器可用功能的詳細資訊,請參閱 透過世代和客體的 Hyper-V 功能相容性。
建立虛擬機之後,即無法變更虛擬機的世代。 建議您在這裡檢閱考慮,並選擇您想要在選擇世代之前使用的操作系統、開機方法和功能。
使用第 2 代虛擬機器的優點有哪些?
以下是您在使用第 2 代虛擬機器時可享的一些優點:
安全開機
使用安全開機協助防止未經授權的韌體、操作系統或 UEFI 驅動程式在開機時執行。 安全開機會確認開機載入器是由 UEFI 資料庫中的受信任授權單位簽署。 第 2 代虛擬機器預設會啟用安全開機。 如果您需要執行不支援安全開機的客體作業系統,您可以在建立虛擬機之後加以停用。 如需詳細資訊,請參閱安全開機。
若要保護開機第 2 代 Linux 虛擬機器的安全,您必須在建立虛擬機器時選擇 UEFI CA 安全開機範本。
較大的開機磁碟區 第 2 代虛擬機器的最大開機磁碟區為 64 TB。 此最大開機磁碟區是針對第 1 代虛擬機所支援的
.VHDX
磁碟大小上限,開機磁碟區上限為 2 TB,若為.VHDX
2040 GB.VHD
,如需詳細資訊,請參閱 Hyper-V 虛擬硬碟格式概觀。您也可以看到第 2 代虛擬機的虛擬機開機和安裝時間稍有改善。
支援哪些客體作業系統?
第 1 代虛擬機器支援大部分的客體作業系統。 第 2 代虛擬機器支援大部分 64 位元版本的 Windows,以及最新版的 Linux 和 FreeBSD 作業系統。 使用下列區段來查看哪一代虛擬機器支援您要安裝的客體作業系統。
Windows 客體作業系統支援
下列資料表顯示哪些 64 位元版本的 Windows 可作為第 1 代和第 2 代虛擬機器的客體作業系統。
64 位元版本的 Windows | 第 1 代 | 第 2 代 |
---|---|---|
Windows Server 2025 | ✔ | ✔ |
Windows Server 2022 | ✔ | ✔ |
Windows Server 2019 | ✔ | ✔ |
Windows Server 2016 | ✔ | ✔ |
Windows Server 2012 R2 | ✔ | ✔ |
Windows Server 2012 | ✔ | ✔ |
Windows Server 2008 R2 | ✔ | ✖ |
Windows Server 2008 | ✔ | ✖ |
Windows 11 | ✖ | ✔ |
Windows 10 | ✔ | ✔ |
Windows 8.1 | ✔ | ✔ |
Windows 8 | ✔ | ✔ |
Windows 7 | ✔ | ✖ |
下列資料表顯示哪些 32 位元版本的 Windows 可作為第 1 代和第 2 代虛擬機器的客體作業系統。
32 位元版本的 Windows | 第 1 代 | 第 2 代 |
---|---|---|
Windows 10 | ✔ | ✖ |
Windows 8.1 | ✔ | ✖ |
Windows 8 | ✔ | ✖ |
Windows 7 | ✔ | ✖ |
CentOS 和 Red Hat Enterprise Linux 客體作業系統支援
下列資料表顯示哪些 Red Hat Enterprise Linux (RHEL) 和 CentOS 可作為第 1 代和第 2 代虛擬機器的客體作業系統。
作業系統版本 | 第 1 代 | 第 2 代 |
---|---|---|
RHEL/CentOS 8.x 系列 | ✔ | ✔ |
RHEL/CentOS 7.x 系列 | ✔ | ✔ |
RHEL/CentOS 6.x 系列 | ✔ | ✔ 注意: 僅支援 Windows Server 2016 和更新版本。 |
RHEL/CentOS 5.x 系列 | ✔ | ✖ |
如需詳細資訊,請參閱 Hyper-V 上的 Red Hat Enterprise Linux 虛擬機器。
Debian 客體作業系統支援
下列資料表顯示哪些 Debian 版本可作為第 1 代和第 2 代虛擬機器的客體作業系統。
作業系統版本 | 第 1 代 | 第 2 代 |
---|---|---|
Debian 10.x (buster) 系列 | ✔ | ✔ |
Debian 9.x (stretch) 系列 | ✔ | ✔ |
Debian 8.x (jessie) 系列 | ✔ | ✔ |
Debian 7.x (wheezy) 系列 | ✔ | ✖ |
如需詳細資訊,請參閱 Hyper-V 上的 Debian 虛擬機器。
FreeBSD 客體作業系統支援
下列資料表顯示哪些 FreeBSD 版本可作為第 1 代和第 2 代虛擬機器的客體作業系統。
作業系統版本 | 第 1 代 | 第 2 代 |
---|---|---|
FreeBSD 12 到 12.1 | ✔ | ✔ |
FreeBSD 11.1 到 11.3 | ✔ | ✔ |
FreeBSD 11 | ✔ | ✖ |
FreeBSD 10 到 10.3 | ✔ | ✖ |
FreeBSD 9.1 到 9.3 | ✔ | ✖ |
FreeBSD 8.4 | ✔ | ✖ |
如需詳細資訊,請參閱 Hyper-V 上的 FreeBSD 虛擬機器。
Oracle Linux 客體作業系統支援
下列資料表顯示哪些 Red Hat 相容核心系列版本可作為第 1 代和第 2 代虛擬機器的客體作業系統。
Red Hat 相容核心系列版本 | 第 1 代 | 第 2 代 |
---|---|---|
Oracle Linux 8.x 系列 | ✔ | ✔ |
Oracle Linux 7.x 系列 | ✔ | ✔ |
Oracle Linux 6.x 系列 | ✔ | ✖ |
下列資料表顯示哪些 Unbreakable Enterprise Kernel 版本可作為第 1 代和第 2 代虛擬機器的客體作業系統。
Unbreakable Enterprise Kernel (UEK) 版本 | 第 1 代 | 第 2 代 |
---|---|---|
Oracle Linux UEK R3 QU3 | ✔ | ✖ |
Oracle Linux UEK R3 QU2 | ✔ | ✖ |
Oracle Linux UEK R3 QU1 | ✔ | ✖ |
如需詳細資訊,請參閱 Hyper-V 上的 Oracle Linux 虛擬機器。
SUSE 客體作業系統支援
下列資料表顯示哪些 SUSE 版本可作為第 1 代和第 2 代虛擬機器的客體作業系統。
作業系統版本 | 第 1 代 | 第 2 代 |
---|---|---|
SUSE Linux Enterprise Server 15 系列 | ✔ | ✔ |
SUSE Linux Enterprise Server 12 系列 | ✔ | ✔ |
SUSE Linux Enterprise Server 11 系列 | ✔ | ✖ |
開啟 SUSE 12.3 | ✔ | ✖ |
如需詳細資訊,請參閱 Hyper-V 上的 SUSE 虛擬機器。
Ubuntu 客體作業系統支援
下列資料表顯示哪些 Ubuntu 版本可作為第 1 代和第 2 代虛擬機器的客體作業系統。
作業系統版本 | 第 1 代 | 第 2 代 |
---|---|---|
Ubuntu 20.04 | ✔ | ✔ |
Ubuntu 18.04 | ✔ | ✔ |
Ubuntu 16.04 | ✔ | ✔ |
Ubuntu 14.04 | ✔ | ✔ |
Ubuntu 12.04 | ✔ | ✖ |
如需詳細資訊,請參閱 Hyper-V 上的 Ubuntu 虛擬機器。
如何開機虛擬機器?
第 1 代和第 2 代 VM 支援不同的開機方法,下表顯示這些方法。
開機方法 | 第 1 代 | 第 2 代 |
---|---|---|
使用標準網路介面卡進行 PXE 開機 | ✖ | ✔ |
使用舊版網路介面卡進行 PXE 開機 | ✔ | ✖ |
從 SCSI 虛擬硬碟 (.VHDX) 或虛擬 DVD) 開機。ISO) |
✖ | ✔ |
從 IDE 控制器虛擬硬碟開機 (.VHD) 、虛擬 DVD 或.ISO) 實體 CD/DVD 磁碟驅動器 |
✔ | ✖ |
從虛擬軟碟開機 (.VFD) |
✔ | ✖ |
裝置支援有何差異?
以下資料表會比較第 1 代和第2 代虛擬機器之間的裝置。
第 1 代裝置 | 第 2 代替代項目 | 第 2 代增強功能 |
---|---|---|
IDE 控制器 | 虛擬 SCSI 控制器 | 開機自 .VHDX (64 TB 大小上限,以及在線重設大小功能) |
IDE CD-ROM | 虛擬 SCSI CD-ROM | 每個 SCSI 控制器最多支援 64 個 SCSI DVD 裝置。 |
舊有的 BIOS | UEFI 韌體 | 安全開機 |
傳統網路介面卡 | 綜合網路介面卡 | IPv4 與 IPv6 網路開機 |
軟碟機控制器與 DMA 控制器 | 不支援磁碟機控制器 | N/A |
通用非同步接收器/傳輸器 (UART) COM 連接埠 | 選擇性 UART 偵錯 | 更快速且更可靠 |
i8042 鍵盤控制器 | 軟體型輸入 | 因為沒有任何模擬,所以使用較少的資源。 另外降低了客體作業系統的攻擊面。 |
PS/2 鍵盤 | 軟體型鍵盤 | 因為沒有任何模擬,所以使用較少的資源。 另外降低了客體作業系統的攻擊面。 |
PS/2 滑鼠 | 軟體型滑鼠 | 因為沒有任何模擬,所以使用較少的資源。 另外降低了客體作業系統的攻擊面。 |
S3 視訊 | 軟體型視訊 | 因為沒有任何模擬,所以使用較少的資源。 另外降低了客體作業系統的攻擊面。 |
PCI 匯流排 | 不再需要 | N/A |
可程式化插斷控制器 (PIC) | 不再需要 | N/A |
可程式化間隔計時器 (PIT) | 不再需要 | N/A |
進階 I/O 裝置 | 不再需要 | N/A |
使用第 1 代和第 2 代虛擬機的考慮
以下是使用不同世代虛擬機的一些更多秘訣。
建立具有 64 個以上邏輯 CPU 的 VM
Hyper-V 管理員可能無法在具有超過 64 個邏輯 CPU 的系統上建立新一代 1 VM。 Hyper-V 管理員不會讓您在 VM 建立時指定虛擬處理器數目。 針對具有 64 個以上邏輯處理器的主機,請使用 Windows Admin Center、PowerShell 或其他工具,在建立 VM 時指定虛擬處理器的數目。
將虛擬硬碟上傳至 Azure
只要第 1 代和第 2 代 VM 使用 VHD 檔格式,就可以將第 1 代和第 2 代 VM 上建立的虛擬硬碟上傳至 Azure。 虛擬硬碟必須有固定(未動態擴充)大小的磁碟。 請參閱 Azure 上的第 2 代 VM,以深入了解 Azure 上支援的第 2 代功能。 如需上傳 Windows VHD 或 VHDX 的詳細資訊,請參閱 準備 Windows VHD 或 VHDX 以上傳至 Azure。
連接或新增 DVD 光碟機
- 我無法將實體 CD 或 DVD 光碟機連接到第 2 代虛擬機器。 第 2 代虛擬 DVD 光碟機只支援 ISO 映像檔。 若要建立 Windows 環境的 ISO 映像檔案,可以使用 OScdimg 命令列工具. 如需詳細資訊,請參閱<Oscdimg 命令列選項>。
- 當您使用有
New-VM
New-VM Windows PowerShell Cmdlet 建立的新虛擬機器時,第 2 代虛擬機器沒有 DVD 光碟機。 您可以在虛擬機器執行時新增 DVD 光碟機。
使用 UEFI 韌體
- 實體 Hyper-V 主機上不需要安全開機或 UEFI 韌體。 對於第 2 代 VM,Hyper-V 會將虛擬韌體提供給與 Hyper-V 主機上的虛擬機無關。
- 第 2 代虛擬機器中的 UEFI 韌體不支援安全開機的設定模式嗎。
- 我們無法在第 2 代虛擬機器中執行 UEFI 殼層或其他 UEFI 應用程式。 如果非 Microsoft UEFI 殼層或 UEFI 應用程式直接從源代碼編譯,則不太可能使用非 Microsoft UEFI 殼層或 UEFI 應用程式。 如果這些應用程式未正確簽署,您必須停用虛擬機的安全開機。
使用 VHDX 檔案工作
- 在虛擬機器執行的時候,可以調整包含第 2 代虛擬機器的開機磁碟的 VHDX 檔案的大小。
- 我們不支援或建議您建立同時以第 1 代和第 2 代虛擬機器開機的單一虛擬磁碟 (VHD 或 VHDX 檔案)。 相反地,請建立僅以第 1 代 或 第 2 代虛擬機器為目標的可開機 VHDX 檔案。
- 虛擬機器世代是虛擬機器的屬性,而不是虛擬硬碟的屬性。 您無法判斷 VHDX 檔案是否已建立為第 1 代或第 2 代虛擬機。
- 使用第 2 代建立的 VHDX 檔案可以附加到第 1 代虛擬機器的 IDE 控制器或 SCSI 控制器。 不過,如果虛擬硬碟是可開機的 VHDX 檔案,則第 1 代虛擬機無法開機。
使用 IPv6 而非 IPv4
當您使用 PXE 從網路開機時,第 2 代虛擬機器預設會使用 IPv4。 若要改用 IPv6,請執行 Set-VMFirmware Windows PowerShell Cmdlet。 例如,下列命令會將名為 TestVM 的虛擬機器的慣用通訊協定設定為 IPv6:
Set-VMFirmware -VMName 'TestVM' -IPProtocolPreference IPv6
新增 COM 連接埠以進行核心偵錯
在您新增 COM 連接埠之前,無法在第 2 代虛擬機器中使用。 您可以使用 Windows PowerShell 或 Windows Management Instrumentation (WMI) 來新增 COM 連接埠。 這些步驟說明如何使用 Windows PowerShell 來執行此動作。
若要新增 COM 連接埠:
停用安全開機。 核心偵錯與安全開機不相容。 請確定虛擬機器處於關閉狀態,然後使用 Set-VMFirmware Cmdlet。 例如,下列命令會在虛擬機器 TestVM 上停用安全開機:
Set-VMFirmware -VMName 'TestVM' -EnableSecureBoot Off
新增 COM 連接埠。 使用 Set-VMComPort Cmdlet 來新增 COM 埠。 例如,下列命令會在虛擬機器 TestVM 上設定第一個 COM、連線到本機電腦上的具名管道 TestPipe:
Set-VMComPort -VMName 'TestVM' -Number 1 -Path '\\.\pipe\TestPipe'
注意
設定的 COM 連接埠不會列在 Hyper-V 管理員中虛擬機器的設定中。