Forçar convidado do Ubuntu a atualizar a data do host do Windows no VirtualBox

3

Eu tenho o Ubuntu Server rodando como convidado em um host Windows usando o VirtualBox 3. O Ubuntu Server tem inclusões de convidado instaladas.

Para economizar um pouco de tempo ao usar essa imagem, suspendo em vez de desligando. Isso funciona bem, exceto pela data do relógio na máquina convidada.

Existe algum comando que eu possa executar no convidado depois que ele for restaurado para forçá-lo a definir o relógio do host subjacente?

    
por Rich 19.01.2011 / 14:22

3 respostas

2

Se você direcionar a conexão à Internet para o sistema operacional convidado, poderá usar ntpdate para sincronizar seu relógio com servidores de horário especiais, por exemplo,

sudo ntpdate ntp.ubuntu.com
    
por 19.01.2011 / 15:12
5

Como você tem um host do Windows, pode ter certeza de ter um servidor ntp em execução localmente: link

You can verify if the server is turned on by running the following command:

w32tm /query /configuration

Keep in mind that you will need to be elevated to run this command. When you execute this, you will get back a laundry list of configuration settings. We are specifically interested in the NtpServer section:

NtpServer (Local)
DllName: C:\Windows\system32\w32time.dll (Local)
Enabled: 1 (Local)
InputProvider: 0 (Local)
AllowNonstandardModeCombinations: 1 (Local)

The third line will specify whether or not the NtpServer (aka the ‘server piece’) is turned on. If Enabled is 1, then it’s on. If you see that Enabled is 0, then it is off. If you aren’t running Vista or Server 2008, you can query the registry directly:

 reg query HKLM\system\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer

You should see an entry that looks something like the following:

Enabled    REG_DWORD    0x1

As before, 1 is on, 0 is off. You can turn on the NtpServer at any time by running the following commands:

reg add HKLM\system\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer /v Enabled /t REG_DWORD /d 0x1 /f

w32tm /config /update

The first command will change the Enabled flag in the registry to 1 (turning on the NtpServer), then the second command will tell the w32time service that the configuration in the registry need to be re-read, to make the changes active. You can confirm that the NtpServer is in fact running by calling w32time again:

w32tm /query /configuration

Em seguida, use isso como seu servidor ntp de dentro do seu cliente Linux

ntpdate 10.0.2.2

(Lembre-se de que, ao executar o NAT, 10.0.2.2 é o endereço do host).

Eu mesmo estava procurando a resposta e achei isso útil, pois nosso firewall bloqueia a porta ntp padrão.

    
por 23.07.2012 / 11:52
0

Você deve instalar o Additions do VirtualBox Guest: link e remover qualquer ntp / ntpd instalado. Por favor, note que você tem um pacote no Ubuntu / Debian chamado virtualbox-guest-dkms que irá recompilar quando você atualizar o kernel, essa é a melhor maneira de instalar o Guest Additions.

O VirtualBox manterá a data ajustada, mesmo que você congele a VM por um longo tempo e a reinicie a partir do estado congelado. O NTP não pode fazer isso, já que ele deve rodar sem “pausa”.

Atualização: parece que é um erro: link

Atualização: Eu li o seguinte tópico: link

E parece que usar o seguinte no convidado ajudará (exatamente o oposto da pergunta do OP):

VBoxService --enable-timesync

O mais estranho é que, mesmo quando eu defino --timesync-set-on-restore 1 , o log mostra Guest Property: /VirtualBox/GuestAdd/VBoxService/--timesync-set-on-restore not found .

Mas parece funcionar um pouco melhor (se o relógio do host estiver certo).

    
por 21.10.2017 / 09:59