sábado, 26 de septiembre de 2009

Windows 7 - Boot from VHD


Que es Boot from VHD?

Es una nueva característica de Windows 7 y de Windows Server 2008 R2 que nos brinda la posibilidad de bootear nuestra PC desde un archivo VHD, sin utilizar un soft de virtualización o particionar los discos.
De esta forma podemos correr el sistema utilizando todo el hardware de nuestro PC, e incluso poder instalar el rol de Hyper-V en nuestro Windows 2008 R2 o utilizar el XP Mode en Windows 7.

Que debo saber antes de empezar?

Las ventajas creo que ya se las imaginan, pero, qué pasa con las desventajas.
Siempre ando blogueando y probando “nuevos descubrimientos”, pero llegando a cierto momento algunas funciones no se ejecutan y no sabemos por qué, así que voy a poner este segmento antes de empezar.

- Si corres estos pasos en el notebook con el disco SATA en modo AHCI, cuando parece que está iniciando correctamente, Pantalla Azul!. Para que funcione correctamente tu disco debe estar en modo IDE o compatible. (Como me hizo sufrir!!!)

- El sistema operativo del .VHD debe ser Windows 7 o Windows 2008 R2.

- El tamaño del VHD aunque sea de espacio dinámico, no debe superar el espacio libre del disco. (En nuestro caso nos daba pantalla azul si superaba)

- La performance decrece aproximadamente un 3% (Eso dicen, yo no note diferencia).

- Hibernar y Bitlocker pueden no funcionar en algunos escenarios. El disco que contiene al VHD no puede estar Bitlokeado.

- El procedimiento con WAIK a mi solo me funcionó desde Windows 2008 R2. Estoy viendo si encuentro el porqué.

- A pedido de Fabian Imaz en la charla de CUMUY, investigaremos que pasa si el VHD esta en un disco USB externo. Esto requiere seteos especiales derivados de los cambios en las letras de las unidades en el USB. Publicaremos el método a la brevedad.

Como instalar una maquina que bootee de un VHD desde el DVD de Instalación?

Aquí les dejo la más práctica si quieren comenzar en su propio equipo.

1. Bootear el equipo desde el DVD de instalación.

2. En la pantalla de inicio de la instalación, no elija “Instalar Ahora”, valla a reparar sistema -> Utilizando las herramientas, o presione Shift+F10, para acceder a la línea de comandos.

3. Iniciar la utilidad de particiones ejecutando el comando
diskpart.

4. Crear el nuevo VHD ejecutando
create vdisk file=”C:\Ruta\nombre.vhd” type=expandable maximum=TamañoenMegabyte

5. Seleccionar el nuevo VHD para montarlo como un disco físico

select vdisk file=” C:\Ruta\nombre.vhd”

attach vdisk

6. Luego cerrar la línea de comandos y volver a la pantalla de inicio de la instalación.

7. Comenzar la instalación normalmente, seleccionando el disco virtual como disco del sistema. Ignorar el mensaje indicando que Windows no puede instalarse en este disco.

8. Una vez finalizada la instalación, si se desea activar el Hypervisor hacer lo siguiente:

- Iniciar bcdedit /set {IDGenerado} hypervisorlaunchtype auto

La siguiente imagen es un ejemplo de cómo quedo en mi equipo.

clip_image002

Como instalar una maquina que bootee de un VHD utilizando WAIK?

Primero descargar Windows Automated Installation Kit desde la página de Microsoft:
http://www.microsoft.com/downloads/details.aspx?familyid=696DD665-9F76-4177-A811-39C26D3B3B34&displaylang=en

image

Instalamos el producto para tener acceso a la herramienta imagex.exe la cual nos permitirá preparar el VHD.

Crearemos el VHD utilizando los siguientes comandos, recuerda verificar los números de disco y demás que dependerán de tu sistema.

diskpart

Create vdisk file=C:\VirtualMachines\Hyper-VServer\HVServer.vhd maximum=25000 type=expandable

Select vdisk file=C:\VirtualMachines\Hyper-VServer\HVServer.vhd

Attach vdisk

List disk

select disk 1

create partition primary

select partition 1

active

format fs=ntfs quick

assign

exit

En la siguiente imagen te muestro como realicé el de mi pc

image

Ejecutamos la consola WAIK que nos llevara al PATH donde se encuentra el imagex.exe


Colocamos el DVD de instalación o en mi caso monte el ISO de Hyper-V Server 2008 R2 para probarlo.


Corremos el siguientes comando: imagex /info D:\sources\install.wim


Lo importante de este paso es ver cual es el IMAGE INDEX de la instalación del sistema.

Como se ve en la imagen en mi caso es 1.


image

Ejecutamos el deployment con este comando

imagex /apply D:\sources\install.wim /check 1 F:\

Aquí ya tienen el VHD, por lo que utilizando el procedimiento a continuación lo pueden hacer bootear para que continúe la instalación.


Utilizar un VHD ya existente.


En el sistema operativo, correr desde línea de comandos lo siguiente.

1. bcdedit /copy {current} /d "Descripción"

2. bcdedit /set {nuevoidgenerado} device vhd=[C:]\Ruta\nombre.vhd

3. bcdedit /set {nuevoidgenerado} osdevice vhd=[C:]\Ruta\nombre.vhd

4. bcdedit /set {nuevoidgenerado} detecthal on

5. bcdedit /set {nuevoidgenerado} hyperlaunchtype auto

Y si tengo Windows Vista?

Si tienes Windows Vista SP1 en adelante ya tienes incluido el ejecutable bcdedit.exe, pero este no es el mismo que el de Windows 7 y hay comandos que no tiene.

Por este motivo lo que vamos a hacer es actualizar a mano de la siguiente manera:

Desde un equipo que ya tenga instalado Windows 7 copiamos los archivos de arranque, por ejemplo a un pendrive.
Copiamos bcdedit.exe y bootmgr.

C:\windows\system32>xcopy /h /y bcdedit.exe f:\

C:\>xcopy /h /y bootmgr f:\

Luego booteamos el equipo con el DVD de Windows 7 o Vista y accedemos a la consola como vimos anteriormente para poder correr los siguientes comandos.

C:\>attrib bootmgr –s –h –r

E:\>xcopy /y /h bootmgr c:\bootmgr

E:\>xcopy /y /h bcdedit.exe c:\windows\system32

Me equivoque! Como borro el booteo que cree?

Ejecutamos el siguiente comando para limpiar las entradas generadas utilizando el ID que corresponda. En mi caso

bcdedit /delete {0c75687a-9668-11de-aa2f-8f5180f2ee69}

Esperamos que la info les ayude a realizar dichas configuraciones y cualquier consulta o comentario a las órdenes.

Un abrazo.

Juan Barrios – Carlos Rovira







5 comentarios:

  1. Muy bueno!! Lo voy a probar. Gracias.

    ResponderEliminar
  2. Hombre que mas creo que a mi me sale pantalla a azul por lo siguiente, como lo puedo solucionar (Si corres estos pasos en el notebook con el disco SATA en modo AHCI, cuando parece que está iniciando correctamente, Pantalla Azul!. Para que funcione correctamente tu disco debe estar en modo IDE o compatible.)

    ResponderEliminar
  3. Desde el BIOS. Cambiar el tipo de disco de booteo.

    Saludos,

    El Cacho.

    ResponderEliminar
  4. sabes que este comando me dice que no existe y tmp lo encontre en la web. Seguro que es ese?

    5. bcdedit /set {nuevoidgenerado} hyperlaunchtype auto


    hablo del hyperlaunchtype

    ResponderEliminar
  5. Hay situaciones en las que no es necesario dado que al instalar Hyper-V ya quedaba configurado.

    En otras situaciones si se utiliza si tienes algún problema. Algunos artículos de referencia.

    http://social.technet.microsoft.com/wiki/contents/articles/1389.aspx

    http://social.technet.microsoft.com/wiki/contents/articles/9528.how-to-multiboot-with-bitlocker-tpm-and-a-non-windows-os.aspx

    ResponderEliminar