我正在使用 运行 Ubuntu Server VBoxHeadless
。如何通过 VirtualBox 发送 ACPI 关机信号并让 Ubuntu Server 尊重并遵守关机信号?
答案1
如果您想关闭客户 Ubuntu,您有两个选择:
使用 VBoxManage 关闭客户机
可以使用命令行工具通过命令行控制虚拟机VBoxManage
:
VBoxManage controlvm [nameofmachine] savestate # saves the state of the VM like in suspend
VBoxManage controlvm [nameofmachine] poweroff # simply "unplugs" the VM
VBoxManage controlvm [nameofmachine] acpipowerbutton # sends ACPI poweroff signal
要通过 ACPI 关闭电源,虚拟操作系统需要具备此功能,并且 VirtualBox 可能还需要为虚拟机启用 ACPI 支持。
启用 VirtualBox ACPI 选项:
VBoxManage modifiedvm [计算机名称] --acpi on
在 Ubuntu VM 中安装 ACPI 支持:
sudo apt-get 安装 acpid
从 SSH 关闭客户机
如果你有 SSH 访问权限,关闭机器的一个更安全的方法是发出
user@virtualmachine: sudo poweroff
这将确保安全关闭并关闭您的客户操作系统。
答案2
我找到了这个这里并对其进行了测试——效果很好。
/usr/bin/net rpc shutdown -f -t 1 -I XXX.XXX.XXX.XXX -U <shutdown_acc>%<password>
假定主机上安装了 samba。