8 votos

Es posible obtener una VM Virtualbox siempre comienza del mismo tiempo, si es así ¿cómo?

Estoy tratando de usar VB para configurar un Windows 7 VM para su uso en un curso de formación. Quiero que la máquina virtual siempre al inicio de las mismas condiciones, en particular:

  1. La máquina virtual se inicia siempre en la misma fecha y hora
  2. El disco se mantiene sin cambios como resultado del ejercicio anterior

He trabajado como configurar un disco como "inmutable" que debe tomar el cuidado de (2), pero no puedo obtener la VM se inicie al mismo tiempo. Después de algunos mirando a su alrededor, encontré esto:

Una vez instalado e iniciado el Virtualbox Guest Additions se trate de sincronizar el invitado de tiempo con la hora de host. Esto se puede evitar prohibiendo el servicio al huésped de la lectura del reloj de host:

VBoxManage setextradata "nombre de máquina virtual" "VBoxInternal/Dispositivos/VMMDev/0/Config/GetHostTimeDisabled" 1

He intentado esto con la VM apagará, y con él se inició, pero no parece hacer nada. En la misma página de documentación también hay una mención de un parámetro "--timesync-set-inicio" sin embargo, yo no veo ninguna mención del formato para la configuración de fecha y hora. Ayuda sería bienvenida.

12voto

Madwyn Puntos 141

Usted debe realizar las siguientes acciones para hacer que los huéspedes tiempo que mantiene lo que era:

1.Desactivar la sincronización de tiempo de la máquina virtual:

1.1 Deshabilitar Huésped a Huésped Timesync

VBoxManage setextradata <YOUR_VM_NAME> "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1

VBoxManage setextradata <YOUR_VM_NAME> "VBoxInternal/TM/TSCTiedToExecution" 1

Para volver:

VBoxManage setextradata <YOUR_VM_NAME> "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 0

1.2 Deshabilitar GuestAddition Timesync

El uso de la regedit.exe para modificar el registro.

Encontrar esta rama: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VBoxService

Cambie el valor en ImagePath de

system32\VBoxService.exe

a

system32\VBoxService.exe --disable-timesync

Reinicie su máquina virtual o reiniciar el servicio "VirtualBox Guest Additions de Servicio".

2.Desactivar la sincronización de hora de Windows.

Compruebe la configuración de la hora. Desactivar la sincronización temporal.

Fuente: http://www.ppq.ch/snippets/15-vobxtime

2voto

yedpodtrzitko Puntos 2427

Siguientes pasos de trabajo, si el host de la máquina es de Windows.

  1. Si la "máquina de destino" es Windows: Abra el "objetivo de la máquina virtual" y aplicar "Panel de Control -> Fecha y Hora -> Tiempo de Internet -> Cambiar Configuración -> Desactivar "Sincronizar con un servidor horario de Internet"".
  2. Copiar líneas de abajo como archivo "yourfilename.ps1" en la máquina host (Windows). Editar este archivo como se describe en el paso 3. 4. 5.
    $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.exe modifyvm $vm_name --biossystemtimeoffset $dif_utc_ms
    .\VBoxManage.exe startvm $vm_name
    Start-Sleep -s 5
    
  3. Actualización de "vbox_path" con VirtualBox ruta de instalación.
  4. Actualización de "nombre_vm" con el nombre de VirtualBox Imagen que se pondrá en marcha.
  5. Actualización de "start_utc" con el uso de http://www.epochconverter.com/. Objetivo de la máquina comenzará siempre con "start_utc tiempo". Epoch Converter
  6. Abrir "Windows PowerShell" desde el Menú de Inicio como Administrador.
  7. Ejecutar el siguiente comando y respuesta pregunta [Y].
    Set-ExecutionPolicy RemoteSigned
    
  8. Ejecutar con el botón derecho haga clic en "yourfilename.ps1" y seleccione "Ejecutar con PowerShell" para iniciar la máquina de destino.

Nota: utilice Siempre el paso 8 para ejecutar objetivo de la máquina virtual.

0voto

OGP Puntos 101

El uso de las instantáneas.

  1. Para crear una nueva captura de pantalla, sólo tiene que utilizar el Tomar Instantáneas en el botón de Instantáneas de información general:

    enter image description here

  2. Nombre de la instantánea y guardarlo.

  3. Cuando se desea arrancar el estado fijo en un momento posterior, volver a la instantánea anterior con la Restauración de Instantáneas botón:

    enter image description here

Si desea asegurarse de que su instantánea siempre tiene la misma fecha, probablemente desee deshabilitar el internet el tiempo de sincronización en Windows desactivando la sincronización con un servidor horario de Internet casilla de verificación en el reloj de diálogo de configuración.

0voto

Bhishmar Puntos 11

Para responder a la OP (MartinK) Pregunta original: Es posible conseguir un Virtualbox VM empezar siempre desde el mismo tiempo, si es así, cómo?

Es posible simplemente por

(a) la Configuración de la "GetHostTimeDisabled" property =1, usando el comando VBoxManage en la línea de comandos (en el modo sin conexión, yo.e antes de iniciar la máquina virtual)

(b) Iniciar una máquina virtual, de un Guarda de Instantáneas tomadas antes. (en la hora deseada)

No hay más comandos que se requiere, cada vez que esto funciona. (probado en Windows Invitado en Windows Hosts)

Esta respuesta está más cerca de la anterior respuesta por Oliver Salzburgo, a excepción de que se perdió el "GetHostTimeDisabled" parametersetting. Curso de Internet de Sincronización de Hora (NTP) debe ser inhabilitado, en el guardado.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: