Azure无法创建80GB磁盘的Win11 VM,PowerShell执行报错求助
问题:Azure中通过PowerShell创建80GB系统磁盘的Win11 VM时出错
我的目标是在Azure中创建系统磁盘大小为80GB的Win11镜像(用于作为AWS Workspace的镜像)。发现Azure界面不允许创建磁盘大小小于126GB的VM,且系统磁盘创建后无法缩小容量,因此尝试通过PowerShell创建,执行步骤后出现错误:
ErrorCode: InvalidParameter
ErrorMessage: Parameter 'osDisk.managedDisk.id' is not allowed.
ErrorTarget: osDisk.managedDisk.id
StatusCode: 400
我的操作步骤如下:
步骤1:创建80GB的Windows系统磁盘
$diskconfig = New-AzDiskConfig -Location $location -DiskSizeGB 80 -AccountType Standard_LRS -OsType Windows -CreateOption Empty $disk = New-AzDisk -ResourceGroupName "AIBManagedIDRG" -DiskName "win11small" -Disk $diskconfig
步骤2:配置VM并关联步骤1创建的系统磁盘
$vm_adfs = New-AzVMConfig -VMName "win11small" -VMSize "Standard_DS1_V2" $vm = Set-AzVMOSDisk -VM $vm_adfs -ManagedDiskId $disk.Id -CreateOption FromImage -Windows
步骤3:设置操作系统并添加网络接口
$vm = Set-AzVMOperatingSystem -VM $vm -Windows -ComputerName "win11" -Credential $vm_cred -ProvisionVMAgent -EnableAutoUpdate $vm = Add-AzVMNetworkInterface -VM $vm -Id "/subscriptions/xxx-xxx-xx-xx/resourceGroups/AIBManagedIDRG/providers/Microsoft.Network/networkInterfaces/myNic" $vm = Set-AzVMSourceImage -VM $vm_adfs -PublisherName 'MicrosoftWindowsDesktop' -Offer 'windows-11' -Skus 'win11-23h2-ent' -Version latest
步骤4:创建VM
New-AzVM -ResourceGroupName "AIBManagedIDRG" -Location "uksouth" -VM $vm -Verbose
请问我哪里操作有误?请求帮助。
错误原因及修正方案
错误原因
你的操作有两个核心问题:
- 参数冲突:当通过
Set-AzVMSourceImage指定从公共镜像创建VM时,Azure会自动生成系统磁盘,不允许同时用Set-AzVMOSDisk指定预先创建的空磁盘ID(-ManagedDiskId),这是导致报错的直接原因。 - 变量覆盖错误:步骤3中执行
Set-AzVMSourceImage时,你传入的是原始的$vm_adfs变量,而非已经配置了操作系统和网卡的$vm变量,导致之前的配置被覆盖,进一步加剧了参数冲突。
正确实现步骤
要创建自定义大小的系统磁盘VM,不需要预先创建空磁盘,直接在VM配置阶段指定磁盘大小即可。具体步骤如下:
- 初始化VM配置
$vm_config = New-AzVMConfig -VMName "win11small" -VMSize "Standard_DS1_V2"
- 指定源镜像并设置系统磁盘大小
通过Set-AzVMOSDisk的-DiskSizeGB参数直接定义80GB的系统磁盘,同时结合Set-AzVMSourceImage指定Win11镜像:
$vm_config = Set-AzVMSourceImage -VM $vm_config ` -PublisherName 'MicrosoftWindowsDesktop' ` -Offer 'windows-11' ` -Skus 'win11-23h2-ent' ` -Version latest $vm_config = Set-AzVMOSDisk -VM $vm_config ` -StorageAccountType Standard_LRS ` -DiskSizeGB 80 ` -CreateOption FromImage ` -Windows
- 配置操作系统和网络接口
$vm_config = Set-AzVMOperatingSystem -VM $vm_config ` -Windows ` -ComputerName "win11" ` -Credential $vm_cred ` -ProvisionVMAgent ` -EnableAutoUpdate $vm_config = Add-AzVMNetworkInterface -VM $vm_config ` -Id "/subscriptions/xxx-xxx-xx-xx/resourceGroups/AIBManagedIDRG/providers/Microsoft.Network/networkInterfaces/myNic"
- 创建VM
New-AzVM -ResourceGroupName "AIBManagedIDRG" -Location "uksouth" -VM $vm_config -Verbose
补充说明
- Win11 23H2企业版的系统磁盘最小要求低于126GB,通过PowerShell指定
-DiskSizeGB可以突破Azure界面的默认限制。 - VM创建完成后,你可以通过Azure Compute Gallery或者直接导出VHD的方式,将镜像处理后用于AWS Workspace。
内容的提问来源于stack exchange,提问作者degan93
相关产品推荐
相关产品推荐

