Mar*_*n K 9 virtualbox virtual-machine
我正在尝试使用 VB 设置用于培训课程的 Windows 7 VM。我希望虚拟机始终从相同的条件启动,特别是:
我已经研究出如何将磁盘配置为“不可变”,这应该处理 (2),但我无法同时启动 VM。环顾四周后,我发现了这个:
安装并启动后,Virtualbox Guest Additions 将尝试将访客时间与主机时间同步。这可以通过禁止访客服务读取主机时钟来防止:
VBoxManage setextradata "VM 名称" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
我在关闭 VM 并启动时尝试了此操作,但它似乎没有做任何事情。在同一个文档页面上,还提到了一个参数“--timesync-set-start”,但是我看不到任何关于设置日期和时间的格式的提及。欢迎提供帮助。
Mad*_*wyn 18
您需要执行以下操作才能使访客时间保持原样:
1.禁用虚拟机的时间同步:
1.1 禁用主机到访客时间同步
VBoxManage setextradata <YOUR_VM_NAME> "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
VBoxManage setextradata <YOUR_VM_NAME> "VBoxInternal/TM/TSCTiedToExecution" 1
Run Code Online (Sandbox Code Playgroud)
要恢复:
VBoxManage setextradata <YOUR_VM_NAME> "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 0
Run Code Online (Sandbox Code Playgroud)
1.2 禁用 GuestAddition 时间同步
使用 regedit.exe 修改注册表。
找到这个分支:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VBoxService
更改值ImagePath从
system32\VBoxService.exe
Run Code Online (Sandbox Code Playgroud)
到
system32\VBoxService.exe --disable-timesync
Run Code Online (Sandbox Code Playgroud)
重新启动您的 VM 或重新启动服务“VirtualBox Guest Additions Service”。
2.禁用Windows的时间同步。
检查时间设置。禁用互联网时间同步。
来源:http : //www.ppq.ch/snippets/15-vobxtime
如果主机是 Windows/Linux,以下步骤将起作用。
如果“目标机器”是 Windows:打开“目标虚拟机”并应用“控制面板 -> 日期和时间 -> Internet 时间 -> 更改设置 -> 禁用“与 Internet 时间服务器同步”。
在主机上将下面的行复制为文件“yourfilename.ps1”(Windows)/“yourfilename.sh”(Linux)。按照步骤 3.4.5 中的说明编辑此文件。
主持人:WINDOWS
Run Code Online (Sandbox Code Playgroud)$vbox_path="C:\Program Files\ORACLE\VirtualBox" $vm_name="Win7_VB" $start_utc=1444176000 #DO NOT CHANGE ANYTHING BELOW THIS LINE $now_utc_ms=[int64](([datetime]::UtcNow)-(get-date "1/1/1970")).TotalMilliseconds $dif_utc_ms=$start_utc * 1000 - $now_utc_ms Write-Host "START UTC:" $start_utc*1000 " DIF UTC:" $dif_utc_ms " NEW UTC:" $now_utc_ms cd $vbox_path VBoxManage setextradata $vm_name "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "0" VBoxManage setextradata $vm_name "VBoxInternal/TM/TSCTiedToExecution" 1 VBoxManage modifyvm $vm_name --biossystemtimeoffset $dif_utc_ms VBoxManage startvm $vm_name Start-Sleep -s 5
主机:LINUX
Run Code Online (Sandbox Code Playgroud)#!/bin/sh vbox_path="/usr/bin/" vm_name="Win7_VB" start_utc=1444176000 #DO NOT CHANGE ANYTHING BELOW THIS LINE now_utc_ms=$(($(date +%s)*1000)) dif_utc_ms=$(($(($start_utc * 1000)) - $now_utc_ms)) echo "START UTC:" $(($start_utc * 1000)) " DIF UTC:" $dif_utc_ms "NOW UTC:" $now_utc_ms cd $vbox_path VBoxManage setextradata $vm_name "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "0" VBoxManage setextradata $vm_name "VBoxInternal/TM/TSCTiedToExecution" 1 VBoxManage modifyvm $vm_name --biossystemtimeoffset $dif_utc_ms VBoxManage startvm $vm_name sleep 5

运行以下命令并以 [Y] 回答问题。(主办方:视窗)
Run Code Online (Sandbox Code Playgroud)Set-ExecutionPolicy RemoteSigned
右键单击“yourfilename.ps1”运行并选择“Run with PowerShell”以启动目标机器。(主办方:视窗)
启动 Linux 终端执行以下命令以启动目标机器(主机:Linux)
Run Code Online (Sandbox Code Playgroud)chmod +x yourfilename.sh && sh yourfilename.sh
注意:始终使用步骤 8(主机:Windows)/步骤 9(主机:Linux)运行目标虚拟机。
使用快照。
要创建新快照,只需使用快照概述中的拍摄快照按钮:

为快照命名并保存。
当您想要稍后启动固定状态时,请使用“恢复快照”按钮恢复到之前的快照:

如果要确保快照始终具有相同的日期,您可能需要通过取消选中时钟配置对话框中的与 Internet 时间服务器同步复选框来禁用Windows 中的Internet 时间同步。
| 归档时间: |
|
| 查看次数: |
36966 次 |
| 最近记录: |