Я пытаюсь вручную установить время компьютера в VirtualBox, но оно всегда сбрасывается на то, что было до того, как я его изменил. Как я могу отключить ntp и сказать системе, во сколько я хочу, чтобы это было?
Я пытаюсь вручную установить время компьютера в VirtualBox, но оно всегда сбрасывается на то, что было до того, как я его изменил. Как я могу отключить ntp и сказать системе, во сколько я хочу, чтобы это было?
Ответы:
Я нашел решение. Прочитайте следующий материал: ссылка
В основном, если у вас есть хост Windows и гость Ubuntu, сделайте следующее:
Ubuntu 12.04 32bit
C:\Program Files\Oracle
папку и нажмите, VirtualBox
чтобы выбрать, затем, удерживая левую клавишу Shift, щелкните правой кнопкой мыши и выберите меню «Открыть командное окно здесь», переводчик должен быть запущен сейчасВставьте следующую команду (измените имя виртуальной машины на свое имя!):
VBoxManage setextradata "Ubuntu 12.04 32bit"
"VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
Наконец, запустите гостя Ubuntu и установите время и дату вручную.
vboxadd-service
необходимый дополнительный аргумент на госте, в основном--disable-timesync
Как упоминалось в другом ответе, если вы используете Ubuntu в качестве гостя в VirtualBox, вы должны знать, что системное время автоматически синхронизируется гостевыми дополнениями (т. Е. Не через параметр в настройках материнской платы).
Ваше решение в этом случае - отключить гостевые дополнения, чего можно добиться, выполнив
sudo service vboxadd-service stop
или
sudo /etc/init.d/vboxadd-service stop
Затем вы можете установить желаемое время (из командной строки, используя date --set
или используя апплет системных настроек)
Служба VirtualBox будет перезапущена при следующей перезагрузке, или вы можете сделать это вручную.
sudo service virtualbox-guest-utils stop
. Я думаю, пакет был переименован?
Хорошо, если вы хотите установить произвольные даты, сначала вы должны отключить или удалить ntp.
sudo update-rc.d -f ntp remove
После этого вы можете использовать команду date
-com для установки системного времени:
date -s "17 April 2011 12:34:56"
date --set="17 April 2011 12:34:56"
Обе команды эквивалентны. Чтобы установить только время, вы можете использовать:
date +%T -s "12:34:56"
date
-Manpage имеет некоторые элементы управления форматом. Вы можете использовать их все, чтобы изменить дату
Нажмите на раздел времени и даты на панели, затем появится календарь, и под ним есть Настройки времени и даты, поэтому щелкните по нему.
Нажмите на значок замка и введите свой пароль, затем выберите «Установить время вручную».
В Центре программного обеспечения найдите ntpdate и удалите его или в терминале: sudo apt-get remove ntpdate
(Возможно, вам придется перезагрузиться, чтобы полностью отключить NTP)
Затем установите свою дату.
На основе примера «.ps1» (сценарий Windows PowerShell), приведенного в
/superuser/539880/using-virtual-box-is-it-possible-to-set-your-virtual-machine-time-to-be-differen
Я написал обычный файл сценария ".bat", чтобы изменить время, в которое запускается виртуальная машина VirtualBox.
Желаемое время начала задается в переменной «TEMPO_START_TIMESTAMP» в формате эпохи. Вы можете получить желаемый эквивалент времени начала работы на сайте http://www.timestampconvert.com/ .
Имя виртуальной машины VirtualBox, которую нужно запустить, необходимо указать в переменной «NOME» (та же номенклатура, что и в сценарии «.ps1» выше).
echo off
echo %time%
set NOME="Windows_7_x64"
set TEMPO_CS_2_MS=0
set TEMPO_S_2_MS=000
rem # Starts the VM always on the date 07/11/2014 - 11h58
rem http://www.timestampconvert.com/
set TEMPO_START_TIMESTAMP=1415361480
for /f "delims=" %%x in ('cscript /nologo toEpoch.vbs') do set epoch=%%x
rem %epoch%
set TEMPO_CURRENT_TIMESTAMP=%epoch%
rem set TEMPO_CURRENT_TIMESTAMP=1544518714
set /A TEMPO_TEMP=(%TEMPO_START_TIMESTAMP%-%TEMPO_CURRENT_TIMESTAMP%)
call set TEMPO=%TEMPO_TEMP%%TEMPO_S_2_MS%
rem %TEMPO_TEMP%
rem %TEMPO%
c:\Progra~1\Oracle\VirtualBox\VBoxManage setextradata %NOME% "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
c:\Progra~1\Oracle\VirtualBox\VBoxManage modifyvm %NOME% --biossystemtimeoffset %TEMPO%
c:\Progra~1\Oracle\VirtualBox\VBoxManage startvm %NOME%
Вам также понадобится текущее время в формате epoh, для этого используйте следующий скрипт (за исключением «toEpoch.vbs», этот скрипт Visual Basic вызывается из скрипта «.bat» выше):
WScript.Echo DateDiff("s", "01/01/1970 00:00:00", Now())
Чтобы запустить виртуальную машину, просто запустите файл сценария ".bat" выше. Нет необходимости открывать интерфейс «Oracle VM VirtualBox Administration».
Надеюсь, это поможет.
С уважением