web-dev-qa-db-fra.com

À l'aide de la boîte virtuelle, est-il possible de configurer l'heure de votre machine virtuelle pour qu'elle soit différente de l'heure de l'hôte

À l'aide de la boîte virtuelle, il est possible de configurer l'heure de votre machine virtuelle pour qu'elle soit différente de l'heure de l'hôte. Dis 1 an dans le passé.

Si je voulais exécuter les images windows XP fournies par Microsoft à partir d'ici.
http://www.Microsoft.com/en-us/download/details.aspx?displaylang=fr&id=11575

Il est noté pour l'image XP que:

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

C'est l'un des meilleurs moyens de tester IE 6 et IE 7. Autres XP tests typiques.

32
nelaaro

Ce n'est pas un problème du tout. N'oubliez pas de désactiver la synchronisation de l'heure dans les additions invité de VirtualBox, puis de définir la date et l'heure dans la machine virtuelle comme vous le souhaitez. Il existe également une option permettant d'accéder au BIOS virtuel et de définir la date et l'heure, si nécessaire lors de l'installation.

Cette commande désactive la synchronisation:
http://www.virtualbox.org/manual/ch09.html#disabletimesync

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

L'option suivante permet de définir un décalage en millisecondes: http://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvm

VBoxManage modifyvm "VM name" --biossystemtimeoffset <msec>
38
Stefan Seidel

Exemple de script 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
3
eliseu

D'après l'exemple ".ps1" (script Windows PowerShell) ci-dessus, j'ai écrit un fichier de script ".bat" standard pour modifier l'heure d'horloge à laquelle la machine virtuelle de VirtualBox démarre.

L'heure de début souhaitée est définie sur la variable "TEMPO_START_TIMESTAMP" au format Epoch. Vous pouvez obtenir votre équivalent epoh d’heure de début à l’adresse " http://www.timestampconvert.com/ ".

Le nom de la machine virtuelle de VirtualBox à démarrer est requis dans la variable "NOME" (même nom que celui utilisé dans le script ".ps1" ci-dessus).

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%

Vous aurez également besoin de l'heure actuelle au format epoh. Pour cela, utilisez le script suivant (enregistrez sous "toEpoch.vbs", ce script Visual Basic est appelé à partir du script ".bat" ci-dessus):

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

Pour exécuter la machine virtuelle, exécutez simplement le fichier de script ".bat" ci-dessus. Inutile d'ouvrir l'interface "Oracle VM VirtualBox Administration".

J'espère que ça aide.

Cordialement

0
Txane