web-dev-qa-db-ja.com

仮想ボックスを使用すると、仮想マシンの時刻をホストの時刻とは異なる時刻に設定できます

仮想ボックスを使用すると、仮想マシンの時刻をホストの時刻とは異なる時刻に設定できます。過去1年と言います。

Windowsを実行したい場合XPここからMicrosoftが提供する画像。
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典型的なテスト。

34
nelaaro

全く問題ありません。 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>
39
Stefan Seidel

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

上記の「.ps1」(Windows PowerShellスクリプト)の例に基づいて、通常の「.bat」スクリプトファイルを記述して、VirtualBoxの仮想マシンが起動する時刻を変更しました。

希望する開始時刻は、エポック形式の変数「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%

また、現在の時刻をエポ形式で指定する必要があります。これには、次のスクリプトを使用します(「toEpoch.vbs」として保存します。このビジュアルベーシックスクリプトは、上記の「.bat」スクリプトから呼び出されます)。

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

仮想マシンを実行するには、上記の「.bat」スクリプトファイルを実行するだけです。 「Oracle VM VirtualBox管理」インターフェースを開く必要はありません。

これがお役に立てば幸いです。

よろしく

0
Txane
  • あなたはVBoxのパスにいるはずです、それはほとんどそのようです(C:\ Program Files\Oracle\VirtualBox)

  • virtual Boxを開き、[スタート]メニュー> [CMD]> [cd C:\ Program Files\Oracle\VirtualBox]から

  • プロンプトは次のようになりますC:\ Program Files\Oracle\VirtualBox>
  • 次に、次のコマンドを記述します。[VBox名を取得することを忘れないでください] VBoxManage setextradata "Put_your_VM_Name"
    "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
  • CMDでは完全なコマンドは次のようになります
    C:\ Program Files\Oracle\VirtualBox> VBoxManage setextradata "Put_your_VM_Name" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1

これらの手順を実装すると、VBoxの日付と時刻を変更できるようになります。

同期データと時刻のコマンド

幸運を

0
SunwayCo