Necesidad

Como developers tenemos la tarea de crear aplicaciones para diferentes ambientes y plataformas. En el caso de las apps móviles tenemos WP7, Android, iOS, BB & otros. Para los web developers la fragmentación se encuentra en los distintos browsers: Internet Explorer, Firefox, Chrome, Safari, Opera, etc.

En el caso de los developers de aplicaciones desktop el mercado es aun complicado ya que es difícil crear un sistema que funcione de manera homogénea en Windows, Mac OS X, Linux, Solaris y demás.

Todo esto conlleva a que tengamos que tener instalado diferentes ambientes para desarrollar y probar nuestros sistemas.

 

Maquinas Virtuales

Hasta el momento la mejor forma (a parte de tener varias pcs/laptops) de poder hacer esto es creando maquinas virtuales.

Ventajas de las maquinas virtuales

  • Facil de instalar
  • Son basicamente desechables, puedes crearlas & borrarlas sin mucho impacto
  • Puedes tener tantas maquinas virtuales creadas como permita tu disco duro

Desventajas de las maquinas virtuales

  • Son lentas, ya que estas dividiendo los recursos de tu maquina con la virtual y si la estamos usando para desarrollar y no solo para probar esto es un problema grande.
  • Generalmente (no siempre) son pobres los drivers, por lo cual no todo se ve bien. Especialmente los de video

Otra tecnica es crear diferentes particiones en tu disco e instalar los diferentes sistemas operativos en las particiones que vas creando. Esto suena facil, pero siempre termina en lagrimas cuando dañas tu MBR y no logras volver a restaurar tus particiones y pierdes todo tu trabajo.

MacBook Pro al rescate!

Tomando todo esto en cuenta hace poco me vi en la necesidad de hacer unas apps para iPhone que usan un ERP que estoy desarrollando, investigue durante varios dias como poder instalar OSX en mi laptop dell y/o hacerlo con maquinas virtuales, pero siempre caia en lo mismo “muy lento”. Gracias a Reyceb tuve la oportunidad de conseguir una MacBook Pro a buen precio y me fui por la ruta de desarrollar nativo en una Mac.

Primero: Instalar Windows 7 dual-boot con Lion OS X & BootCamp

Lo primero que hice fue ver como se instaba Windows dual-boot ya que la mayoría de mi trabajo esta basando en aplicaciones web con .net y no podia dejarlo a un lado. Por suerte este proceso es facilísimo en Lion OS X usando BootCamp, por lo que no voy a abundar mucho al respecto. Solo basta con iniciar el BootCamp Assistant y seguir las instrucciones. Debes tener en cuenta estos puntos:

  • Asignale suficiente espacio a la partición de Windows ya que la vamos a estar usando para instalar varios sistemas operativos. En mi caso tengo un disco duro de 500GB y le deje 250GB a Mac & 250GB a Windows.
  • Al momento de iniciar el BootCamp Assistant te va a bajar los todos los drivers que necesitas para que windows reconozca los dispositivos de tu mac, asegurate de estar conectado a una linea rapida de internet ya que facilmente estarás descargando 1GB de drivers o mas.
  • Guarda los drivers bien para que no tengas que descargarlos nuevamente cuando vayas a instalar Windows 8.

Una vez termine el proceso vas a tener Windows 7 instalado junto con Lion OS X en tu MBP y dejenme decirle que hasta el momento ya soy creyente del dicho que la mejor maquina para correr Windows es una MAC.  Hasta el momento Windows 7 esta corriendo a la perfeccion en mi MAC, reconocio todos los dispositivos y trabaja mas rapido que en mi DELL (la cual tiene specs similares a la MBP).

Segundo: ¿Como instalar Windows 8?

Ahora bien, ya tengo Lion OS X & Windows 7, ¿Como instalo Windows 8?. Primero probe usando maquinas virtuales y pude instalar Windows 8 con VirtualBox. Pero el performance no era muy bueno, habian cosas que no funcionaban muy bien y al momento de correr Visual Studio se volvia una etc la maquina virtual.

Luego investigue sobre como seguir haciendo particiones para instalar mas sistemas operativos, pero la verdad que cada vez que uno se pone a particionar los discos termina dañando algo.

Finalmente decidi probar el mismo proceso que ya habia hecho anteriormente en mi DELL, y es instalarlo bajo un VHD……

¿Que es un VHD?

Un VHD es un Virtual Hard Disk, es el mismo disco duro que usan algunas maquinas virtuales, el proceso consiste basicamente en crear un disco duro virtual e instalar el sistema operativo en ese disco, lo cual permitira bootear tu laptop con ese disco. La ventaja es que lo unico que se virtualiza es el disco duro, todo lo otro es nativo. Es parecido a lo que hace el WUBI.

La primera vez que vi esto no creia mucho en el proceso, pero luego de haberlo usado es la mejor opcion para instalar otros sistemas operativos de forma nativa sin tener que reparticionar nuestro disco duro.

Todo este proceso lo vamos a hacer bajo la instalacion de Windows 7, Lion OS X ni cuenta se va a dar de lo que estamos haciendo, lo que si debemos tener a mano son los drivers que usamos para la instalacion de Windows 7.

Crear el VHD

  • Ejecuta un Command Prompt con permisos de administrador
  • Ejecuta “Diskpart”
  • Y ejecuta los siguientes comandos cambiando la ruta, size y letra de donde quieres tener tu nuevo VHD:
create vdisk file=C:VHDWin8.vhd maximum=60000 type=expandable
     select vdisk file=C:VHDWin8.vhd
     attach vdisk
     create partition primary
     assign letter=X
     format quick FS=NTFS label=VHD
exit

Instalar Windows 8 en el VHD

Lo primero que debes hacer es bajar los instaladores de Windows 8 Developer Preview, puedes conseguirlos aqui. Para realizar la instalacion vamos a utilizar un script de PowerShell llamado Install-WindowsImage.ps1. Es un proceso sencillo que se hace dentro de Win7 y al finalizar vas a tener Windows 8 instalado junto con Lion y Win7.

  • Abre una consola de PowerShell y ejecuta los siguientes commandos:
PS C:vhd> .Install-WindowsImage.ps1 -WIM D:sourcesinstall.wim -Apply -Index 5 -Destination X:  

Applying "Windows Developer Preview" to X:...
WARNING: This may take up to 15 minutes... 

Elapsed Time: 00:30:12.4202821
Done.

Fijense que estamos apuntando a “D:sourcesinstall.wim”, deben reemplazar esta ruta por la ruta donde tienes los instaladores de Win8, donde encontraras ese mismo directorio con ese archivo dentro. En mi laptop duro aproximadamente 30 minutos este proceso.

Luego de reinicar va a encontrar que el BootCamp sigue viendo dos particiones: 1) La de Lion OS X, 2) La de Windows. Pero al darle click a la particion de Windows se va a encontrar con el nuevo bootloader de Windows 8 donde le permitira seleccionar con cual sistema operativo quiere iniciar.

  • Si le cambias el default para que sea Windows 7 quien suba por defecto te va a llevar a usar el antiguo bootloader de Win7, pero descuida que todo funciona y puedes entrar a ambos.
  • Una vez este dentro de Windows 8 debe proceder a seguir con el wizard de configuracion inicial.
  • Luego debe insertar el USB/CD de los drivers que bajo con BootCamp y ejecutar el instalador en modalidad de Compatibilidad para Windows 7.
  • Esto proceso va a reconocer casi todos los dispositivos de su mac, con excepcion de 2 componentes de NVIDIA que puede instalarlos manualmente en el Device Manager de windows y apuntando a la carpeta de drivers de BootCamp.

El resultado final es una instalacion de Windows 8 corriendo nativa en tu mac, la cual funciona excelentemente bien, especialmente la parte del scrolling en el nuevo menu Metro con el trackpad, lo cual nunca funciono en mi vieja Dell con Win8.

Pude haber seguido e instalado Ubuntu con WUBI y asi tener: Lion + Win7 + Win8 + Ubuntu en una misma laptop corriendo sin maquinas virtuales!.

En el próximo post vamos a hablar sobre como tener un ambiente para desarrollo de apps en .net corriendo sobre Lion OS X.

Hector Minaya
http://twitter.com/HectorMinaya