次の方法で共有


オフライン修復のためにアンマネージド ディスクを VM にアタッチする

適用対象: ✔️ Windows VM

VM が起動しない場合など、Windows 仮想マシン (VM) の一部のトラブルシューティング シナリオでは、OS ディスクをオフラインで修復する必要があります。 この記事では、障害が発生した OS ディスクが管理されていない場合に、この種のオフライン修復を実行する方法について説明します。

OS ディスクが管理されているか管理されていないかを判断する

Azure portal

VM の Overview ブレードを開きます。 OS ディスクが管理されていない場合、情報バナーは、VM がマネージド ディスクを使用しないことを示します。

V M でマネージド ディスクが使用されていないことを示す Azure portal のバナー メッセージのスクリーンショット。

さらに、次に示すように、OS ディスクの Overview ブレードでは、ディスクがアンマネージドである場合、ディスク名に "(unmanaged)" が追加されます。

スクリーンショットは、Azure portal で VM の名前に追加されたアンマネージドという単語を示しています。

ディスクが管理されている場合、OS ディスクの [概要] ブレードには、次に示すように Managed by フィールドが表示されます。

Azure portal のディスクの [概要] ブレードのスクリーンショット。ディスクが VM によって管理されていることを示します。

PowerShell

OS ディスクがアンマネージドであることを確認するには、次のコマンドを入力します。 ("MyResourceGroup" はリソース グループの名前に、"MyVM" は VM の名前に置き換えてください)。

(get-azvm -ResourceGroupName MyResourceGroup -Name MyVM).StorageProfile.OsDisk

ディスクがアンマネージドの場合、次の例のように、 ManagedDisk の横の出力に値は表示されません。

OsType                  : Windows
EncryptionSettings      :
Name                    : MyVM-Disk1
Vhd                     : Microsoft.Azure.Management.Compute.Models.VirtualHardDisk
Image                   :
Caching                 : ReadWrite
WriteAcceleratorEnabled :
DiffDiskSettings        :
CreateOption            : FromImage
DiskSizeGB              : 127
ManagedDisk             :

ディスクがマネージド ディスクの場合は、次の例のように、出力の ManagedDisk の横に値が表示されます。

OsType                  : Windows
EncryptionSettings      :
Name                    : MyVM2-Disk1
Vhd                     :
Image                   :
Caching                 : ReadWrite
WriteAcceleratorEnabled :
DiffDiskSettings        :
CreateOption            : FromImage
DiskSizeGB              :
ManagedDisk             : Microsoft.Azure.Management.Compute.Models.ManagedDiskParameters

Azure コマンドライン インターフェイス (Azure CLI)

次の例に示すように、 az vm show コマンドを追加したクエリ "storageProfile.osDisk.managedDisk" を使用して、ディスクにマネージド ディスクがあるかどうかを判断できます。

az vm show -n MyVM -g MyResourceGroup --query "storageProfile.osDisk.managedDisk"

ディスクがアンマネージドの場合、コマンドは出力を生成しません。 ディスクが管理されている場合、次の例のように出力が生成されます。

{
  "diskEncryptionSet": null,
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/disks/MyVm_OsDisk_1",
  "resourceGroup": "MyResourceGroup",
  "storageAccountType": null
}

ソース (失敗) VM に接続されているアンマネージド OS ディスクのコピーを作成する

  1. Azure portal で、OS ディスクが管理されていないソース VM を停止します。

  2. ローカル コンピューターで、 ダウンロードインストールし、Microsoft Azure Storage Explorer を起動します。 メッセージが表示されたら、Azure 資格情報を指定します。

  3. Storage Explorer のナビゲーション ウィンドウで、適切なサブスクリプションを展開します。

  4. VHD が配置されているストレージ アカウントを選択し、ディスクに適したコンテナーを選択します。 既定では、アンマネージド OS ディスクは vhds (Leased) コンテナーに格納されます。

    Azure Storage Explorer のスクリーンショット。ストレージ アカウント コンテナーとリースされたコンテナーの両方がナビゲーション ツリーで強調表示されています。

  5. 右側のウィンドウで、修復するソース VM に接続されている VHD を選択し、上部にある Copy を選択します。 コピーしたディスクは、別の BLOB コンテナーにのみ貼り付けることができることに注意してください。

    [コピー] ボタンが強調表示された状態で選択されたディスクを示す Azure Storage Explorer のスクリーンショット。

  6. ナビゲーション ウィンドウで Blob コンテナー を右クリックし、[BLOB コンテナーの作成 を選択して、新しい BLOB コンテナーを作成。 新しい BLOB コンテナーに、選択した名前 ("disk-copies" など) を割り当てます。

    ナビゲーション メニューの BLOB コンテナーのショートカット メニューが表示され、[Blob コンテナーの作成] が強調表示されている Azure Storage Explorer のスクリーンショット。

  7. Paste を選択して、コピーしたディスクを新しい BLOB コンテナーに貼り付けます。

    [貼り付け] ボタンが強調表示されている Azure Storage Explorer のスクリーンショット。

アンマネージド OS ディスクを使用して修復 VM を作成する

  1. Azure portal で、Windows Server 2019 に基づく新しい VM を作成するプロセスを開始します。 この新しい VM は修復 VM として機能し、独自の OS ディスクはアンマネージドである必要があります。

  2. [仮想マシンの作成] ウィザードの [Basics] ページで、[可用性オプション一覧でインフラストラクチャの冗長性が不要を選択します。

    [仮想マシンの作成] ウィザードの [基本] ページのスクリーンショット。インフラストラクチャが不要な場合に選択されたオプションが表示されています。

  3. [ディスク] ページで、Data ディスクの下にある Advanced を展開し [マネージド ディスクの使用] チェック ボックスをオフにします。 アンマネージド OS ディスクのストレージ アカウントを選択します。 既存のディスクを接続することを選択しないでください。 [マネージド ディスクの使用] オプションがオフの [仮想マシンの作成] ウィザードの [ディスク] ページのスクリーンショット。マネージド ディスクを使用する オプションを選択できない場合は、次のコマンドを使用して VM を作成してみてください。

    ## Get the subnet ID of the VM
    
    $SubnetID = az network vnet subnet show --resource-group <RG name> --name <Subnet name> --vnet-name <VNet name> --query id -o tsv
    
    ## Create a VM with the unmanaged disk
    
    az vm create \
        --resource-group <RG name>\
        --name <VM name>\
        --image <Image name>\
        --location <location of the VM>\
        --admin-username <Admin name>\
        --subnet $SubnetID\
        --size <VM size>\
        --use-unmanaged-disk  
    
  4. 組織に適した構成の詳細を指定して、"仮想マシンの作成" ウィザードを完了します。

アンマネージド ディスクのコピーを修復 VM にアタッチする

  1. Azure portal で、先ほど作成した新しい修復 VM の Disks ブレードを開きます。

  2. [ + データ ディスクの追加を選択します。

    Azure portal の修復 VM の [ディスク] ブレードのスクリーンショット。[データ ディスクの追加] ボタンが強調表示されています。

  3. [アンマネージド ディスクのアタッチ] ページで、Source の種類として Existing blob を選択

    既存の BLOB オプションが選択されている [アンマネージド ディスクのアタッチ] ウィンドウのスクリーンショット。

  4. Source BLOB の下にある Browse を選択し、先ほど作成した OS ディスクのコピーを参照して選択します。

    [参照] ボタンが強調表示されている [アンマネージド ディスクのアタッチ] ウィンドウのスクリーンショット。

    ディスクが選択され、[選択] ボタンが強調表示されているディスク コピー コンテナーのスクリーンショット。

  5. [アンマネージド ディスクのアタッチ] ページで、既定のストレージ BLOB 名をそのまま使用し、OK を選択します。

  6. 新しい修復 VM の Disks ブレードで、 保存を選択します。

    [保存] ボタンが強調表示されている [ディスク] ブレードのスクリーンショット。

暗号化されている場合はディスクのロックを解除する

ディスクが Azure Disk Encryption (ADE) で暗号化されている場合は、修復する前にロックを解除する必要があります。 そのためには、「 Resolution #3: Manual method to unlock an encrypted disk on a repair VMで説明されている手順を使用します。

ディスクが暗号化されているかどうかを確認する手順は、次の手順を使用します。 ディスクで ADE が有効になっていることを確認します

ソース VM 上の OS ディスクを交換する

ディスクの修復が完了したら、次の手順に従います。

  1. Azure CLI または PowerShell を使用して、ソース VM OS ディスクをデタッチします。

    Azure CLI

    次の例のように、 az vm unmanaged-disk detach コマンドを使用します。

    az vm unmanaged-disk detach -g MyResourceGroup --vm-name MyVm -n disk_name
    

    PowerShell

    Azure Cloud Shell で次のコマンドを一度に 1 つずつ入力します。

    $VirtualMachine = Get-AzVM -ResourceGroupName "MyResourceGroup" -Name "MyVm" 
    Remove-AzVMDataDisk -VM $VirtualMachine -Name "disk_name"
    Update-AzVM -ResourceGroupName "MyResourceGroup" -VM $VirtualMachine
    

    ディスクをデタッチした後は、ソース VM 上の OS ディスクを交換できます。

  2. プロンプトが返されたら、メモ帳などのテキスト エディターを開き、次の値を記録します。

    • サブスクリプション ID ($subscriptionID): Azure サブスクリプションに関連付けられている 32 桁のグローバル一意識別子 (GUID)。
    • リソース グループ名 ($rgname): ソース VM のリソース グループ。
    • VM 名 ($vmname): ソース (失敗) VM の名前。
    • OS ディスク VHD URI ($vhduri): 修復 VM からデタッチしたアンマネージド OS ディスクのコピーの URI。 (この値をコピーするには、Storage Explorer でディスクを右クリックし、 URL のコピー.)
  3. Azure Cloud Shell の PowerShell コマンド プロンプトで、一度に 1 つずつ、次のコマンドを入力します。 各コマンドで、"サブスクリプション ID"、"リソース グループ名"、"VM 名"、"OS ディスク VHD URI" の値を、環境から記録した対応する値に置き換えます。

    $subscriptionID = "Subscription ID"
    $rgname = "Resource group name"
    $vmname = "VM Name"
    $vhduri = "OS disk VHD URI"
    #Add-AzAccount
    Select-AzSubscription -SubscriptionID $subscriptionID
    Set-AzContext -SubscriptionID $subscriptionID
    $vm = Get-AzVM -ResourceGroupName $rgname -Name $vmname
    $vm.StorageProfile.OsDisk.Vhd.Uri = $vhduri
    Update-AzVM -ResourceGroupName $rgname -VM $vm       
    

    操作が完了すると、次の出力が表示されます。

    RequestId IsSuccessStatusCode StatusCode ReasonPhrase
    --------- ------------------- ---------- ------------
                             True         OK OK
    
  4. Azure portal で、VM の [ディスク] ブレードを開きます。 OS ディスクを選択し、VHD URI が最後の手順で指定した値と一致することを確認します。

次のステップ

ADE の概要については、「 Windows VM の Azure Disk Encryption を有効にする」を参照してください。 アンマネージド ディスクの管理に使用できるコマンドの詳細については、「 az vm unmanaged-disk」を参照してください。

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。