VMWare WorkstationのVMが、しばらくアイドル状態になると自動的にサスペンドしてしまうことにうんざりしていませんか?ええ、このちょっとした機能は、特に長時間のプロセスを実行している場合や、ただ待つのが嫌な場合は、役に立つというよりむしろ面倒です。VMWare Workstation PlayerまたはFusionでは、自動サスペンドはデフォルトで有効になっています。これはVMの状態を凍結することでホストリソースを節約するはずですが、実際には、復帰するたびに「再開」をクリックすることになります。なぜこのように動作するのかはよく分かりませんが、一部の環境では、ハイパーバイザーがユーザーの意図以上にサスペンドを急がせているように感じられます。
メイン設定で自動サスペンドをグローバルにオフにすることはできません(少なくとも簡単にはできません)。しかし、VMX設定ファイルを編集するという回避策があります。これにより、ハイパーバイザーがVMを完全にサスペンドするのを防ぐことができます。これは、中断やリソースの無駄を嫌う方に最適です。
VMWare Workstation による VM の自動サスペンドを停止する方法
方法1: VMX構成編集でサスペンドを無効にする
この修正は、VMXファイルを直接変更するものです。VMWareに「大丈夫、大丈夫。サスペンドは心配しないで」と伝えるようなものです。サスペンド機能が頻繁に、あるいは予期せずトリガーされる場合に役立ち、特に、失ったり再開を待ったりできないテストや長時間実行タスクに役立ちます。
やるべきことは次のとおりです:
- VM を完全にシャットダウンします。サスペンドや一時停止は行わず、実際に電源をオフにするだけです。
- VMのVMX構成ファイルへのパスを確認してください。通常は、C:\Users\YourName\Documents\Virtual Machines\YourVM\YourVM.vmxのような場所にあります。不明な場合は、VMWare内でVMの設定を確認してください。
- VMXファイルを任意のテキストエディタ(メモ帳など)で開いてください。設定によっては管理者権限が必要になる場合があります。
- ファイルの最後に次の行を追加します。
suspend.disabled = "TRUE" - ファイルを保存します。簡単な作業ですが、必ず保存したことを確認してください。エディターがうっかり忘れてしまうこともあるからです。
- 再確認するには、PowerShell を実行して次のように入力します。
Add-Content C:\Path\To\YourVM\YourVM.vmx 'suspend.disabled = "TRUE"' - 次に、次のコマンドを実行して、それが存在することを確認します。
Get-Content C:\Path\To\YourVM\YourVM.vmx | Select-String "suspend" - 最後に、VM を再度起動すると、VM が自動的にサスペンドしなくなります。
私の環境ではスムーズに動作しましたが、設定が完全に反映されるまでに再起動や若干の遅延が必要になるケースもありました。また、VMWareのバージョンによっては、管理者権限で実行していない限り、この設定が無視される場合があるのでご注意ください。
これが何をするのか、そしてなぜそれが役立つのか
この変更により、VMWare はサスペンド要求を無視するようになり、VM は動作を継続します。再開のための処理は不要になります。ゲスト OS のスリープモードやホストの非アクティブ状態によってサスペンドがトリガーされた場合、この変更はそれらの処理をバイパスします。この変更は主に、サスペンド処理が自動化されている場合、またはゲスト OS の電源イベントによってトリガーされる場合に適用されます。
設定ファイルをいじっても、必ずしもすべてのバージョンや設定で同じように動作するとは限りませんが、試してみる価値はあります。もちろん、VMwareはアップデートで設定内容が変更される可能性もあるので、問題が発生した場合は、ドキュメントで新しい方法や設定を確認してください。
もう一つの注意点として、一部のシステムでは、サスペンドとレジューム機能が密接に統合されている場合、VMの動作が異なる場合があります。編集後に奇妙な問題に気付いた場合は、この点にご注意ください。
いずれにせよ、面倒なサスペンド機能による不要な待機時間とリソース消費を回避できることを願っています。正直なところ、この機能は一部の人にとっては便利かもしれませんが、すべての人に便利というわけではありません。中断が減ることを祈っています。
まとめ
- VMをシャットダウンする
- VMX構成ファイルを見つける
suspend.disabled = "TRUE"最後に追加- VMを保存して再起動します
- PowerShellコマンドでサスペンドが無効になっていることを確認する
まとめ
このちょっとした調整で、VMは通常、中断なく稼働し続けるので、毎回「再開」をクリックする手間が省けます。すべてのケースで万能というわけではありませんが、ほとんどの環境では驚くほどうまく機能します。これは私の場合、複数のマシンでうまくいきました。皆さんのマシンでも同じように機能し、余計なクリックやリソースを無駄にする必要がなくなることを願っています。