NovaMonoFix
Errores PHP
X
Usuario
Password
0 FPS

USB booteable con varios sistemas operativos (ACTUALIZADO)

16 de Mayo del 2013 por Josep Antoni Bover, 14 visitas, 0 comentarios, 0 votos
Categorías : Windows, Linux.
La web está en segundo plano, animación en pausa.
Cargando animación...
USB booteable con varios sistemas operativos (ACTUALIZADO)

Hace ya unos días estuve formateando varias maquinas e instalando varios sistemas operativos en ellas a través de un pen drive, y al final se me metió en la cabeza hacer un único USB que tuviera para instalar Windows XP, Windows 7 x86 y x64, y Ubuntu desktop en sus versiones de 32 y 64 bits.

Después de rebuscar mucho por internet vi que con el gestor de arranque grub4dos podía conseguir algo así, pero no fue nada fácil. Hacer un pendrive con un solo sistema operativo instalable es relativamente sencillo, pero cuando se quiere meter más de uno la cosa se complica bastante.

He actualizado este tutorial para que se pueda incluir : Windows Vista, Windows 8, Ubuntu 13, y el Hirens Boot.

Para este tutorial necesitaremos un pendrive con capacidad suficiente para albergar todos los sistemas operativos y utilidades que queremos integrar, en el caso de querer integrar todos los sistemas mencionados debería ser suficiente con un pendrive de 32gb de capacidad, aunque depende de las isos que tengáis.

He estado probando muchos programas para hacer pendrives booteables pero no he encontrado ninguno que me permita instalar todo lo que he mencionado anteriormente, pero sí que hay uno que prácticamente nos hace todo el trabajo. Este es WinSetupFromUSB (versión del tutorial) pero por desgracia no he encontrado ninguna página oficial por lo que he subido un archivo zip en mega.co.nz con todo lo necesario para hacer funcionar el programa.

Antes de nada necesitaremos tener una iso de cada sistema operativo que queramos agregar (este tutorial incluye WinXP, WinVista (32 y 64 bits), Win7 (32 y 64 bits), Win8 (32 y 64 bits) Ubuntu 12.04.2 (32 y 64 bits) y Ubuntu 13.04 (32 y 64 bits), para windows xp necesitamos tener acceso a la carpeta raíz del cd de instalación (ya sea montando su iso en una unidad virtual, copiando el cd en el disco duro o como sea).

No es posible añadir mas de una instalación de Windows XP con este tutorial.

Una vez descargado y descomprimido el programa necesitamos encenderlo con privilegios de administración y veremos la siguiente ventana :

Por lo que me ha informado Pep hay una nueva versión del programa, pero no he visto que traiga la iso con drivers extras para el windows xp, así que para evitar problemas, prefiero que utilicéis la versión que he colgado en mega.co.nz, que es la que hay en el enlace de arriba.
En vista de que mucha gente descarga este archivo con gestores de descarga e inicia hasta 20 descargas paralelas, no me queda otra solución que dejarlo en un servidor externo, por lo que si es eliminado de dicho servidor, me vais a tener que avisar para que vuelva a subirlo.
El caso es que con la versión del tutorial lo tengo todo probado al 100%, y utilizar la nueva versión requiere ponerse a instalar windows para probar que todo funcione correctamente.
De todas formas os dejo el enlace de la nueva versión que está alojado en softpedia, por si os queréis arriesgar... WinSetupFromUSB (nueva versión).

WinSetupFromUSB

Formateando y preinstalando

No os he hecho añadir nada más porque WinSetupFromUSB no soporta por ejemplo dos Ubuntus o dos Windows 7, por lo que tenemos que hacer esto a parte.

Añadiendo los demás sistemas operativos

Antes de nada deberíais saber que el Grub es el gestor de arranque que se usa actualmente en la mayoría de distribuciones linux, que además tiene una versión compatible con dos/windows (Grub4dos). Este gestor es totalmente configurable aunque es algo complicado de configurar.

Para no liar mucho la cosa editando el menú del grub os he hecho un zip con varios archivos que deberéis copiar dentro de la raíz del pendrive que podéis descargar desde este enlace :

Una vez copiados los archivos del zip dentro del pendrive os debería quedar la siguiente estructura :

Estructura pendrive

He montado el menu.lst de forma que si no encuentra alguno de los sistemas operativos, no lo mostrará en el menú. Este menu.lst soporta los siguientes sistemas operativos y utilidades :

Sistemas operativos en formato ISO

Windows Vista x86 (32 bits) /Isos/WindowsVista/WinVista_x86.iso
Windows Vista x64 (64 bits) /Isos/WindowsVista/WinVista_x64.iso
Windows 7 x86 (32 bits) /Isos/Windows7/Win7_x86.iso
Windows 7 x64 (64 bits) /Isos/Windows7/Win7_x64.iso
Windows 8 x86 (32 bits) /Isos/Windows8/Win8_x86.iso
Windows 8 x64 (64 bits) /Isos/Windows8/Win8_x64.iso
Ubuntu desktop 12.04.2 (32 bits) /Isos/Ubuntu/ubuntu-12.04.2-desktop-i386.iso
Ubuntu desktop 12.04.2 (64 bits) /Isos/Ubuntu/ubuntu-12.04.2-desktop-amd64.iso
Ubuntu desktop 13.04 (32 bits) /Isos/Ubuntu/ubuntu-13.04-desktop-i386.iso
Ubuntu desktop 13.04 (64 bits) /Isos/Ubuntu/ubuntu-13.04-desktop-amd64.iso

Utilidades

Disco de rescate de KasperSky 2013 /Isos/Utilidades/KasperSky2013.iso
Hirens Boot 15.2 /Isos/Utilidades/Hiren's.BootCD.15.2.iso
Gparted live 0.17.0-1 /Isos/Utilidades/gparted-live-0.17.0-1-i486.iso (Gracias a hunt3r25).

Podéis añadir cualquiera de los sistemas operativos y utilidades mencionadas anteriormente, siempre que respetéis la ruta indicada, es decir.. si queréis añadirle Windows 8 de 64 bits, tenéis que crear la carpeta Isos dentro del pendrive, y luego dentro de esta carpeta tenéis que crear la carpeta Windows8 y finalmente dentro de esta ultima carpeta debéis añadir la imagen que contiene Windows 8 con el nombre Win8_x64.iso.

Para evitar ciertos errores comunes os recomiendo crear toda la estructura del directorio /Isos/ en vuestro disco duro, colocando allí todas las isos que queréis, y luego volcar la carpeta /Isos/ del disco al pendrive.

Para los windows podéis utilizar cualquier versión y service pack, SIEMPRE QUE SEAN ISOS ESTÁNDAR DE MICROSOFT como mucho modificadas con nLite o similares, no valen los típicos Todo En Uno / All In One, ni cosas raras por el estilo.

Por qué no valen los Todo En Uno? realmente os estoy engañando y si que se pueden hacer llegar a funcionar, pero podría resultar ineficiente como poco. Por no hablar de que hay miles de TEU distintos de gente distinta, y cada uno lo monta a su manera.

Los TEU suelen utilizar el Grub4Dos para sus propios menús y esto significa que con el menú de este tutorial al cargar la ISO del TEU, se abre un segundo Grub4Dos que te muestra sus opciones, carga otra iso que tiene el dentro con el windows que le habéis dicho, y empieza la instalación.

Todo esto supone un enorme gasto de ciclos y de memoria, por lo que en ciertos ordenadores podría llegar a consumir todos los recursos y terminar colgándose la instalación.

Conclusión : Si solo tenéis un TEU y no disponéis de otras isos, yo creo que si miráis dentro de la iso del TEU encontrareis en algún directorio las isos de los windows por separado, pero a decir verdad cada TEU se lo montan a su manera. Si ni así las encontráis, arriba tenéis los enlaces de descarga oficiales para la mayoría de sistemas operativos y utilidades.

Debéis grabar las isos justo después de grabar los archivos del Tutorial_USBBoot.zip en el pendrive, y además debéis grabarlas de una en una, de forma que queden en un solo bloque. Si por ejemplo ponéis a grabar 4 isos a la vez de forma independiente, estas no se grabaran en un bloque continuo, si no que necesitaran ser divididas en varios bloques, y el driver que usamos para cargar las isos no soporta la lectura de estas si no se encuentran en un único bloque.

Si os aparece el siguiente mensaje Error 60: File for drive emulation must be in one contiguous disk area. es que la iso ha quedado grabada en mas de una parte dentro del pendrive, y por lo tanto no nos sirve.

El tema de la fragmentación es algo complicado, así que os voy a poner un ejemplo para que podáis comprenderlo mejor. Supongamos que tenemos un pen de 8Gb, y que tenemos 3 isos que queremos grabarle dentro (Iso1 = 1Gb, Iso2 = 1Gb, Iso3 = 2Gb)
  • Grabamos la Iso1, y luego grabamos la Iso2 de forma que el pendrive queda así :
    Iso1 Iso2
  • Ahora si eliminamos la Iso1 el pendrive quedaría así :
    Iso2
  • Si después de eliminar la Iso1 grabamos la Iso3, el pendrive quedaría así :
    Iso3 Iso2 Iso3
Que ha pasado? Al eliminar la Iso1 que ocupaba 1Gb, ha quedado un espacio libre de 1Gb al principio del pendrive. Como el archivo Iso3 ocupa 2Gb el sistema operativo lo empieza a grabar al principio, y cuando ya no puede continuar porque se encuentra la Iso2, busca otra zona con espacio libre (para este ejemplo es justo después de la Iso2).

En este caso concreto la Iso2 funcionaría perfectamente, pero con la Iso3 recibiríamos el Error 60.

Conclusión : la mejor manera de grabar todos los datos correctamente, es crear la estructura en el disco duro, es decir se crea la carpeta /Isos/ y luego se van metiendo todas las isos que queremos con sus respectivos nombres y directorios. Una vez se tienen todas las isos allí se copia el directorio desde el disco al pendrive.

Para los windows 8 debéis editar el menu.lst, buscar la parte del windows 8, y modificar la clave del producto con vuestra clave. La clave que he puesto es para versiones de prueba, y con ella no podréis activar el windows.

Ahora solo os quedara probar que todo funcione correctamente utilizando el USB para arrancar en alguna maquina o con algun emulador (WinSetupFromUSB trae el QEmu, que para probar los arranques de todo no va mal, PERO OJO que funcione en QEmu no quiere decir que luego en una maquina real funcione).

Notas finales

Todo esto lo he conseguido hacer mirando varios tutoriales, pero en especial me he basado en el siguiente : Install XP and Win7 onto a computer from one USB flash drive. Lo que en esa pagina utilizan su propio programa para crear pendrives que con windows xp a mi me dio muchos dolores de cabeza (sobre todo para cargar windows xp desde una iso e instalarlo).

He evitado mostrar el funcionamiento de Grub4dos ya que a decir verdad hay muchas cosas que ni yo entiendo, por lo que si no sois muy hábiles con estas cosas os recomendaría no tocar el "menu.lst". De todas formas he comentado el archivo menu.lst internamente para que os sea fácil editarlo si es que tenéis que llegar hasta tal punto.

Ultima actualización (08/01/2014), añadido gparted a la lista de utilidades y al menu.lst, gracias a hunt3r25.

Y esto es todo por hoy, espero que este documento os sirva de ayuda.