Hyper-V 详细使用教程#

一、Hyper-V 简介#

Hyper-V 是微软开发的原生虚拟化技术,可作为以下两种模式运行:

模式说明
Type-1 (裸机)直接安装在硬件上,作为轻量级操作系统运行
Type-2 (嵌入式)作为Windows 10/11中的功能运行

核心优势: $$ \text{性能损失} < 5%, \quad \text{安全性} = \text{硬件级别隔离}, \quad \text{成本} = \text{免费} $$


二、系统要求与安装启用#

2.1 系统要求#

最低硬件要求:

组件要求
CPU64-bit, 支持虚拟化技术 (VT-x/AMD-V), SLAT
内存4GB+ (建议 8GB+)
硬盘SSD 推荐,至少 20GB 可用空间
BIOS需开启 VT/AMD-V 虚拟化

2.2 启用Hyper-V#

方法一:通过控制面板#

# PowerShell 管理员权限运行
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

方法二:通过命令行#

# 一键启用脚本
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -NoRestart
Restart-Computer

方法三:通过DISM工具#

# CMD管理员运行
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V-All /norestart

2.3 验证安装#

# 检查Hyper-V服务状态
Get-Service -Name *HyperV*

# 检查CPU虚拟化支持
systeminfo | findstr /i "hyper-v"

# 检查虚拟机管理程序状态
bcdedit | findstr hypervisor

三、创建和管理虚拟机#

3.1 使用Hyper-V管理器#

打开方式:

  • Win + R 输入 virtmgmt.msc
  • 或在Windows功能中启动

3.2 创建虚拟机向导#

步骤1:选择"新建" → "虚拟机"
步骤2:命名虚拟机 → 设置存储路径
步骤3:配置代际 (Generation)
        Generation 1: 兼容传统BIOS
        Generation 2: UEFI + GPT (推荐Win8+)
步骤4:分配内存 (4096MB建议)
步骤5:创建虚拟网络 → 选择"默认虚拟交换机"
步骤6:创建虚拟硬盘 (VHDX)
        建议:动态扩展,25-50GB
步骤7:选择操作系统安装源
步骤8:完成

3.3 使用PowerShell创建虚拟机#

# 创建虚拟机
New-VM -Name "Win11-VM" -MemoryStartupBytes 4GB -VHDPath "C:\VMs\Win11.vhdx" -Path "C:\VMs"

# 连接虚拟网络
New-VMSwitch -Name "ExternalSwitch" -NetAdapterName "以太网"

# 连接虚拟机到交换机
Set-VMNetworkAdapter -VMName "Win11-VM" -SwitchName "ExternalSwitch"

# 启动虚拟机
Start-VM -Name "Win11-VM"

# 设置启动顺序
Set-VMFirmware -VMName "Win11-VM" -BootOrder (Get-VMFirmware -VMName "Win11-VM")

# 集成服务
Enable-VMIntegrationService -VMName "Win11-VM" -Name "Heartbeat"

四、常用功能与使用技巧#

4.1 快照管理 (检查点)#

# 创建检查点
Checkpoint-VM -Name "Win11-VM" -SnapshotName "BeforeUpdate"

# 查看检查点
Get-VMCheckpoint -VMName "Win11-VM"

# 恢复检查点
Restore-VMCheckpoint -VMName "Win11-VM" -SnapshotName "BeforeUpdate"

# 删除检查点
Remove-VMCheckpoint -VMName "Win11-VM" -SnapshotName "BeforeUpdate"

4.2 共享文件夹#

# 启用共享文件夹集成服务
Set-VMIntegrationService -VMName "Win11-VM" -Name "Guest Service Interface" -Enabled $true

# Windows资源管理器中访问
\\vmhost\c$\path\to\folder

4.3 远程管理#

# 从远程管理虚拟机
Get-VM -ComputerName "RemoteServer"

# 连接远程虚拟机
Start-VM -ComputerName "RemoteServer" -Name "Win11-VM"

4.4 性能优化配置#

# 启用嵌套虚拟化 (虚拟机运行VM)
Set-VMMemory -VMName "Win11-VM" -DynamicMemoryEnabled $true
Set-VMProcessor -VMName "Win11-VM" -EnableNestedVirtualization $true

# 调整CPU核心数
Set-VMProcessor -VMName "Win11-VM" -Count 2

# 启用SR-IOV (网络性能优化)
Add-VMNetworkAdapter -VMName "Win11-VM" -SwitchName "ExternalSwitch" -AllowTeaming $true
Set-VMNetworkAdapter -VMName "Win11-VM" -EnableSRIOV $true

4.5 虚拟交换机配置#

# 创建虚拟交换机
New-VMSwitch -Name "InternalSwitch" -SwitchType Internal

# 设置虚拟交换机IP
New-NetIPAddress -InterfaceAlias "vEthernet (InternalSwitch)" -IPAddress "172.16.1.1" -PrefixLength 24

# 配置NAT
New-NetNAT -Name "VMNetwork" -InternalIPInterfaceAddressPrefix "172.16.1.0/24"

五、故障排查指南#

5.1 常见错误与解决方案#

错误代码说明解决方案
0x8007007E虚拟化未启用BIOS开启VT/AMD-V
0x80070490功能未安装重新运行安装命令
0x80070005权限不足管理员权限运行

5.2 诊断命令#

# 查看Hyper-V日志
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-Hyper-V-VMMS/Operational'}

# 检查虚拟化能力
systeminfo | Select-String -Pattern "Virtualization"

# 查看虚拟机状态
Get-VM | Select Name, State, CPUUsage, MemoryUsed

5.3 性能监控#

# 实时性能监控
Get-VM | Get-VMCpu | Measure-Object -Property Usage -Average

# 内存使用情况
Get-VM | Get-VMMemory | Select Name, Current, Dynamic, Minimum

# 磁盘I/O统计
Get-VMHost | Get-VMHostHardDisk

六、最佳实践建议#

6.1 安全性#

$$ \text{安全配置} = \text{安全启动} + \text{TPM} + \text{快照加密} $$

# 启用安全启动
Set-VMFirmware -VMName "Win11-VM" -EnableSecureBoot On

# 启用TPM
Add-VM TPM -VMName "Win11-VM"

6.2 备份策略#

# 导出虚拟机配置
Export-VM -Name "Win11-VM" -Path "C:\Backup\VM" -Force

# 批量导出所有虚拟机
Get-VM | Export-VM -Path "C:\Backup" -Force

6.3 资源分配建议#

推荐配置表:

+---------------+------------+-----------+-----------+
| 用途          | CPU核心    | 内存      | 硬盘      |
+---------------+------------+-----------+-----------+
| 开发测试      | 2-4        | 4-8GB     | 40-60GB   |
| 服务器        | 4-8        | 8-16GB    | 60-100GB  |
| 数据库        | 4-8        | 16-32GB   | 动态扩展  |
| 游戏/应用     | 2-4        | 4-8GB     | 40-60GB   |
+---------------+------------+-----------+-----------+

七、常用PowerShell命令速查表#

操作命令
列出所有虚拟机Get-VM
启动虚拟机Start-VM -Name "VM名称"
停止虚拟机Stop-VM -Name "VM名称"
重启虚拟机Restart-VM -Name "VM名称"
暂停虚拟机Suspend-VM -Name "VM名称"
创建快照Checkpoint-VM -Name "VM名称"
删除快照Remove-VMCheckpoint -Name "快照名"
导出虚拟机Export-VM -Name "VM名称" -Path "路径"
导入虚拟机Import-VM -Path "路径"
修改内存Set-VMMemory -VMName "VM名称" -DynamicMemoryEnabled $true
修改CPUSet-VMProcessor -VMName "VM名称" -Count 4
连接虚拟硬盘Add-VMHardDiskDrive -VMName "VM名称" -Path "磁盘路径"

八、学习资源#


注意: Hyper-V功能与WSL2可能冲突,若使用WSL2,需确保Hyper-V管理程序模式支持。