El uso de virtual box es posible configurar el tiempo de su máquina virtual para que sea diferente del tiempo del host

33

El uso de virtual box es posible configurar la hora de su máquina virtual para que sea diferente de la hora del host. Decir 1 año en el pasado.

Si quisiera ejecutar las imágenes de Windows XP proporcionadas por Microsoft desde aquí.
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11575

Se destaca para la imagen XP que:

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

Es una de las mejores formas de probar IE 6 e IE 7. Otras pruebas típicas de XP.

nelaaro
fuente
browsershots.org
ta.speot.is

Respuestas:

38

No hay problema en absoluto. Solo recuerde deshabilitar la sincronización horaria en VirtualBox Guest Additions, luego configure la fecha + hora en la máquina virtual como desee. También hay una opción para ingresar al BIOS virtual y establecer la fecha y hora allí, si es necesario en el momento de la instalación.

Este comando deshabilita la sincronización:
http://www.virtualbox.org/manual/ch09.html#disabletimesync

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

La siguiente opción permite establecer un desplazamiento en milisegundos: http://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvm

VBoxManage modifyvm "VM name" --biossystemtimeoffset <msec>
Stefan Seidel
fuente
Ok, ¿cómo haces eso?
nelaaro
¿Hacer qué? ¿Por favor sé más específico?
Stefan Seidel
3
deshabilite la sincronización horaria e ingrese al BIOS virtual y configure la fecha y la hora allí
nelaaro
2
Desactivar sincronización de tiempo: hay una casilla de verificación en el VirtualBox Guest Adicional. Alternativamente: virtualbox.org/manual/ch09.html#disabletimesync Para el BIOS : presione F12 (creo) durante el inicio de VM, y aquí están las herramientas de línea de comandos descritas: betaarchive.com/forum/viewtopic.php?t=20071 en cómo cambiar el tiempo del BIOS.
Stefan Seidel
3

Ejemplo de un script de 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
fuente
0

Basado en el ejemplo ".ps1" (secuencia de comandos de Windows PowerShell) anterior, he escrito un archivo de secuencia de comandos ".bat" para cambiar la hora del reloj en la que se inicia la máquina virtual de VirtualBox.

El tiempo de inicio deseado se establece en la variable "TEMPO_START_TIMESTAMP" en formato de época. Puede obtener el tiempo de inicio deseado equivalente a epoh en " http://www.timestampconvert.com/ ".

El nombre de la máquina virtual de VirtualBox que se va a iniciar se necesita en la variable "NOME" (misma nomenchature utilizada en el script ".ps1" anterior).

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%

También necesitará la hora actual en formato epoh, para esto use el siguiente script (guarde como "toEpoch.vbs", este script visual básico se llama desde el script ".bat" anterior):

WScript.Echo DateDiff("s", "01/01/1970 00:00:00", Now())

Para ejecutar la máquina virtual, simplemente ejecute el archivo de script ".bat" anterior. No es necesario abrir la interfaz "Administración de Oracle VM VirtualBox".

Espero que esto ayude.

Saludos

Txane
fuente