Virtualization

如何使用 VBoxManage 執行受控關閉虛擬機來賓?

  • January 23, 2014

我目前正在測試 Ubuntu 10.04,並且已經安裝了 VirtualBox 軟體。我還安裝了 Ubuntu 10.04 作為在主機系統上執行的 VirtualBox 來賓。

我已將 VirtualBox Utils 安裝到來賓作業系統中,如下所示:

sudo apt-get install virtualbox-ose-guest-utils

我想要做的是使用 VBoxManage 命令從主機系統啟動來賓的受控關閉。

我首先嘗試了這個命令:

VBoxManage controlvm guest poweroff

這有效,但沒有啟動受控關機,它有效地拔掉了客人的插頭。

從那以後我發現這個命令應該可以解決問題:

VBoxManage controlvm guest acpipowerbutton

但這似乎沒有任何作用。

誰能告訴我我做錯了什麼?

ps 我不想使用 SSH 和證書來執行此操作,因為我還將執行 Windows 來賓,並且我希望該解決方案適用於所有來賓。

編輯:剛剛發現這篇建議將 acpid 安裝到來賓中的文章,但是剛剛完成此操作並重新啟動系統,它似乎沒有任何區別,因為主機似乎仍然接受該命令,但沒有任何反應客人。

第二次編輯:acpi powerbutton 事件配置如下:

# /etc/acpi/events/powerbtn
# This is called when the user presses the power button and calls
# /etc/acpi/powerbtn.sh for further processing.

# Optionally you can specify the placeholder %e. It will pass
# through the whole kernel event message to the program you've
# specified.

# We need to react on "button power.*" and "button/power.*" because
# of kernel changes.

event=button[ /]power
action=/etc/acpi/powerbtn.sh

上面的shell腳本(/etc/acpi/powerbtn.sh)存在

我討厭發布自己問題的答案,但我找到了解決方案……

只需將 acpi-support 安裝到來賓中。

apt-get install acpi-support

我認為 acpid 就足夠了,但似乎還不夠。

我現在可以發出 VBoxManage 命令以從主機發送 ACPIPowerButton 事件,該事件現在可以乾淨地對來賓執行關閉。

謝謝大家的建議。

您的客人是否配置為在收到 acpipowerbutton 信號時關機?

引用自:https://serverfault.com/questions/137850