2022-03-25


Windows内の仮想マシンは起動時自動起動、終了時自動保存、また起動時自動再開させたい。イメージとしては以下。
Windows起動→仮想マシン自動起動→Windows終了→仮想マシン自動保存(サスペンド)→Windows起動→仮想マシン自動再開
このようにすることで、Windows終了時に毎回仮想マシンシャットダウンして時間を取られることもないし、自動再開でスムーズに再開できる。仮想マシンの起動も再開もstartvmで自動判別してくれる。
1、仮想マシン起動バッチファイル作成とスタートアップ登録
仮想マシン名がubuntu-21.10とすると、以下のようなバッチファイルをたとえばstartvm.batなどとし作成する。
start "" /b "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm "ubuntu-21.10"
コマンドプロンプトを開き、まずこのバッチファイルstartvm.batを単独起動し、正常にvmが起動するかを確認しておく。
大丈夫なら、スタートアップフォルダにショートカットを置く。ファイルを右クリックし「ショートカットの作成」をする。
エクスプローラを開いてファイルパスバーに「shell:startup」と打って、スタートアップフォルダを開く。
そこにこのstartvm.batのショートカットをコピーして登録する。
2、Windows終了時に仮想マシンを自動サスペンドする登録
コマンドプロンプトを開き、まず現在のCloseActionの状態を確認する。
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" getextradata "ubuntu-21.10" GUI/DefaultCloseAction No value set!
まだ何も登録されていないので、サスペンド(状態保存)を行うアクション「SaveState」を登録する。
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "ubuntu-21.10" GUI/DefaultCloseAction SaveState
登録されたことを確認
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" getextradata "ubuntu-21.10" GUI/DefaultCloseAction Value: SaveState
なお、登録を取り消す(削除する)には、Valueをカラ(指定しない)でsetextradataする。
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "ubuntu-21.10" GUI/DefaultCloseAction
3、確認
ではWindowsを再起動してみる。自動サスペンドの処理があるので、タスクの完了を待っていますなどの表示が出るので待つ。強制的に再起動してはダメ。
Windowsが起動すると、さきのスタートアップでstartvm.batが走って、VMのコンソール画面が自動で立ち上がるはずだ。ウインドウバーが[保存]→[復元中...]となり画面はRestoreing Virtual Machine...となって、終了した時の状態が復元される。

※本記事内容の無断転載を禁じます。

溜まった悩みをなくして、からだの中からキレイに。根本から健康で元気になりましょう。

メディアで話題!Hanakoスイーツ大賞お取り寄せ部門受賞!【toroa】

芸能人御用達の授乳服・マタニティウェア専門店Sweet mommy【スウィートマミー】

スマートで効率的な Twitter アカウント運用ツールSocialDog

オーダーメイドカーテンをシンプルに安く!品質良し!値段良し!【ジャパンカーテン】

料亭の味をご自宅で手軽に食べられるetsuの冷凍健康惣菜【健康食を制約から悦びへ】

ベルタルイボスティー

都市ガス自由化!乗換えでお得に!【レモンガスわくわくプラン】

毎日が楽しくなる逸品をご紹介。阪急交通社グループの【ホップスモール】

CORESERVER v1 CORE-MINIプランでownCloudをインストールする
size_tとssize_tを使い分けてSegmentation Faultを予防する
Ubuntuでcore dumpedとなってるのにcoreが出力されない場合
【C++】uint8_tバイトvector配列をstring文字列に変換する
Ubuntu Server 21.10でイーサリアムブロックチェーン【その8】
Ubuntu Server 21.10でイーサリアムブロックチェーン【その7】
Ubuntu Server 21.10でイーサリアムブロックチェーン【その6】
githubにpushしようとしたらerror: failed to push some refs toと言われた場合
【Linux】PHP8をソースからインストールする
Windows版Google Driveが使用中と言われアンインストールできない場合
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法
Googleスプレッドシートを編集したら自動で更新日時を入れる
【Javascript】JSON配列内にある特定要素の取得法【Node.js】
5chブラウザJane Styleの板一覧にゲーム板等が表示されない場合
Googleファミリーリンクで子供の端末の現在地がエラーで取得できない場合
【ウマ娘】「全身全霊」スキルを取得するには
【Anaconda3】指定した仮想環境でJupyter Notebookを動かす
【Windows PC】iPadが突然6桁のパスコードを要求してきて詰んだ場合の初期化法