domingo, 3 de mayo de 2009

BOOT from VHD o bootear desde un archivo VHD…

Windows 7 tiene una característica que a mi parecer es muy muy muy interesante ya ustedes analizaran después que utilidad le pueden dar, pero les explicare como me es útil a mí.

A mi maquina actual (portátil) le instale el Windows 7 (claro!), y quería instalar también para probar el Windows Server 2008R2, sin embargo como no tengo mucho espacio en mi portatil y Windows 7 esta casi como mi sistema operativo principal (y en otra partición tengo los documentos, instalables, etc. que uso bastante) no tengo espacio para poder hacer otra partición y probar ahí el Windows Server 2008R2, sin embargo Windows 7 (como también el Win2008R2) tiene la opción llamada "boot from VHD" o bootear desde un archivo VHD, el archivo (video) que explica esto lo encuentran aca que es de microsoft. Las partes más importantes y además que probé en mi maquina lo explico a continuación.

Necesitamos una herramienta de Microsoft, que es el WAIK (for Windows 7 RC)… esta nos preverá de la herramienta ImageX, (esta herramienta nos ayudara a capturar imágenes, aplicarlas, montar archivos, desmontarlos, sacar información de las imágenes, etc., esta es una herramienta gratuita que la puedes bajar de Microsoft, una vez que bajes y lo instales podrás obtener esta herramienta el ImageX.

El proceso que sigue creara un archivo VHD de 25GB donde se copiara el install.WIM image que tiene el DVD de Windows2008R2RC a nuestro VHD y luego convertiremos el VHD para que pueda ser booteable. El requisito es que estes utilizando Windows 7 o Windows Server 2008R2. Este procedimiento es desde mi maquina Windows 7.

Primero crearemos un VHD disk (llamado win2k8R2RC) de 25GB de espacio en mi drive D:, en un folder (ya existente) llamado VHDFILES.

Ejecutar con privilegios administrator el command prompt y escribir los siguientes comandos:

diskpart
Create vdisk file=D:\VHDFILES\win2k8r2rc.vhd maximum=25000 type=fixed
(aca tomara su tiempo en crear el disco de 25GB en nuestro caso)
Sel vdisk file=D:\vhdfiles\win2k8r2rc.vhd
Attach vdisk
List disk

Pueden apreciar que despues de esta serie de comandos el disco (Disk 2) ya aparece en la maquina (con 24GB) solo falta inicializarlo en ese caso.

  • Sel Disk 2

Acá se selecciona el disco 2 ya que es el disco que creamos, en su caso puede variar todo depende cuantos discos tienen disponibles.

  • Create part primary
  • Sel part 1
  • Active
  • Format fs=ntfs quick
  • Assign


    Una vez ejecutado esta serie de imágenes, tenemos el disco VHD listo y montado en nuestra maquina (como Drive H:)
  • Ahora usaremos el imagex para colocar la imagen WIM del DVD de Windows 2008 R2 RC (en mi caso en el drive G dentro del directorio con el mismo nombre que el DVD se encuentra descompreso todo el ISO). Analizamos el WIM image con el siguiente comando:

    Imagex /info G:\en_windows_server_2008_r2_datacenter_enterprise_standard_web_rc_x64_dvd_347937\sources\install.wim

    Este comando nos permite ver las opciones que se encuentran para la imagen de Windows Server 2008R2, por ejemplo el IMAGE INDEX 3 es la versión que queremos para Win2008R2 Enterprise Edition.

    Entonces seleccionaremos esta imagen (opción 3) para aplicar al WIM, se utiliza el siguiente comando:

    …>imagex /apply G:\en_windows_server_2008_r2_datacenter_enterprise_standard_web_rc_x64_dvd_347937\sources\install.wim /check 3 H:\


    Tengan en cuenta que el /check 3 ß el número 3 es porque queremos esa opción (ver anterior Index) y el H:\ es nuestro VHD que esta temporalmente visible. Es importante darle solo la raíz (H:\) para que se aplique directamente el WIM image al Vhd que está representado en este caso por el drive H.

    Ahora se podría ir al drive H: (con el explorador), para ver que todo fue copiado correctamente ahí.

    Bueno ahora ya tenemos todo configurado correctamente, solo nos faltaría 'decirle' al programa que arranque (haga boot) desde el VHD.

    Para eso primero hacemos desaparecer el drive H (montado)

    Diskpart
    Select vdisk file=d:\vhdfiles\win2k8r2rc.vhd
    Detach vdisk

    Exit

    Ejecutamos el comando


    Bcdedit

    (vean el boot manager configurado con el actual operating system que va al partition C:) . Crearemos un Nuevo entry para el nuevo vhd file copiando este ultimo

    Bcdedit /copy {current} /d "Boot From VHD"


    Importante es tomar nota del GUID identifier en este caso e2ec434d, etc. En su caso esto va variar!, tomen nota de su identificador que tendrán

    Ahora ejecutar los comandos:

    Bcdedit /set {e2ec434d-36b6-11de-83e8-e0880282a3b4} device vhd=[D:]\vhdfiles\win2k8r2rc.vhd

    (revisar que se ejecute correctamente)

    Bcdedit /set {e2ec434d-36b6-11de-83e8-e0880282a3b4} osdevice vhd=[D:]\vhdfiles\win2k8r2rc.vhd

    (verificar nuevamente que se haya ejecutado correctamente)

    Y finalmente:

    Bcdedit /set {e2ec434d-36b6-11de-83e8-e0880282a3b4} detecthal on
    Bcdedit /set {e2ec434d-36b6-11de-83e8-e0880282a3b4} description "VHD Boot"


    Así se llega a esta configuración:


    Ahora es solo reiniciar y bootear desde nuestro VHD file (saldrá en la lista de opciones boot from VHD).!

    8 comentarios:

    vladimirr dijo...

    Wuuuuuaaaauuuu esto me parece genial...!!!! esta opcion solo esta disponible solo para archivos vhd??

    Miklos Cari dijo...

    Podria responder con un SI, sin embargo este archivo VHD (que lo crea los sistemas de virtualizacion como el Virtual Server o el Virtual PC), no son compatibles, es mejor utilizar un Hyper-V VHD. Ahora esto solo sirve con sistemas operativos Windows 7 y Windows Server 2008R2 (es decir solo bootea con esos OSs), no funciona con versiones anteriores...

    jmm dijo...

    quisiera preguntarte si en el vhd puedo tener instalado un windows XP aunque el sistema base sea un Windows 2008 R2

    Miklos Cari dijo...

    No, el boot desde el VHD solamente funciona con: Windows 7 Enterprise/Ultimate y Server 2008 R2(ya sea para VHD y para componentes del host OS)

    Anónimo dijo...

    Excelente!

    Jemch dijo...

    ¿Cuántos sistemas VHD puedo tener iniciando al tiempo?

    Aquí el ejemplo sólo está para 1 archivo VHD.

    Miklos Cari dijo...

    Hola Jemch.
    Muy Buena pregunta… no me hice anteriormente esta.. sin embargo te puedo decir que yo personalmente tengo en mi equipo mas de 5 VHD.. dos de Windows 7 y otros 3 para Windows Server 2008 R2... bueno ahora inclui uno Nuevo para Windows 8.. y todos funcionan sin problema… sin embargo si encuentras el limite dejame saber.. en todo caso si tengo novedades al respecto hare conocer.. gracias por tan Buena pregunta!!!

    Matthew dijo...

    haber si me contestan D:
    alguien a probado esto en una maquina que tenga previo instalados Windows 7 mas alguna version de Linux, ej. CentOS 6.4, con eso del GRUB no habria problema a la hora de crear el Booteo de VHD?

    Publicar un comentario