次の方法で共有


ブート診断を使用して、Azure 内の仮想マシンをトラブルシューティングする方法

適用対象: ✔️ Linux VM ✔️ Windows VM

仮想マシンがブートできない状態になる理由はたくさんあります。 Resource Manager デプロイ モデルを使用して作成された仮想マシンの問題に対処するには、次のデバッグ機能を使用します。Azure 仮想マシンのコンソール出力とスクリーンショットのサポート。

Linux 仮想マシンの場合、portal からコンソール ログの出力を表示できます。 Windows と Linux の両方の仮想マシンの場合、Azure ではハイパーバイザーから VM のスクリーンショットを表示できます。 どちらの機能も、すべてのリージョンの Azure 仮想マシンでサポートされています。 スクリーンショットと出力がストレージ アカウントに表示されるまでに最大 10 分かかる場合があることに注意してください。

[ブート診断] オプションを選択して、ログとスクリーンショットを表示できます。

Azure portal の [ブート診断] ページの [スクリーンショット] タブのスクリーンショット。

一般的な起動エラー

Azure portal を使用して作成された仮想マシンで診断を有効にする

次の手順は、Resource Manager デプロイ モデルを使用して作成された仮想マシン用です。

[管理] タブの [監視] セクションで、[ブート診断] がオンになっていることを確認します。 既定の設定では、マネージド ストレージ アカウントを使用してブート診断を有効にします。

VM 作成のブート診断ページのオプションのスクリーンショット

Note

ブート診断機能は、Premium Storage アカウントまたはゾーン冗長ストレージアカウント タイプをサポートしていません。 ブート診断に Premium Storage アカウントを使用している場合、VM の起動時に StorageAccountTypeNotSupported エラーが発生する可能性があります。

Azure Resource Manager テンプレートからのデプロイ

Azure Resource Manager テンプレートからデプロイする場合は、仮想マシン リソースに移動し、診断プロファイル セクションを追加します。 API バージョン ヘッダーを「2015-06-15」以降に設定します。 最新バージョンは「2018-10-01」です。

{
  "apiVersion": "2018-10-01",
  "type": "Microsoft.Compute/virtualMachines",
  … 

診断プロファイルを使用すると、これらのログを配置するストレージ アカウントを選択できます。

    "diagnosticsProfile": {
 "bootDiagnostics": {
 "enabled": true,
 "storageUri": "[concat('https://', parameters('newStorageAccountName'), '.blob.core.windows.net')]"
 }
    }
    }
}

テンプレートを使用したリソースのデプロイの詳細については、「クイック スタート: Azure portal を使用して Azure Resource Manager テンプレートを作成およびデプロイする」を参照してください。

既存の仮想マシンでブート診断を有効にする

既存の仮想マシンでブート診断を有効にするには、次の手順を実行します。

  1. Azure portal にサインインしてから、仮想マシンを選択します。

  2. [ヘルプ] セクションで、[ブート診断] を選択し、[設定] タブを選択します。

  3. [ブート診断] 設定で、マネージド ストレージ アカウントまたはカスタム ストレージ アカウントを使用したブート診断を選択します。 既存の VM のブート診断ページのオプションのスクリーンショット

  4. 変更を保存します。

Azure CLI を使用してブート診断を有効にする

Azure CLI を使用して、既存の Azure 仮想マシンでブート診断を有効にすることができます。 詳細については、「az vm boot-diagnostics」を参照してください。

ブート診断のスクリーンショットが更新されない問題を修正する

Azure portal で Azure VM のブート診断のスクリーンショットが古くなっていることに気付いた場合は、まずゲスト オペレーティング システムで仮想ディスプレイのタイムアウトが無効になっていることを確認してください。 たとえば、ログオン画面に表示される時間が Windows VM の場合、古いことがわかる場合があります。

Windows の場合、管理者特権の CMD から次のコマンドを実行する

powercfg /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0

Linux の場合、次のコマンドを実行する

xset s off

Windows VM の場合、Azure プロビジョニング エージェントは VM エージェントとは異なります。 一般化されたイメージから作成された VM のプロビジョニング中に、上記のコマンドを実行します。 プロビジョニング エージェントのログである C:\Windows\Panther\WaSetup.xml で powercfg を検索すると、このイベントを確認できます。 ただし、専用の VHD から作成された VM に対してプロビジョニング エージェントを実行する必要がないため、仮想ディスプレイのタイムアウトを無効にするために手動で powercfg コマンドを実行する必要があるシナリオです。 また、プロビジョニング エージェントが仮想ディスプレイのタイムアウトを無効にするように更新される前に作成されたため、一般化されたイメージから作成された特に古い Azure VM が設定されていない可能性があります。

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

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