VirtualBox:如何同步主机和访客时间?


39

来宾VM中的时间比主机时间快约20-30分钟。我该怎么办,以使来宾中的时间与主持人上的时间相同?

Answers:



33

通过以下设置,我的客人可以可靠地将时间保持在与我的主机相差1秒以内的时间。它已在运行VirtualBox 4.3.26的主机和运行相同版本的VirtualBox Guest Additions的客户机上进行了测试。至于VirtualBox 5.x,到目前为止,我没有必要进行这些配置更改。时间已自动同步。

参考:https : //www.virtualbox.org/manual/ch09.html#changetimesync


在主机上,列出虚拟机以确定相关虚拟机的名称。

$ VBoxManage list vms | awk '{print $1}'
"CentOS6"

在主机上,通过运行以下命令为来宾配置时间同步参数。首先设置$VMNAME适当的值。如果的值$VMNAME包含空格,则应该用引号将其引起来。

$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-interval" 10000
$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-min-adjust" 100
$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-set-on-restore" 1
$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold" 1000

上面的时间参数的值已被限制为10的倍数。将其设置timesync-set-threshold为10000 可能很诱人,但是这可能会在触发时造成相当大的时间变化,因此可能会中断应用程序。


在主机上,查看来宾的更新的相关值。这些可以随时重新确认。

$ VBoxManage guestproperty enumerate ${VMNAME} | grep timesync | sort
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-interval, value: 10000, timestamp: 1402110397618554000, flags:
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-min-adjust, value: 100, timestamp: 1402110777505446000, flags:
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-set-on-restore, value: 1, timestamp: 1402110904964050000, flags:
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold, value: 1000, timestamp: 1402110660162295000, flags:

在来宾上,停止并禁用所有内部NTP和相关的计时服务。请勿使用它们,因为它们可能会干扰VirtualBox。在CentOS 6访客上:

$ sudo /sbin/chkconfig ntpd off
$ /sbin/chkconfig --list | grep ntp
ntpd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
ntpdate         0:off   1:off   2:off   3:off   4:off   5:off   6:off

在来宾上,重新启动名为的服务vboxadd-service。假设先前已安装Guest Additions,则该服务将已安装并启用。在CentOS 6访客上:

$ /sbin/service vboxadd-service status
Checking for VBoxService ...running
$ sudo /sbin/service vboxadd-service restart
Stopping VirtualBox Guest Addition service                 [  OK  ]
Starting VirtualBox Guest Addition service                 [  OK  ]
$ /sbin/service vboxadd-service status
Checking for VBoxService ...running

如果客户机上的时间尚未同步,请重新启动客户机。


谢谢!重新启动vboxadd-service服务的最后一步是使事情对我有用,并且似乎没有记录在案(至少在您提供的链接处)。
j_random_hacker

当我在CentOS 7 guest虚拟机上尝试此操作时,找不到vboxadd-service吗?这是最小安装,没有GUI。
Br.Bill

1

我提供了另一种解决方案,可在来宾和主机之间同步时间,而无需安装Virtualbox来宾添加:

  1. 在客户机上安装NTP,然后在中注释掉这些行/etc/ntp.conf
disable auth
broadcastclient
  1. 在主机上激活广播。对于linux用户,请编辑/etc/ntp.conf文件并配置该行
broadcast 192.168.123.255 

对于Windows用户,激活“ Windows Time”服务。然后,您可以阅读此页面以将其配置为广播时间


1
IP地址192.168.123.255有什么重要意义?
Br.Bill
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.