Como utilizar VHDMOUNT sin instalar virtual server y montar VHDs a golpe de clic

Hola

Ni que decir tiene que los VHDs son el máximo exponente de una máquina virtual. Pero no solo eso, sino que también los backups de Windows Vista usan ese formato. Y dado que sus especificaciones se licencian gratuitamente bajo la Open Specification Promise a todo aquel que quiera utilizarlo, muchos ISVs lo estan implementando de una u otra manera en sus productos.

He aqui un par de trucos para instalar solamente el componente VHDMOUNT que viene incluido en Virtual Server 2005 R2 SP1, y para una vez hecho esto poder montar los VHDs como si de un dísco físico se tratara mediante una acción que agregaremos al menú contextual de la extension .vhd. Para entendernos, clic con el botón derecho sobre el VHD, y seleccionar "Mount" o "Dismount". Generalmente esto se utiliza para modificar el contenido de los discos virtuales, pasarles antivirus, etc. Por ahora no se debe usar para hacer "offline patching" manualmente.

  1. Instalar VHDMOUNT (traducción del post original de Dave Northey)
    • Descargar el Setup.exe de Virtual Server 2005 R2 SP1 para la plataforma que vayamos a usar
    • Descomprimirlo a una carpeta para extraer el msi: setup.exe /c /t c:\Temp (elegir la carpeta deseada en lugar de c:\temp)
    • Instalar exclusivamente el componente VHDMOUNT: msiexec /i "Virtual Server 2005 Install.msi" /qn ADDLOCAL=VHDMount
  2. Agregar las opciones "Mount" y "Dismount" al menú contextual (traducción del post original de Micke Nyström, MVP de Suecia)
    • Generar un fichero .inf (p.e mount.inf) con el siguiente contenido:
      1. ;Adds a context menu for VHD files to be mounted by VHD mount from explorer, if you installed Virtual Server in an other location, please change the path.
        ;Created by mikael.nystrom@truesec.se
        ;version 1.0 2007-05-06

      2. [version]
        signature="$CHICAGO$"

      3. [DefaultInstall]
        AddReg=Reg

      4. [Reg]
        HKCR,".vhd",,,"Virtual.Machine.HD"
        HKCR,"Virtual.Machine.HD",,,"Virtual Machine Disk Image"
        HKCR,"Virtual.Machine.HD\DefaultIcon",,,"C:\Program Files\Microsoft Virtual Server\vssrvc.exe,3"
        HKCR,"Virtual.Machine.HD\shell\Mount\Command",,,"c:\program files\Microsoft Virtual Server\vhdmount\vhdmount.exe" /m /f %1"
        HKCR,"Virtual.Machine.HD\shell\DisMount\Command",,,"c:\program files\Microsoft Virtual Server\vhdmount\vhdmount.exe" /u %1"
        HKCR,"Virtual.Machine.HD\shell",,,"Mount"
        HKCR,"Virtual.Machine.HD",BrowserFlags,0x00010001,0x8
        HKCR,"Virtual.Machine.HD",EditFlags,0x00010001,0x0

    • NOTA: Es posible que necesites cambiar "Program Files" por "Archivos de Programa" y que prefieras cambiar las palabras "Mount" y "Dismount" por "Montar" y "Desmontar"
    • Hacer clic con el botón derecho en el .inf e instalarlo. En Windows Vista hay que tener en cuenta que VHDMOUNT requiere elevación de privilegios.
    • NOTA: Si se monta más de un VHD a la vez, hay que tener cuidado con las herramientas que utilicemos porque los disk numbers pueden coincidir

Saludos