Booteo Nativo de VHD con Powershell y Windows 7

Hola a todos
Quizás este post no es muy novedoso, pero después de varios intentos infructuosos siguiendo manuales me decidí a hacer uno yo 🙂

Primero que todo tiene que tener a mano el DVD de Windows Server 2008 o Windows 7

Descargar un script de Powershell desde http://code.msdn.microsoft.com/InstallWindowsImage

Manos a la obra

1) Nos creamos un disco Duro VHD de unos 10 GB para probar de expansión dinámica

a)Desde el administrador de Discos seleccionamos “Crear VHD

image
b) Le damos la ruta EJ: H:2008VHD.vhd de 10GB de expansión Dinámica

image

c) Inicializamos el disco y lo formateamos
image image

Como se dan Cuenta quedo NTFS en la letra F:

d) ahora ocupamos nuestro archivo descargado de PowerShell
Install-WindowsImage.ps1

OJO que el powershell lo deben ejecutar como administrador

Si al ejecutar el script ven el siguiente error es por la seguridad de ejecución de los scripts en powershell

image

Para solucionar el problema cambie se seteo de ejecución de scripts con el comando Set-ExecutionPolicy Unrestricted

e) Ahora inserte el DVD de Windows 7 “en mi caso G:”

.Install-WindowsImage.ps1 -WIM G:sourcesinstall.wim

Con esto nos deberia mostar la lista de sistema operativos con indices que puede cargar este dvd.

Index   Image Name
[1]     Windows 7 Enterprise

Done.

En el caso de Windows Server 2008 R2

Index   Image Name
[1]     Windows Server 2008 R2 Standard (Full Installation)
[2]     Windows Server 2008 R2 Standard (Server Core Installation)
[3]     Windows Server 2008 R2 Enterprise (Full Installation)
[4]     Windows Server 2008 R2 Enterprise (Server Core Installation)
[5]     Windows Server 2008 R2 Datacenter (Full Installation)
[6]     Windows Server 2008 R2 Datacenter (Server Core Installation)
[7]     Windows Web Server 2008 R2 (Full Installation)
[8]     Windows Web Server 2008 R2 (Server Core Installation)

Done.

Ahora que ya tenemos el índice [1] del sistema operativo y la ruta del archivo WIM podemos “Aplicarlo” en el disco VHD que creamos hace un rato F:

.Install-WindowsImage.ps1 -WIM G:sourcesinstall.wim -Apply -Index 1 –Destination F:

Applying "Windows 7 Enterprise" to F:…
ADVERTENCIA: This may take up to 15 minutes…

_________________________________________________________________________________
EDITADO 10/12/2009 … Si quieres que tu VHD pueda bootear desde el Virtual PC o Hyper-v debes cargar el bcdboot en el disco montado

Sigamos pensando que nuestro disco VHD lo tenemos montado en F:

Ejecutamos el siguiente comando

F:windowssystem32bcdboot F:windows /s F:

Si después queremos borrar algo que nos quedo mal en el Bcdedit

bcdedit /delete {ID}

Donde ID es el id de la entrada que quieres borrar

bcdedit /delete {ffe86a97-97eb-11de-88e4-8d9d20f53a42}

_________________________________________________________________________________

Listo… Ahora solo debemos modificar el booteo de nuestro sistema para que arranque con el vhd, para eso ocuparemos el comando bcdedit “como administrador”

Bcdedit /copy {current} /d “Win7VHD”
La entrada se copió correctamente en {ffe86a96-97eb-11de-88e4-8d9d20f53a42}
Con este comando copiamos la entrada de boteo actual de nuestro SO a una llamada Win7VHD, ahora debemos modificar los parámetros device y osdevice para que arranque por el VHD

bcdedit /set {ffe86a96-97eb-11de-88e4-8d9d20f53a42} device vhd=[H:]2008VHD.vhd

bcdedit /set {ffe86a96-97eb-11de-88e4-8d9d20f53a42} osdevice vhd=[H:]2008VHD.vhd

image

Escribimos bcdedit para ver si esta todo OK

image

Reiniciamos y Listo

Les dejo un par de fotos del booteo… “las saque con el teléfono y me reflejo en la pantalla ”

IMG_0510 IMG_0511 IMG_0512 IMG_0513 IMG_0514 IMG_0515 IMG_0516 IMG_0517

2 comentarios en “Booteo Nativo de VHD con Powershell y Windows 7”

  1. Hola Checho

    Gracias por el comentario

    con el bcdedit seria

    bcdedit /delete {ID}

    Donde ID es el id de la entrada que quieres borrar

    EJ:
    bcdedit /delete {ffe86a97-97eb-11de-88e4-8d9d20f53a42}

Deja un comentario

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