가상 박스를 사용하면 가상 머신 시간을 호스트 시간과 다르게 설정할 수 있습니다 경우 다음과 같이

가상 상자를 사용하면 가상 머신 시간을 호스트 시간과 다르게 설정할 수 있습니다. 과거로 1 년을 말하십시오.

Microsoft에서 제공 한 Windows XP 이미지를 여기에서 실행하려면
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11575

XP 이미지의 경우 다음과 같이 나타납니다.

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

IE 6 및 IE 7을 테스트하는 더 좋은 방법 중 하나입니다. 기타 XP 일반 테스트.



답변

전혀 문제 없습니다. VirtualBox Guest Additions에서 시간 동기화를 비활성화 한 다음 가상 머신에서 원하는 날짜와 시간을 설정하십시오. 설치시 필요할 경우 가상 BIOS로 이동하여 날짜 및 시간을 설정하는 옵션도 있습니다.

이 명령은 동기화를 비활성화합니다 :
http://www.virtualbox.org/manual/ch09.html#disabletimesync

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

다음 옵션을 사용하면 밀리 초 단위로 오프셋을 설정할 수 있습니다.
http://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvm

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


답변

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


답변

위의 “.ps1″(Windows PowerShell 스크립트) 예제를 기반으로 VirtualBox의 가상 컴퓨터가 시작되는 시간을 변경하기 위해 일반 “.bat”스크립트 파일을 작성했습니다.

원하는 시작 시간은 에포크 형식의 변수 “TEMPO_START_TIMESTAMP”에 설정되어 있습니다. ” http://www.timestampconvert.com/ ” 에서 원하는 시작 시간을 얻을 수 있습니다 .

시작될 VirtualBox 가상 머신의 이름은 변수 “NOME”(위의 “.ps1″스크립트에서 사용 된 것과 동일한 명명법)에 필요합니다.

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%

현재 시간을 epoh 형식으로 사용해야합니다. 이렇게하려면 다음 스크립트를 사용하십시오 ( “toEpoch.vbs”로 저장,이 시각적 기본 스크립트는 위의 “.bat”스크립트에서 호출 됨).

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

가상 머신을 실행하려면 위의 “.bat”스크립트 파일을 실행하십시오. “Oracle VM VirtualBox 관리”인터페이스를 열 필요가 없습니다.

이게 도움이 되길 바란다.

문안 인사


답변