次の方法で共有


Azure VM が RDP を実行できない - 機能を構成している

適用対象: ✔️ Windows VM

現象

  1. VM のスクリーンショットをプルすると、次のメッセージが表示されます。

    • 機能の操作
    • ##% complete
    • コンピューターの電源をオフにしないでください

    [機能の操作] エラー メッセージのスクリーンショット。

原因

ロールまたは機能が Windows に追加または削除されました。

ソリューション

ブート診断のスクリーンショットを数回更新して、進行状況があるか、VM がスタックしているかどうかを監視します。 マシンが実際に停止している場合にのみ、ロール/機能をさらに中断できます。

プロセスの概要

  1. 修復 VM の作成とアクセス
  2. DISM を使用して変更をロールバックする
  3. シリアル コンソールとメモリ ダンプの収集を有効にする
  4. VM を再構築する

修復 VM を作成してアクセスする

  1. 仮想マシンの修復コマンドの手順 1 から 3 を使用して、修復 VM を準備します。
  2. リモート デスクトップ接続を使用して、修復 VM に接続します。

DISM を使用して変更をロールバックする

  1. マシンが適用しようとしている変更を確認するには、 setup.evtx ログを確認し、次の例に示すように ID: 7 イベントを探します。

    (これらのログは <drive letter>:\Windows\System32\winevt\Logs\Setup.evtxにあります)

    Time: 4/27/2020 6:16:51 AM
    ID: 7
    Level:Information
    Source: Microsoft-Windows-Servicing
    Machine: hostname.domain
    Message: Initiating changes to turn on update EnhancedStorage of package Enhanced Storage. Client id: DISM Package Manager Provider.
    
  2. このイベントからパッケージ名を取得し、DISM ツールを使用して削除できます。

    Dism /Image:<OS Disk letter>:\ /Disable-Feature /FeatureName:<<Feature to remove>>
    

    上記の例では、構文は次のようになります。

    Dism /Image:G:\ /Disable-Feature /FeatureName:EnhancedStorage
    

シリアル コンソールとメモリ ダンプの収集を有効にする

推奨: VM を再構築する前に、次の手順に従ってシリアル コンソールとメモリ ダンプの収集を有効にします。

  1. 管理者として管理者特権でのコマンド プロンプト セッションを開きます。

  2. /ems および /emssettings オプションを使用して、次の BCDEdit コマンドを実行します。

    シリアル コンソールを有効にします。

    bcdedit /store <volume-letter-containing-the-bcd-folder>:\boot\bcd /ems {<boot-loader-identifier>} ON
    bcdedit /store <volume-letter-containing-the-bcd-folder>:\boot\bcd /emssettings EMSPORT:1 EMSBAUDRATE:115200
    
  3. OS ディスクの空き領域が、VM のメモリ サイズ (RAM) よりも大きいことを確認します。

    OS ディスクに十分な領域がない場合は、メモリ ダンプ ファイルが作成される場所を変更し、その場所を、十分な空き領域がある VM に接続されているデータ ディスクを参照します。 場所を変更するには、次のコマンドで、 %SystemRoot% をデータ ディスクのドライブ文字 ( F:など) に置き換えます。

    OS ダンプ ファイルを有効にするには、次の loadadd、および unload コマンドを実行して、 reg ツールを使用して推奨される構成を実装します。

    壊れた OS ディスクからレジストリ ハイブを読み込みます。

    reg load HKLM\<broken-system> <volume-letter-of-broken-os-disk>:\windows\system32\config\SYSTEM
    

    ControlSet001 での有効化:

    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f
    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f
    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
    

    ControlSet002 での有効化:

    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f
    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f
    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
    

    壊れた OS ディスクをアンロードします。

    reg unload HKLM\<broken-system>
    

VM をリビルドする

VM 修復コマンドのステップ 5 を使って、VM を再構成します。

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

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