Usando a caixa virtual, é possível definir o horário da sua máquina virtual para ser diferente do horário do host

33

Usando a caixa virtual, é possível definir o horário da sua máquina virtual para ser diferente do horário do host. Diga 1 ano no passado.

Se eu quisesse executar as imagens do Windows XP fornecidas pela Microsoft a partir daqui.
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11575

Note-se para a imagem XP que:

Expires: This image will shutdown and become completely unusable on February 14, 2013.

É uma das melhores maneiras de testar o IE 6 e o ​​IE 7. Outros testes típicos do XP.

nelaaro
fonte
browsershots.org
ta.speot.is

Respostas:

38

Não tem problema nenhum. Lembre-se de desativar a sincronização da hora nas Adições de convidados do VirtualBox e defina a data + hora na máquina virtual como desejar. Também há uma opção para acessar o Virtual BIOS e definir a data e hora, se necessário no momento da instalação.

Este comando desativa a sincronização:
http://www.virtualbox.org/manual/ch09.html#disabletimesync

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

A opção a seguir permite definir um deslocamento em milissegundos: http://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvm

VBoxManage modifyvm "VM name" --biossystemtimeoffset <msec>
Stefan Seidel
fonte
Ok, como você faz isso?
N
Fazer o que? Por favor seja mais específico?
precisa saber é o seguinte
3
desative a sincronização da hora e vá para o BIOS virtual e defina a data e a hora lá
nelaaro
2
Desativar sincronização de horário: há uma caixa de seleção no VirtualBox Guest Additional. Como alternativa: virtualbox.org/manual/ch09.html#disabletimesync Para o BIOS: pressione F12 (acho) durante a inicialização da VM, e aqui estão as ferramentas de linha de comando descritas: betaarchive.com/forum/viewtopic.php?t=20071 em como alterar o tempo do BIOS.
Stefan Seidel
3

Exemplo de script do Windows PowerShell

startVM.ps1

# Starts the VM always on the date 12/30/2016

$tempo = ""+([datetime]"12/30/2016" - [datetime]::Now).TotalMilliseconds
$tempo = ""+[math]::Round($tempo)
$nome = "virtualMachineName"

& ${env:ProgramFiles}\Oracle\VirtualBox\VBoxManage setextradata $nome "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1

& ${env:ProgramFiles}\Oracle\VirtualBox\VBoxManage modifyvm $nome --biossystemtimeoffset $tempo

& ${env:ProgramFiles}\Oracle\VirtualBox\VBoxManage startvm $nome
eliseu
fonte
0

Com base no exemplo ".ps1" (script do Windows PowerShell) acima, escrevi um arquivo de script ".bat" regular para alterar a hora do relógio no qual 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 desejada 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

Txane
fonte