win10在hyper-V下安装windows11 并且启用WSL2 和 WSA(安卓子系统)
起因
现在工作电脑是win10,还不太适合升级win11,但是想琢磨一下win11的 WSA (windows Subssytem For Android).
虽然国内不直接支持 安卓子系统,但是网上有办法离线安装.
为什么要用hyper-V下安装win11+wsa ?
今天看了下vmware新版本是 17 , 想着体验下,vmware17 都出了一个 vctl.exe
容器,跟docker类似,有点厉害。 podman 都还没琢磨, vmware vctl 容器就来了.
使用vmware17 安装了win11 ,速度 挺慢的,然后想着开wsl的时候,突然发现, 我主机已经开启 hyper-V + WSL2 , 这个时候vmware是不支持虚拟化的, 里面的操作系统,是无法再次开启虚拟化的,性能受限, 安装就很慢, 无法开启intel XT CPU虚拟化的. (除非关闭主机hyper-V和wsl2 但我不想)
所以想起了 hype-V 支持嵌套虚拟化, 查了一下, hyper-V 可以安装五层hyper-V 然后就卡的不要不要了.按说hyper-V 虚拟机里面的 应该跟外面的 level 一致的啊??? 算了,反正支持 2层 嵌套虚拟化 对于一般人也够用了.
hyper-V 安装win11 需要注意的地方
1 需要开启TPM2.0 以及 CPU 2核+ 内存4GB+
2 想要开启嵌套虚拟化 , 还需要额外的 使用 PS 来设置 Hyper-V的VM的虚拟化.
实际体验
- 使用hyper-V 安装win11 , 速度快了很多, 的确微软自己的技术NB的很.
- win11 使用本地账号的方式修改了, 要用 工作或学校账号, 加入域 这种方式登录.
参考链接
- hyper-V 安装win11 提示不符合最低要求
Hyper-v虚拟机安装Windows 11失败问题处理 - 开启嵌套虚拟化
借助嵌套虚拟化在虚拟机中运行 Hyper-V Microsoft Learn
Get-Vm
Set-VMProcessor -VMName win11 -ExposeVirtualizationExtensions $true
Get-VMProcessor -VMName win11 | fl | findstr "ExposeVirtualizationExtensions"
==================================
PS C:\WINDOWS\system32> Get-Vm
Name State CPUUsage(%) MemoryAssigned(M) Uptime Status Version
---- ----- ----------- ----------------- ------ ------ -------
win11 Off 0 0 00:00:00 正常运行 9.0
PS C:\WINDOWS\system32> Get-VMProcessor -VMName win11 | fl
ResourcePoolName : Primordial
Count : 1
CompatibilityForMigrationEnabled : False
CompatibilityForOlderOperatingSystemsEnabled : False
HwThreadCountPerCore : 0
ExposeVirtualizationExtensions : True
EnablePerfmonPmu : False
EnablePerfmonLbr : False
EnablePerfmonPebs : False
EnablePerfmonIpt : False
EnableLegacyApicMode : False
AllowACountMCount : True
Maximum : 100
Reserve : 0
RelativeWeight : 100
MaximumCountPerNumaNode : 6
MaximumCountPerNumaSocket : 1
EnableHostResourceProtection : False
OperationalStatus : {}
StatusDescription : {}
Name : 处理器
Id : Microsoft:67501139-8CA7-4D2B-895A-8D365C16D154\b637f346-6a0e-4dec-af52-b
d70cb80a21d\0
VMId : 67501139-8ca7-4d2b-895a-8d365c16d154
VMName : win11
VMSnapshotId : 00000000-0000-0000-0000-000000000000
VMSnapshotName :
CimSession : CimSession: .
ComputerName : QH-3FD31PC
IsDeleted : False
VMCheckpointId : 00000000-0000-0000-0000-000000000000
VMCheckpointName :
PS C:\WINDOWS\system32> Set-VMProcessor -VMName win11 -ExposeVirtualizationExtensions $true
-----------
MAC 地址欺骗
为了通过两台虚拟交换机路由网络数据包,必须在第一级 (L1) 虚拟交换机上启用 MAC 地址欺骗。 使用以下 PowerShell 命令完成此操作。
PowerShell
Get-VMNetworkAdapter -VMName <VMName> | Set-VMNetworkAdapter -MacAddressSpoofing On
网络地址转换 (NAT)
第二个选项依赖于网络地址转换 (NAT)。 此方法非常适合于无法使用 MAC 地址欺骗的情况,例如在公有云环境中。
首先,必须在主机虚拟机(“中间”虚拟机)中创建一个虚拟 NAT 交换机。 请注意,IP 地址仅作举例之用,会因环境不同有所差异:
PowerShell
New-VMSwitch -Name VmNAT -SwitchType Internal
New-NetNat –Name LocalNAT –InternalIPInterfaceAddressPrefix “192.168.100.0/24”
接下来,将 IP 地址分配给网络适配器:
PowerShell
Get-NetAdapter "vEthernet (VmNat)" | New-NetIPAddress -IPAddress 192.168.100.1 -AddressFamily IPv4 -PrefixLength 24
每个嵌套的虚拟机必须分配有一个 IP 地址和网关。 请注意,网关 IP 必须指向上一步中的 NAT 适配器。 您可能想要分配 DNS 服务器:
PowerShell
Get-NetAdapter "vEthernet (VmNat)" | New-NetIPAddress -IPAddress 192.168.100.2 -DefaultGateway 192.168.100.1 -AddressFamily IPv4 -PrefixLength 24
Netsh interface ip add dnsserver “vEthernet (VmNat)” address=<my DNS server>
微软黑科技-hyper-v虚拟机gpu虚拟化
最后总结一下hyper-v开启gpu虚拟化的步骤:
1.管理员模式运行powershell
2.$vm = "我的虚拟机名字"
3.Add-VMGpuPartitionAdapter -VMName $vm
4.Set-VMGpuPartitionAdapter -VMName $vm -MinPartitionVRAM 80000000 -MaxPartitionVRAM 100000000 -OptimalPartitionVRAM 100000000 -MinPartitionEncode 80000000 -MaxPartitionEncode 100000000 -OptimalPartitionEncode 100000000 -MinPartitionDecode 80000000 -MaxPartitionDecode 100000000 -OptimalPartitionDecode 100000000 -MinPartitionCompute 80000000 -MaxPartitionCompute 100000000 -OptimalPartitionCompute 100000000
5.Set-VM -GuestControlledCacheTypes $true -VMName $vm
6.Set-VM -LowMemoryMappedIoSpace 1Gb -VMName $vm
7.Set-VM -HighMemoryMappedIoSpace 32GB -VMName $vm
8.虚拟机开机,从主机上复制C:\Windows\System32\DriverStore\FileRepository目录到虚拟机C:\Windows\System32\HostDriverStore\
此时虚拟机上看到是这样的目录结构:C:\Windows\System32\HostDriverStore\FileRepository
备注:HostDriverStore这个目录要自己创建,FileRepository里面本质上只要有主机显卡驱动就可以了,这里偷懒直接复制整个目录,如果只想复制主机显卡驱动目录,可以通过设备管理器查看主机加载的显卡驱动目录
9.重启虚拟机,查看虚拟机设备管理器显卡,运行dxdiag查看显卡特性
微软黑科技-hyper-v虚拟机gpu虚拟化
https://zhuanlan.zhihu.com/p/332032649
------------------------------------------------------------------------------------------------
一定要专业!本博客定位于 ,C语言,C++语言,Java语言,Android开发和少量的Web开发,之前是做Web开发的,其实就是ASP维护,发现EasyASP这个好框架,对前端后端数据库 都很感觉亲切啊。. linux,总之后台开发多一点。以后也愿意学习 cocos2d-x 游戏客户端的开发。