![如何使 VirtualBox VM(运行 Ubuntu)在恢复其状态时运行命令?](https://linux22.com/image/1288038/%E5%A6%82%E4%BD%95%E4%BD%BF%20VirtualBox%20VM%EF%BC%88%E8%BF%90%E8%A1%8C%20Ubuntu%EF%BC%89%E5%9C%A8%E6%81%A2%E5%A4%8D%E5%85%B6%E7%8A%B6%E6%80%81%E6%97%B6%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9F.png)
我在 MacBook Pro 主机上运行一些 Ubuntu VM。
每当我暂停虚拟机或将其状态保存到磁盘时,下次重新启动它时,系统时钟就会不同步。
有没有办法让虚拟机知道它刚刚恢复,并运行命令?(例如,ntpdate -u time.nist.gov
以 root 身份运行就可以了)
我尝试修改中的脚本/etc/pm/sleep.d
,但这些脚本似乎没有在 VM 暂停/恢复时被调用。
答案1
对于此特定用途,Guest Additions 应该自动同步虚拟机的时钟。(请参阅“时间同步”http://www.virtualbox.org/manual/ch04.html或者如果你想要自定义它,http://www.virtualbox.org/manual/ch09.html#changetimesync) 当在主机上使用比 VirtualBox 版本更旧的客户机添加版本时,此更新可能已停止工作。
要安装或更新 Guest Additions,请使用主机上的相关菜单命令安装 Guest Additions CD 映像,然后在客户机上运行 CD 中的脚本。有关详细信息,请参阅以下说明http://www.virtualbox.org/manual/ch04.html#idp11850096。
答案2
最简单的解决方案是在服务器上安装 DKMS,它可以同步时间并执行许多其他有用的操作。这在我的 OSX 系统上运行,运行带有 Ubuntu VM Guest 的 VirtualBox。
我需要做的就是在我的虚拟机上运行这个:
sudo apt-get install virtualbox-guest-dkms
sudo reboot
人们可能需要适合其 Linux 版本的不同软件包。
Ubuntu DKMS 参考:https://help.ubuntu.com/community/DKMS