Hyper-V : Error de permisos en discos.

Hace un par de días me avisaron de que un hypervisor tenia algunos problemas.
Uno de ellos es que no se podía acceder a la consola desde el snap-in en MMC de Hyper-V.
El otro, es  que al reiniciar un par de VMs arrojaba un lindo error de permisos en los archivos .vhd.

An error occurred while attempting to start the selected virtual machine(s).

‘NombreVM’ failed to start. (Virtual machine ID ‘ID’)

‘NombreVM’ Microsoft Emulated IDE Controller (Instance ID ‘ID’): Failed to Power on with Error ‘General access denied error’ (0x80070005). (Virtual machine ID ‘ID’)

‘NombreVM’: IDE/ATAPI Account does not have sufficient privilege to open attachment ‘..\Hyper-V\Virtual hard disks\NombreDisco.vhd’. Error: ‘General access denied error’ (0x80070005). (Virtual machine ID ‘ID’)

‘NombreVM’:  Account does not have sufficient privilege to open attachment ‘..\Hyper-V\Virtual hard disks\Nombredisco.vhd. Error: ‘General access denied error’ (0x80070005). (Virtual machine ID ‘ID’)

monkey-business

Ahora … a separar todo!

El problema #1.

Primero, eso de que no se puede acceder a la consola de la vm desde MMC tiene dos soluciones:
1. Si tiene por ahí un SCCM, es cosa de reiniciar el servicio “Virtual Machine Manager”.
2. Si no tiene SSCM, entonces revise que el hypervisor tenga todos sus parches al día, el problema se resuelve con el KB2665347. Finalmente no olvide reiniciar. A veces el servicio de Hyper-V Manager se marea sin alcohol ni drogas … y ante ello no tenemos otra opción que el infalible reinicio 😉

El problema #2.
Cuando vemos un error de permisos no niego que lo más tentador es ir al directorio y abrir la pestaña Seguridad … cometer el error de primerizos y agregar el Everyone con Full Control es más tentador aún.

Pero como un maldito administrador del mismísimo demonio no cae en tentaciones no-carnales, la solución no va con un problema de permisos NTFS, si lo fuese otro gallo nos cantaría a la hora de querer iniciar la VM.
El problema es que Hyper-V asigna sus propios permisos a la hora de anexar un disco a una VM … y ya entenderá entonces que la solución no va por la pestaña Seguridad …

Primero : anote la ubicación del archivo físico que compone el disco (no quede como huevón y no pregunte si puede ser vhdx o vhd …). Seleccione la ruta y copie (presumo que sabe que se puede hacer con el menú contextual…).

Segundo : Elimine el disco desde las propiedades de la VM. (si no sabe como … péguese un tiro).

Tercero : Cree un nuevo disco (da igual si es IDE o SCSI), pero no se de el trabajo de crear un nuevo archivo, basta con que anexe el disco ya existente (y dígame que aún mantiene la ruta en el portapapeles!).

Cuarto : Inicie su máquina virtual.

Cual es la magia?? La magia es que Hyper-V asigna sus propios permisos via NTFS para poder iniciar la máquina, si es curioso (maldita ley Zamudio, no puedo reirme de usted si es bicurioso) vaya a ver la pestaña Seguridad NTFS y verá un nuevo grupo con su propio guid y llamado “Virtual Machines Manager” … y si … esa es la magia.
Al mover o reemplazar un vhd se pierden los permisos ACE que corresponden al VMid que maneja Hyper-V.

Encontré este script en PowerShell que hace lo mismo, pero la verdad es que por muy maldito administrador de sistemas del mismismo demonio que sea, creo que preferiría tirarme a una dominicana sin condón antes de tirar ese ps1 en un ambiente productivo…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *