martes, 26 de enero de 2010

Arrancar ISOs

En Internet hay varios sistemas operativos o utilidades que se pueden descargar en formato ISO, grabar en un CD y arrancar el PC con ellos. Sin embargo hoy en día hay 3 cosas que se combinan:
  • PCs que pueden arrancar desde un dispositivo USB
  • Pen-drives de varios GB
  • PCs sin lector de CD/DVD

La primera posibilidad es grabar la ISO en el pen-drive en vez de en un CD/DVD. Para ello lo primero es formatear el pen-drive para hacerlo arrancable. La forma más fiable que he encontrado es usar HP USB Disk Storage Format Tool

Luego se usa UNetbootin para grabar la ISO en el pen-drive. Se usa principalmente para ISOs de Linux, pero tambien se puede usar para instalar Windows desde un pen-drive.

Y lo más sofisticado es poner varias ISOs en el pen-drive y arrancar una de ellas mediante GRUB4DOS. Básicamente se sigue esta guía. La utilidad MultiBootISOs.exe copia GRUB.EXE al pen-drive y algunos ficheros de configuración.

Tambien se puede seguir este tutorial, que usa Grub4Dos GUI Installer

El que tenemos que editar es menu.lst. Básicamente es añadir un bloque como este por cada ISO que queramos arrancar:

title Nombre de la ISO
find --set-root /fichero.iso
map /fichero.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)
boot

Luego hay que copiar las ISOs al pen-drive. Si al arrancar alguna tenemos el mensaje:

Error 60: File for drive emulation must be in one contiguous disk area

Es que el fichero ISO está fragmentado, hay que desfragmentar el archivo con contig.

Para ISOs de distribuciones de Linux hay que añadir más parámetros, ver manual del GRUB4DOS aquí

Por ejemplo, para Ubuntu 9.10 sería:

title Ubuntu LiveCD
find --set-root /ubuntu-9.10-desktop-i386.iso
map /ubuntu-9.10-desktop-i386.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper iso-scan/filename=/ubuntu-9.10-desktop-i386 quiet splash --
initrd /casper/initrd.gz
boot

Otra posibilidad es usar GRUB2, que viene en el CD de Ubuntu 9.10. Necesitais arrancar con el CD de Ubuntu, y seguir las instrucciones de este tutorial. La parte complicada es instalar GRUB2 en el pen-drive desde Linux. Una vez hecho eso, ya podemos crear carpetas, copiar y editar ficheros desde Windows.

El fichero de configuración en este caso es boot/grub/grub.cfg

Para cada ISO hay que ver donde están los ficheros para linux y initrd. El problema es que los nombres de los ficheros y su ubicación cambian de un CD a otro. Algunos ejemplos aquí.

No hay comentarios: