Mit Hilfe der virtuellen Box können Sie die Zeit Ihrer virtuellen Maschine von der Host-Zeit unterscheiden


33

Mit der virtuellen Box können Sie die Zeit Ihrer virtuellen Maschine von der Host-Zeit unterscheiden. Sprich 1 Jahr in die Vergangenheit.

Wenn ich die von Microsoft bereitgestellten Windows XP-Abbilder von hier ausführen wollte.
http://www.microsoft.com/en-us/download/details.aspx?displaylang=de&id=11575

Für das XP-Image gilt Folgendes:

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

Dies ist eine der besseren Möglichkeiten, IE 6 und IE 7 zu testen. Andere XP-typische Tests.


Antworten:


38

Das ist überhaupt kein Problem. Denken Sie daran, die Zeitsynchronisierung in den VirtualBox Guest Additions zu deaktivieren, und stellen Sie dann das Datum und die Uhrzeit in der virtuellen Maschine nach Ihren Wünschen ein. Es besteht auch die Möglichkeit, das virtuelle BIOS aufzurufen und dort Datum und Uhrzeit einzustellen, falls dies zum Zeitpunkt der Installation erforderlich ist.

Dieser Befehl deaktiviert die Synchronisierung:
http://www.virtualbox.org/manual/ch09.html#disabletimesync

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

Mit der folgenden Option können Sie einen Offset in Millisekunden festlegen: http://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvm

VBoxManage modifyvm "VM name" --biossystemtimeoffset <msec>

Ok wie machst du das
Nelaaro

Was ist zu tun? Bitte sei spezifischer?
Stefan Seidel

3
Deaktivieren Sie die Zeitsynchronisation und rufen Sie das virtuelle BIOS auf und stellen Sie dort Datum und Uhrzeit ein
nelaaro

2
Zeitsynchronisierung deaktivieren: In VirtualBox Guest Additional befindet sich ein Kontrollkästchen. Alternativ: virtualbox.org/manual/ch09.html#disabletimesync Für das BIOS : Drücken Sie F12 (glaube ich) während des VM-Starts. Hier sind die Befehlszeilentools beschrieben: betaarchive.com/forum/viewtopic.php?t=20071 on wie man die BIOS-Zeit ändert.
Stefan Seidel

3

Beispiel eines Windows PowerShell-Skripts

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

0

Basierend auf dem obigen Beispiel ".ps1" (Windows PowerShell-Skript) habe ich eine reguläre ".bat" -Skriptdatei geschrieben, um die Uhrzeit zu ändern, zu der die virtuelle Maschine der VirtualBox gestartet wird.

Die gewünschte Startzeit wird bei der Variablen "TEMPO_START_TIMESTAMP" im Epochenformat eingestellt. Sie können Ihre gewünschte Startzeit auf " http://www.timestampconvert.com/ " abrufen. " .

Der Name der zu startenden virtuellen Maschine der VirtualBox wird in der Variablen "NOME" benötigt (die gleiche Bezeichnung wie im obigen ".ps1" -Skript).

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%

Sie benötigen außerdem die aktuelle Uhrzeit im epoh-Format. Verwenden Sie hierzu das folgende Skript (speichern Sie es unter "toEpoch.vbs". Dieses Visual Basic-Skript wird aus dem obigen ".bat" -Skript aufgerufen):

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

Um die virtuelle Maschine auszuführen, führen Sie einfach die obige ".bat" -Skriptdatei aus. Es ist nicht erforderlich, die Oberfläche "Oracle VM VirtualBox Administration" zu öffnen.

Ich hoffe das hilft.

Grüße

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.