web-dev-qa-db-ja.com

コマンドラインを使用してVirtualBoxでゲストOSを安全にシャットダウンする方法

Ubuntu 10.10を使用しており、VirtualBox 3.2を使用しています。ゲストOSとして、VirtualBoxに別のUbuntuがあります。

ホストUbuntuが起動したら、次のコマンドを使用してゲストUbuntuを自動的に起動します。

VBoxHeadless -startvm Ubuntu --vrdp on

その後、sshまたはtsclientでアクセスできます。

ホストUbuntuをシャットダウンしたら、ゲストUbuntuを自動的にシャットダウンする必要があります。コマンドラインでゲストUbuntuを自動的にシャットダウンする安全な方法を知っている人はいますか?ゲストOSをシャットダウンする2つの方法を見つけましたが、それらが安全かどうかはわかりません。それらは次のとおりです。

VBoxManage controlvm Ubuntu acpipowerbutton

または

VBoxManage controlvm Ubuntu poweroff
69
Bakhtiyor

Gnomeの電源管理設定を開くと、電源ボタンが押されたときに実行するアクションを設定できます。シャットダウンするように設定した場合、VBoxManage controlvm Ubuntu acpipowerbuttonコマンドで仮想電源ボタンを押すと、正常にシャットダウンします。

55
Egil

Vmを安全にシャットダウンするには、次のコマンドを使用します。

vboxmanage controlvm Ubuntu poweroff soft
16
menzer

サーバーがシャットダウンするときにvmをシャットダウンする場合は、vmを待つ必要があります

(このシェルスクリプトでは、「root」は呼び出し側であり、「theuser」は「thevm」の所有者です)

コマンドVBoxManage list runningvmsの出力が空の文字列を返すと、vmsが終了したことがわかります。

これをシェルスクリプトで使用します

...
stop(){
    su -c "VBoxManage controlvm thevm acpipowerbutton" -s /bin/bash theuser
    while [ "`su -c 'VBoxManage list runningvms' -s /bin/bash theuser`" != "" ]
    do
        echo waiting for VMs to shutdown
        sleep 3
    done
}
...
11
Jorge Sanchez

これをしないでください:

VBoxManage controlvm Ubuntu poweroff

これは、実際のコンピューターで電源プラグを抜くのと同じです。これはしたくない!

ACPIシャットダウン方法を使用する(Egilが示唆するような電源管理設定を確認する)か、状態保存方法(savestate)を試してください。

9
htorque

実際のハードウェアの電源を切るのと同じように、仮想Ubuntuの電源を切る必要があります。 sshセッションのコマンドラインからリモートで発行する場合:

Sudo poweroff

マシンの状態を保存する場合(サスペンド/ハイバネートと同様) @ htorque's answer の2番目のポイントを使用します。

6
Takkat