关闭在无头 VirtualBox 中运行的 Ubuntu 服务器

关闭在无头 VirtualBox 中运行的 Ubuntu 服务器

我正在使用 运行 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。

相关内容