Sử dụng hộp ảo là có thể đặt thời gian máy ảo của bạn khác với thời gian máy chủ


33

Sử dụng hộp ảo là có thể đặt thời gian máy ảo của bạn khác với thời gian máy chủ. Nói 1 năm vào quá khứ.

Nếu tôi muốn chạy các hình ảnh Windows XP do Microsoft cung cấp từ đây.
http://www.microsoft.com/en-us/doad/details.aspx?displaylang=en&id=11575

Nó được ghi chú cho hình ảnh XP rằng:

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

Đây là một trong những cách tốt hơn để kiểm tra IE 6 và IE 7. Các thử nghiệm điển hình khác của XP.


Câu trả lời:


38

Không có vấn đề gì cả. Chỉ cần nhớ tắt đồng bộ hóa thời gian trong VirtualBox Guest Additions, sau đó đặt ngày + giờ trong máy ảo theo ý muốn. Ngoài ra còn có một tùy chọn để đi vào BIOS ảo và đặt ngày + thời gian ở đó, nếu cần thiết khi cài đặt.

Lệnh này vô hiệu hóa đồng bộ hóa:
http://www.virtualbox.org/manual/ch09.html#disabletimesync

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

Tùy chọn sau cho phép đặt độ lệch tính bằng mili giây: http://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvm

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

Ok làm thế nào để bạn làm điều đó.
nelaaro

Làm gì? Xin hãy cụ thể hơn?
Stefan Seidel

3
vô hiệu hóa đồng bộ hóa thời gian và đi vào BIOS ảo và đặt ngày + thời gian ở đó
nelaaro

2
Vô hiệu hóa đồng bộ hóa thời gian: có một hộp kiểm trong VirtualBox Guest Bổ sung. Ngoài ra: virtualbox.org/manual/ch09.html#disabletimesync Đối với BIOS: nhấn F12 (tôi nghĩ) trong quá trình khởi động VM và đây là các công cụ dòng lệnh được mô tả: betaarchive.com/forum/viewtopic.php?t=20071 trên Làm thế nào để thay đổi thời gian BIOS.
Stefan Seidel

3

Ví dụ về tập lệnh powerShell của 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

0

Dựa trên ví dụ ".ps1" (tập lệnh Windows PowerShell) ở trên, tôi đã viết tệp tập lệnh ".bat" thông thường để thay đổi thời gian đồng hồ khởi động máy ảo của VirtualBox.

Thời gian bắt đầu mong muốn được đặt ở biến "TEMPO_START_TIMESTAMP" ở định dạng epoch. Bạn có thể có được thời gian bắt đầu epoh mong muốn tương đương tại " http://www.timestampconvert.com/ ".

Tên của máy ảo VirtualBox sẽ được khởi động là cần thiết trong biến "NOME" (cùng một kiểu chữ được sử dụng trong tập lệnh ".ps1" ở trên).

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%

Bạn cũng sẽ cần thời gian hiện tại ở định dạng epoh, vì điều này sử dụng tập lệnh sau (lưu dưới dạng "toEpoch.vbs", tập lệnh cơ bản trực quan này được gọi từ tập lệnh ".bat" ở trên):

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

Để chạy máy ảo, chỉ cần thực hiện tệp tập lệnh ".bat" ở trên. Không cần mở giao diện "Quản trị Oracle VM VirtualBox".

Tôi hi vọng cái này giúp được.

Trân trọng

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.