Как отключить синхронизацию времени VirtualBox внутри гостевой среды во время выполнения

У меня есть виртуальная машина VirtualBox, на которой работает Centos 6.5 с установленными гостевыми дополнениями, и мне нужно иметь возможность отключать и включать синхронизацию времени из гостя по желанию. По умолчанию гость синхронизирует свое время с хостом каждые 10 секунд [1], это функциональность, встроенная в гостевые дополнения.

Есть способы отключить синхронизацию времени, но они не соответствуют моим потребностям:

  1. Отключите синхронизацию времени при запуске виртуальной машины:

    VBoxManage setextradata "VM name" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1

  2. Отключите гостевые дополнения из виртуальной машины во время выполнения:

    sudo service vboxadd-service stop

Причины, по которым они не работают для меня:

  1. Первый вариант работает только при запуске - я должен быть в состоянии сделать это во время выполнения
  2. Второй вариант останавливает другие функции, которые мне нужны от гостевых дополнений

Когда я запускаю sudo VBoxControl guestproperty enumerate я не вижу ничего общего с синхронизацией времени.

Итак... способ отключить и включить синхронизацию времени из виртуальной машины VirtualBox без отключения vboxadd-service service, пожалуйста :)

[1] https://www.virtualbox.org/manual/ch09.html#disabletimesync - раздел 9.13.4.

Ответ 3

У меня есть виртуальная машина Ubuntu/Trusty64, которую я создал с помощью Vagrant. Мне пришлось отключить синхронизацию времени в гостевом дополнении virtualbox на виртуальной машине. Для этого я добавил VBOX_OPTS в /etc/init.d/virtualbox-guest-utils примерно так:

Отредактируйте /etc/init.d/virtualbox-guest-utils и вставьте эти строки:

if [ -n "$2" ]; then

 VBOX_OPTS="$VBOX_OPTS $2"

fi

изменить эту строку:

start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/VBoxService -- $VBOX_OPTS

Теперь остановись и запусти сервис вот так

sudo service virtualbox-guest-utils stop
sudo service virtualbox-guest-utils start --disable-timesync

Теперь я могу установить дату, которая мне нужна, и она остается такой до перезагрузки машины.

date -s "2024-02-22 22:41:49,332" && date --rfc-3339=ns
date
Sat Feb 22 23:27:31 EST 2024