Estou tentando definir manualmente o horário do computador no VirtualBox, mas ele sempre se redefine para o que era antes de eu o alterar. Como posso desativar o ntp e informar ao sistema que horas eu quero que ele seja?
Estou tentando definir manualmente o horário do computador no VirtualBox, mas ele sempre se redefine para o que era antes de eu o alterar. Como posso desativar o ntp e informar ao sistema que horas eu quero que ele seja?
Respostas:
Eu encontrei uma solução. Leia o seguinte material: link
Basicamente, se você possui host do Windows e convidado do Ubuntu, faça o seguinte:
Ubuntu 12.04 32bit
C:\Program Files\Oracle
pasta e clique VirtualBox
para selecionar, mantendo pressionada a tecla Shift esquerda, clique com o botão direito do mouse e selecione o menu "Abrir janela de comando aqui", o intérprete deve estar em execução agoraCole o seguinte comando (altere o nome da VM para seu nome!):
VBoxManage setextradata "Ubuntu 12.04 32bit"
"VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
Por fim, inicie o seu convidado do Ubuntu e defina a hora e a data manualmente.
vboxadd-service
necessário um argumento extra sobre o hóspede, principalmente--disable-timesync
Como mencionado em outra resposta, se você estiver executando o Ubuntu como convidado no VirtualBox, deve estar ciente de que a hora do sistema é automaticamente sincronizada pelas adições de convidados (ou seja, não através de uma opção nas configurações da placa-mãe).
Sua solução nesse caso é desativar as adições de convidados, que podem ser obtidas executando
sudo service vboxadd-service stop
ou
sudo /etc/init.d/vboxadd-service stop
Você pode definir o tempo conforme desejado (na linha de comando, usando date --set
ou usando o applet de configurações do sistema)
O serviço VirtualBox será reiniciado na próxima reinicialização ou você poderá fazê-lo manualmente.
sudo service virtualbox-guest-utils stop
. Eu acho que o pacote foi renomeado?
Bem, se você deseja definir datas arbitrárias, primeiro desabilite ou desinstale o ntp.
sudo update-rc.d -f ntp remove
Depois disso, você pode usar o date
comando-para definir a hora do sistema:
date -s "17 April 2011 12:34:56"
date --set="17 April 2011 12:34:56"
Ambos os comandos são equivalentes. Para definir apenas a hora que você pode usar:
date +%T -s "12:34:56"
A página date
-man tem mais alguns controles de formato. Você pode usá-los todos para alterar a data
Clique na seção hora e data do painel e, em seguida, o calendário aparecerá e, abaixo das configurações de hora e data, clique nele.
Clique no ícone do cadeado, digite sua senha e escolha Definir hora para manualmente.
No Centro de Software, procure ntpdate e remova-o, ou no terminal: sudo apt-get remove ntpdate
(Talvez seja necessário reiniciar para desativar totalmente o ntp)
Em seguida, defina sua data.
Com base no exemplo ".ps1" (script do Windows PowerShell) fornecido em
Eu escrevi um arquivo de script ".bat" regular para alterar a hora em que a máquina virtual do VirtualBox é iniciada.
O horário de início desejado é definido na variável "TEMPO_START_TIMESTAMP" no formato de época. Você pode obter o equivalente epoh da hora de início desejado em " http://www.timestampconvert.com/ ".
O nome da máquina virtual do VirtualBox a ser iniciada é necessário na variável "NOME" (o mesmo nome usado no script ".ps1" acima).
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%
Você também precisará da hora atual no formato epoh. Para isso, use o seguinte script (salve como "toEpoch.vbs", esse script visual basic é chamado a partir do script ".bat" acima):
WScript.Echo DateDiff("s", "01/01/1970 00:00:00", Now())
Para executar a máquina virtual, basta executar o arquivo de script ".bat" acima. Não é necessário abrir a interface "Oracle VM VirtualBox Administration".
Eu espero que isso ajude.
Saudações