Menggunakan kotak virtual apakah mungkin untuk mengatur waktu mesin virtual Anda menjadi berbeda dari waktu host

33

Menggunakan kotak virtual apakah mungkin untuk mengatur waktu mesin virtual Anda menjadi berbeda dari waktu host. Katakan 1 tahun ke masa lalu.

Jika saya ingin menjalankan gambar windows XP yang disediakan oleh Microsoft dari sini.
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11575

Dicatat untuk gambar XP bahwa:

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

Ini adalah salah satu cara yang lebih baik untuk menguji IE 6, dan IE 7. Tes khas XP lainnya.

nelaaro
sumber
browsershots.org
ta.speot.is

Jawaban:

38

Tidak masalah sama sekali. Ingatlah untuk menonaktifkan sinkronisasi waktu di VirtualBox Guest Additions, lalu atur tanggal + waktu di mesin virtual sesuka Anda. Ada juga opsi untuk masuk ke BIOS Virtual dan mengatur tanggal + waktu di sana, jika itu diperlukan pada waktu instalasi.

Perintah ini menonaktifkan sinkronisasi:
http://www.virtualbox.org/manual/ch09.html#disabletimesync

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

Opsi berikut memungkinkan untuk menetapkan offset dalam milidetik: http://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvm

VBoxManage modifyvm "VM name" --biossystemtimeoffset <msec>
Stefan Seidel
sumber
Ok, bagaimana Anda melakukannya.
nelaaro
Melakukan apa? Harap lebih spesifik?
Stefan Seidel
3
nonaktifkan sinkronisasi waktu & masuk ke Virtual BIOS dan atur tanggal + waktu di sana
nelaaro
2
Nonaktifkan sinkronisasi waktu: ada kotak centang di VirtualBox Guest Additional. Atau: virtualbox.org/manual/ch09.html#disabletimesync Untuk BIOS: tekan F12 (saya pikir) selama startup VM, dan berikut ini adalah alat-alat baris perintah yang dijelaskan: betaarchive.com/forum/viewtopic.php?t=20071 on cara mengubah waktu BIOS.
Stefan Seidel
3

Contoh skrip powerShell windows

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
sumber
0

Berdasarkan contoh ".ps1" (skrip Windows PowerShell) di atas, saya telah menulis file skrip ".bat" biasa untuk mengubah waktu jam di mana mesin virtual VirtualBox dimulai.

Waktu mulai yang diinginkan ditetapkan pada variabel "TEMPO_START_TIMESTAMP" dalam format zaman. Anda bisa mendapatkan setara waktu mulai epoh yang Anda inginkan di " http://www.timestampconvert.com/ ".

Nama mesin virtual VirtualBox yang akan dimulai diperlukan dalam variabel "NOME" (nomenchature yang sama yang digunakan dalam skrip ".ps1" di atas).

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%

Anda juga akan memerlukan waktu saat ini dalam format epoh, untuk ini gunakan skrip berikut (simpan sebagai "toEpoch.vbs", skrip visual basic ini dipanggil dari skrip ".bat" di atas):

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

Untuk menjalankan mesin virtual, cukup jalankan file skrip ".bat" di atas. Tidak perlu membuka antarmuka "Oracle VM VirtualBox Administration".

Saya harap ini membantu.

Salam

Txane
sumber