Después de instalar o habilitar Hyper-V en su máquina host con Windows 11 o Windows 10, puede crear máquinas virtuales para ejecutar un sistema operativo diferente (SO invitado) para varios propósitos. En este post te mostraremos cómo iniciar y detener la máquina virtual Hyper-V usando PowerShell .
Cómo iniciar y detener la máquina virtual Hyper-V mediante PowerShell
El administrador de Hyper-V se puede usar para iniciar y detener manualmente su(s) máquina(s) virtual(es). El Inicio-VM y Detener-VM cmdlet en PowerShell inicia/detiene una máquina virtual. Los cmdlets disponibles en el módulo Hyper-V se pueden usar para iniciar/detener una o más máquinas virtuales que se ejecutan en hosts Hyper-V.
Para iniciar o detener una máquina virtual en Hyper-V mediante PowerShell, ejecute el siguiente cmdlet correspondiente. El comando inicia/detiene la máquina virtual VM-1 especificada por el parámetro VMName.
Start-VM -VMName VM-1
Stop-VM -VMName VM-1
De forma predeterminada, el cmdlet Start-VM no devuelve ningún resultado. Por lo tanto, puede usar el parámetro -PassThru para generar el resultado y pasarlo por la canalización y luego usar el cmdlet Get-VM para devolver el estado de la VM. La sintaxis correspondiente debería verse así:
Start-VM -VMName VM-1 -Passthru | Get-VM
Para guardar el estado de la VM y detenerlo, deberá usar el parámetro -Save como se muestra a continuación:
Stop-VM -VMName VM-1 -Save
Para iniciar o detener más de una máquina virtual en Hyper-V mediante PowerShell, ejecute el siguiente cmdlet correspondiente. El comando iniciará/detendrá todas las máquinas virtuales cuyos nombres comiencen con VM.
Start-VM -VMName VM*
Stop-VM -VMName VM*
Leer : Cómo instalar Linux Ubuntu en Hyper-V
Cómo detener una máquina virtual Hyper-V que no responde
Ocasionalmente, puede ser que sus máquinas virtuales Hyper-V se cuelguen cuando intenta apagarlas. Cuando ocurre este problema, en el Administrador de Hyper-V, verá las máquinas virtuales afectadas con un estado de Apagado que ya no responde. Además, no puede forzar el apagado de la máquina virtual con el comando PowerShell Stop-VM -Force o con los controles normales porque cuando el sistema operativo invitado deja de responder, los botones Apagar, Apagar y Restablecer en el Administrador de Hyper-V están atenuados y devuelven el siguiente error cuando se presionan:
La aplicación encontró un error al intentar cambiar el estado de la VM.
Error al cambiar de estado.
La operación no se puede realizar mientras el objeto está en su estado actual.
En este caso, en lugar de apagar (que es una forma de hacerlo, pero eso es solo una exageración) su servidor o PC si está usando el cliente Hyper-V, puede forzar el apagado de una VM que no responde usando los métodos a continuación:
- Potencia Shell
- Administrador de tareas o Explorador de procesos
Veamos los pasos involucrados para cada método.
Leer : Máquina virtual Hyper-V atascada en estado inicial
1]Detener una máquina virtual Hyper-V que no responde mediante PowerShell
- Abrir PowerShell en admin modo.
- Escriba el comando a continuación y presione Enter para obtener una salida de todos los GUID de su VM. Necesitará saber el nombre de la máquina virtual que no responde.
Get-VM
- Una vez que tenga el nombre de la máquina virtual, ejecute el siguiente comando. Sustituya el marcador de posición VM_NAME con el nombre de la VM que desea detener:
$VmGUID = ( Get-VM 'VM_NAME' ) .id
- A continuación, ejecute el siguiente comando para encontrar el ID de proceso de la VM. El comando usa el espacio de nombres Win32_Process del Instrumental de administración de Windows (WMI) para encontrar un proceso de CPU en ejecución que coincida con vmwp.exe y el GUID ($VmGUID) de su máquina virtual.
$VMWMProc = (Get-WMIObject Win32_Process | ? {$_.Name -match 'VMWP' -and $_.CommandLine -match $VmGUID})
- Una vez que tengamos el ID del proceso ($VMWMProc), puede ejecutar el cmdlet Stop-Process como se muestra a continuación para finalizar el proceso:
Stop-Process ($VMWMProc.ProcessId) –Force
Leer : Arreglar la máquina virtual Hyper-V atascada en estado de detención
2]Detenga una máquina virtual Hyper-V que no responde mediante el Administrador de tareas o el Explorador de procesos
Todas las máquinas virtuales en un host de Hyper-V se inician utilizando instancias de proceso vmwp.exe de Virtual Machine Worker Process que tendrá que eliminar si una máquina virtual se atasca. Para encontrar un PID de proceso específico, debe averiguar el GUID de la máquina virtual.
Para cualquiera de estos métodos, puede obtener el GUID de la máquina virtual mediante la consola del Administrador de Hyper-V.
- Abra la configuración del servidor Hyper-V.
- El Servidor La sección contiene el directorio donde se almacenan los archivos de configuración de la máquina virtual.
- Una vez que haya identificado la carpeta, navegue hasta el directorio en el Explorador de archivos.
- En la ubicación, busque la carpeta con el nombre de su máquina virtual atascada.
- Copie el GUID que se especifica en el nombre del archivo de configuración de VM con el
*.vmcx
extensión. - A continuación, abra el Administrador de tareas y vaya a la Detalles pestaña.
- Ahora, en el Usuario nombre columna, busque y elimine el proceso vmwp.exe que tiene el GUID de su VM que está atascado.
De manera similar, puede usar la herramienta Process Explorer para encontrar y detener un proceso de máquina virtual atascado en un host Hyper-V siguiendo estos pasos:
- Ejecute Process Explorer como administrador.
- A continuación, presione el botón Ctrl-F combinación de teclas o clic Buscar identificador o DLL .
- Especifique la ruta al disco virtual (*.vhdx) de la VM de Hyper-V que está atascada en el estado de inicio/detención.
- Process Explorer enumerará todos los procesos que utilizan el archivo VHDX de la máquina virtual.
- Ahora, ubique el proceso de la máquina virtual vmwp.exe.
- Haga clic derecho en el proceso y seleccione Proceso de matanza del menú.
Leer : Arreglar la máquina virtual Hyper-V atascada en estado guardado
Otra forma de forzar el apagado de una máquina virtual que no responde es detener el servicio de Hyper-V ejecutando el siguiente comando en un indicador elevado de PowerShell. El comando Restart-Service apagará por la fuerza todas las máquinas virtuales en ejecución en su servidor. Recuerde que reiniciar el servicio Hyper-V (vmms) puede llevar bastante tiempo. Por lo tanto, la operación puede tardar varios minutos en detenerse y luego reiniciarse nuevamente.
Get-Service vmms | Restart-Service
¡Eso es todo!
Lea a continuación: Cómo hacer que la máquina virtual Hyper-V se inicie automáticamente al inicio
¿Cómo verifico el estado de mi máquina virtual?
Para verificar el estado de una máquina virtual individual en VMware, haga lo siguiente:
- En vSphere Client, vaya a una máquina virtual.
- Sobre el Actualizaciones pestaña, haga clic Comprobar estado . La tarea de escanear entidad aparece en el panel Tareas recientes.
- Una vez finalizada la tarea, la información de estado aparece en los paneles VMware Tools y VM Hardware Compatibility.
¿Cómo sé si mi máquina virtual está inactiva?
En Google Cloudpara clasificar una máquina virtual como inactiva, se deben cumplir todas las condiciones siguientes:
- La utilización de la CPU es inferior a 0,03 vCPU para el 97 % del tiempo de ejecución de la máquina virtual.
- El tráfico de red recibido es inferior a 2600 bytes por segundo (B/s) durante el 95 % del tiempo de ejecución de la máquina virtual.
- El tráfico de red enviado es inferior a 1000 B/s durante el 95 % del tiempo de ejecución de la máquina virtual.
Leer : Cómo configurar el conmutador virtual en Hyper-V.