Windows 10 上 Hyper-V 的管理程序類型與 Windows Server 上的 Hyper-V
Windows 10 上的 Hyper-V 在功能和記憶體管理方面與 Windows Server 上的 Hyper-V 不同,如Microsoft docs for Hyper-V中所述:
有些功能在 Windows 上的 Hyper-V 中的工作方式與在 Windows Server 上執行的 Hyper-V 中的工作方式不同。
Hyper-V 功能僅在 Windows Server 上可用:
- 虛擬機從一台主機實時遷移到另一台主機
- Hyper-V 副本
- 虛擬光纖通道
- SR-IOV 網路
- 共享 .VHDX
Hyper-V 功能僅在 Windows 10 上可用:
- 快速創建和 VM 庫
- 預設網路(NAT 交換機)
Windows 上的 Hyper-V 的記憶體管理模型不同。在伺服器上,Hyper-V 記憶體的管理假設只有虛擬機在伺服器上執行。在 Windows 上的 Hyper-V 中,記憶體的管理期望大多數客戶端電腦除了執行虛擬機之外還在主機上執行軟體。
但是最後一段讓我有點困惑。這是否意味著 Windows Server 上的 Hyper-V 是 Type 1 Hypervisor,而在 Windows 10 Type 2 Hypervisor 上?
這是否意味著 Windows Server 上的 Hyper-V 是 Type 1 Hypervisor,而在 Windows 10 Type 2 Hypervisor 上?
否。這意味著記憶體調整假定在 Windows 10 上根分區 (VM) 執行應用程序,而不是 Hyper-V 伺服器。
根分區是一個 VM,請參見 Hyper-V 架構圖。
人們出於某種原因喜歡辯論類型 1 和類型 2。這是通過 Hacker News 進行的更明智的辯論之一:
在初始化時,Hyper-V 驅動程序劫持正在執行的 Windows 實例,將其安排為“根分區”,並像執行另一個 VM 一樣執行它。
與“子分區”不同,根分區仍然具有非虛擬化驅動程序,它們不受特權指令陷阱的阻礙。
當子分區(來賓 VM)啟動時,它被安排為根的對等方。它的虛擬處理器 (VP) 與根分區的 VP 一起執行。
當子分區陷入虛擬機管理程序或使用啟發式驅動程序之一時,虛擬機管理程序將匯流排請求分派到根分區,根分區使用主機 Windows 核心實現的虛擬服務提供程序處理 IRQ。
所以虛擬機管理程序是主機 Windows 和子 VM 之間的橋樑,但主機 Windows 實際上作為一種特權 VM 本身執行,只是一個具有完全硬體訪問和調度優先級的 VM。