За замовченням всі гості синхронізують свій годинник з хостом.
Іноді треба вимкнути цю синхронізацію. Наприклад коли треба змінити час в гостьової системи.
Для Windows хоста перейдіть до ‘C:\Program Files\Oracle\VirtualBox‘ (шлях може відрізнятись).
Заборонити гостю читати час хоста
VBoxManage setextradata 'ім’я-віртуалки' "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "1"
Також можна передати лічильник TSC гостю (бажано використовувати апаратну віртуалізацію)
VBoxManage setextradata ‘
ім’я-віртуалки'
“VBoxInternal/TM/TSCTiedToExecution” 1
Для від’єднання лічильника, виконайте команду ще раз, але заберіть одиницю в кінці.
В деяких випадках може з’явитись помилка (timing inconsistency), тоді треба відключити лічильник (залежить від ОС).
Вимкнення синхронізації з боку гостьового доповнення (Windows гість)
Перейдіть до гостя, та знайдіть гулку реєстру: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VBoxService
відкрийте параметр: ‘ImagePath‘
додайте ключ: ‘–disable-timesync‘
отримаєте щось на зразок: ‘system32\VBoxService.exe –disable-timesync‘
Керування швидкістю годинника
VBoxManage setextradata ‘ім’я-віртуалки’ “VBoxInternal/TM/WarpDrivePercentage” ‘відсотки’
Змінювати швидкість часу треба дуже обережно, бо це може призвести до помилки.
Після змін, перезавантажте гостьовий комп’ютер чи службу ‘VirtualBox Guest Additions Service’
Як було виявлено, вимкнення синхронізації погана ідея. Віртуальна машина не в змозі утримувати час навіть за наявності NTP клієнта.
Вирішенням є використання команди VBoxManage modifyvm “ім’я віртуалки” -biossystemtimeoffset “відхилення у мілісекундах” у тих випадках коли вам потрібно змінити час гостя. А синхронізацію часу з хостом краще повернути.
Джерела: офіційна документація та ppq.ch