34

Время в моей гостевой виртуальной машине быстрее, чем время хоста, примерно на 20-30 минут. Что я могу сделать, чтобы время в гостевой системе было таким же, как и на хосте?

3 ответа3

29

Следующая настройка позволяет моему гостю надежно поддерживать время с точностью до 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 . Если предположить, что гостевые дополнения были ранее установлены, эта служба была бы установлена и включена. На гостях 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

Если время на госте еще не синхронизировано, перезагрузите гостя.

14

Для хоста Linux сначала установите пакет DKMS (поддержка динамического модуля ядра) на гостевой машине (источник):

$ sudo apt-get install dkms

Затем установите Guest Additions в гостевую систему:

$ sudo apt-get install virtualbox-guest-additions

Также здесь приведены описания некоторых команд для настройки синхронизации времени VirtualBox.

1

Я даю другое решение для синхронизации времени между гостем и хостом без установки гостевого дополнения Virtualbox:

  1. Установите NTP на своем госте и удалите комментарии в этих строках в /etc/ntp.conf .
disable auth
broadcastclient
  1. Активируйте трансляцию на вашем хосте. Для пользователей linux отредактируйте файл /etc/ntp.conf и настройте строку
broadcast 192.168.123.255 

Для пользователей Windows активируйте услугу «Время Windows». Затем вы можете прочитать эту страницу, чтобы настроить его для вещания времени

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .