首页 > 解决方案 > 使用 PowerShell 更改 Azure VM 使用的操作系统磁盘

问题描述

我正在尝试更换 Azure VM 上的 OS 磁盘。该磁盘是托管磁盘,我要替换它的磁盘是托管磁盘。我按照我在几个文档中找到的说明在 PS 中执行此操作。

https://azure.microsoft.com/en-us/blog/os-disk-swap-managed-disks/

我收到以下消息,让我相信它已成功完成。

RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
                         True         OK OK          

这是我正在使用的 PS 代码:

$vm = Get-AzureRmVM -ResourceGroupName rgname -Name vmname 
Stop-AzureRmVM -ResourceGroupName rgname -Name $vm.Name -Force
$disk = Get-AzureRmDisk -ResourceGroupName rgname -Name newosdiskname 
Set-AzureRmVMOSDisk -VM $vm -ManagedDiskId $disk.Id -Name $disk.Name 
Update-AzureRmVM -ResourceGroupName rgname -VM $vm

那么为什么这不起作用呢?

标签: azurepowershellazure-virtual-machine

解决方案


如文档中所述,您可以将现有 VM 的 OS 磁盘替换为托管 OS 磁盘。所以更换盘必须是OS盘,也不能swatch OS类型,比如从Linux到Windows。

您使用的 PowerShell 代码在我这边运行良好,结果的屏幕截图如下所示:

在此处输入图像描述

而且我认为这个功能是用来替换备份操作系统磁盘的。所以最好用OS盘的备份托管盘来代替。


推荐阅读