PowerShell を使用して Hyper-V VM を起動および停止する方法

Windows Speedup Tool をダウンロードしてエラーを修正し、PC の動作を高速化します。

お先にどうぞHyper-V をインストールまたは有効にするWindows 11 または Windows 10 ホスト マシンでは、次のことができます。VMを作成するさまざまな目的で別のオペレーティング システム (ゲスト OS) を実行します。この投稿では、PowerShell を使用して Hyper-V VM を起動および停止する方法

PowerShell を使用して Hyper-V VM を起動および停止する方法

Hyper-V マネージャーを使用すると、仮想マシンを手動で起動および停止できます。の起動-VMそしてVMの停止PowerShell のコマンドレットは、仮想マシンを起動/停止します。 Hyper-V モジュールで使用可能なコマンドレットを使用して、Hyper-V ホスト上で実行されている 1 つ以上の仮想マシンを起動/停止できます。

PowerShell を使用して Hyper-V で仮想マシンを起動または停止するには、次の対応するコマンドレットを実行します。コマンドは仮想マシンを起動/停止します。VM-1VMName パラメータで指定されます。

Start-VM -VMName VM-1
Stop-VM -VMName VM-1

デフォルトでは、起動-VMコマンドレットは出力を返しません。したがって、使用できます-パススルーパラメーターを使用して出力を生成し、それをパイプラインに渡してから、VMの取得VM のステータスを返すコマンドレット。対応する構文は次のようになります。

Start-VM -VMName VM-1 -Passthru | Get-VM

VM の状態を保存して停止するには、-保存以下に示すパラメータ:

Stop-VM -VMName VM-1 -Save

PowerShell を使用して Hyper-V で複数の仮想マシンを起動または停止するには、次の対応するコマンドレットを実行します。このコマンドは、名前が VM で始まるすべての仮想マシンを起動/停止します。

Start-VM -VMName VM*
Stop-VM -VMName VM*

読む:Hyper-V に Linux Ubuntu をインストールする方法

応答しない Hyper-V VM を停止する方法

場合によっては、Hyper-V 仮想マシンをシャットダウンしようとするとハングすることがあります。この問題が発生すると、Hyper-V マネージャーで、影響を受ける VM のステータスが次のように表示されます。シャットダウン中それはもう反応しません。さらに、PowerShell を使用して VM を強制的にシャットダウンすることはできません。停止-VM-強制コマンドを使用するか、通常のコントロールを使用するか、ゲスト OS が応答を停止すると、消すシャットダウン、そしてリセットHyper-V マネージャーのボタンがグレー表示になり、押すと次のエラーが返されます。

アプリケーションが VM の状態を変更しようとしたときにエラーが発生しました。
状態の変更に失敗しました。
オブジェクトが現在の状態にある間は操作を実行できません。

この場合、クライアント Hyper-V を使用している場合は、サーバーまたは PC をシャットダウンする (これは方法の 1 つですが、やりすぎです) 代わりに、以下の方法を使用して応答しない VM を強制的にシャットダウンできます。

  1. パワーシェル
  2. タスク マネージャーまたはプロセス エクスプローラー

それぞれの方法に必要な手順を見てみましょう。

読む:Hyper-V 仮想マシンが起動状態のままになる

1] PowerShell を使用して応答しない Hyper-V VM を停止する

  • PowerShell を管理者モードで開きます。
  • 以下のコマンドを入力して Enter キーを押し、すべての VM の GUID の出力を取得します。応答しない VM の名前を知る必要があります。
Get-VM
  • VM 名を取得したら、以下のコマンドを実行します。 VM_NAME プレースホルダーを、停止する VM の名前に置き換えます。
$VmGUID = (Get-VM 'VM_NAME').id
  • 次に、以下のコマンドを実行して VM のプロセス ID を見つけます。このコマンドは、Win32_Process Windows Management Instrumentation (WMI) 名前空間を使用して、一致する実行中の CPU プロセスを検索します。vmwp.exeおよび仮想マシンの GUID ($VmGUID)。
$VMWMProc = (Get-WMIObject Win32_Process | ? {$_.Name -match 'VMWP' -and $_.CommandLine -match $VmGUID})
  • プロセス ID ($VMWMProc) を取得したら、停止処理以下に示すコマンドレットを使用してプロセスを強制終了します。
Stop-Process ($VMWMProc.ProcessId) –Force

読む:Hyper-V 仮想マシンが停止状態でスタックする問題を修正する

2] タスク マネージャーまたはプロセス エクスプローラーを使用して、応答しない Hyper-V VM を停止します。

Hyper-V ホスト上のすべての VM は、仮想マシン ワーカー プロセスを使用して起動されます。vmwp.exeVM がスタックした場合に強制終了する必要があるプロセス インスタンス。特定のプロセス PID を見つけるには、仮想マシンの GUID を見つける必要があります。

これらの方法のいずれでも、Hyper-V マネージャー コンソールを使用して VM GUID を取得できます。

  • Hyper-V サーバー設定を開きます。
  • サーバセクションには、VM 構成ファイルが保存されているディレクトリが含まれています。
  • フォルダーを特定したら、ファイル エクスプローラーでそのディレクトリに移動します。
  • その場所で、スタックした仮想マシンの名前を持つフォルダーを見つけます。
  • VM 構成ファイルの名前に指定されている GUID を次のコマンドでコピーします。*.vmcx拡大。
  • 次に、タスクマネージャーを開き、詳細タブ。
  • さて、ユーザー名前列で、スタックしている VM の GUID を持つプロセス vmwp.exe を見つけて強制終了します。

同様に、次のことができます。プロセスエクスプローラー次の手順に従って、Hyper-V ホスト上でスタックしている仮想マシン プロセスを見つけて停止するツールを使用します。

  • Process Explorer を管理者として実行します。
  • 次に、 を押します。Ctrl+Fキーコンボまたはクリックハンドルまたは DLL を検索
  • 起動/停止状態になっている Hyper-V VM の仮想ディスク (*.vhdx) へのパスを指定します。
  • Process Explorer には、仮想マシン VHDX ファイルを使用しているすべてのプロセスがリストされます。
  • 次に、vmwp.exe仮想マシンのプロセス。
  • プロセスを右クリックして選択しますプロセスを強制終了するメニューから。

読む:保存された状態でスタックする Hyper-V 仮想マシンを修正する

シャットダウンに応答しない VM を強制的に停止するもう 1 つの方法は、管理者特権の PowerShell プロンプトで以下のコマンドを実行して Hyper-V サービスを停止することです。のサービスの再起動コマンドは、サーバー上で実行中のすべての VM を強制的にシャットダウンします。 Hyper-V サービス (vmms) の再起動にはかなりの時間がかかる場合があることに注意してください。そのため、操作を停止してから再度再開するまでに数分かかる場合があります。

Get-Service vmms | Restart-Service

それでおしまい!

次に読んでください:Hyper-V 仮想マシンを起動時に自動的に起動する方法

VM のステータスを確認するにはどうすればよいですか?

VMware で個々の仮想マシンのステータスを確認するには、次の手順を実行します。

  • vSphere Client で、仮想マシンに移動します。
  • アップデートタブ、クリックステータスの確認。 [エンティティのスキャン] タスクが [最近のタスク] ウィンドウに表示されます。
  • タスクが完了すると、ステータス情報がVMware Tools と VM ハードウェアの互換性パネル。

VM がアイドル状態かどうかを確認するにはどうすればよいですか?

Google Cloud で VM をアイドル状態として分類するには、次の条件をすべて満たす必要があります。

  • CPU 使用率は、VM 実行時間の 97% で 0.03 vCPU 未満です。
  • 受信ネットワーク トラフィックは、VM 実行時間の 95% で 2600 バイト/秒 (B/s) 未満です。
  • 送信されるネットワーク トラフィックは、VM 実行時間の 95% で 1000 B/s 未満です。

読む:Hyper-V で仮想スイッチを構成する方法