Hola amigos, aquí les dejo la explicación como dice el titulo: Construir una imagen iso boteable con grub2dos.
Esto en un principio lo use para construir liveCD's con diferentes distribuciones de Linux y a veces hasta le incluía algún que otro mini-windows. Con estos cd's personalizados salí de muchos apuros…
Bueno vamos a lo que nos interesa. Teniendo a mano un iso de cualquier bootHirens en sus versiones más modernas, buscamos dentro de el un fichero llamado grldr
Creamos un directorio llamado iso_root en nuestro perfil.
mkdir ~/iso_root
Copiamos grldr a dicho directorio.
cp grldr ~/iso_root
Creamos un fichero llamado menu.lst.
nano ~/iso_root/menu.lst
Dentro pegamos todo esto:
timeout 15 default /default color green/black light-green/green title Boot From Hard Drive (Windows Vista/7/2008 or Xp)\n find --set-root --ignore-floppies --ignore-cd /bootmgr || find --set-root --ignore-floppies --ignore-cd /ntldr || rootnoverify (hd0) && chainloader +1 && boot map () (hd0) && map (hd0) () && map --rehook find --set-root --devices=h /bootmgr || find --set-root --ignore-floppies --ignore-cd /ntldr chainloader /bootmgr || chainloader /ntldr title PUPPY Linux v5.3.1 on HD0\n Iniciar SLACKO 5.3.1 desde USB root (hd0,0) kernel /SLACKO/vmlinuz root=/dev/rd/0 pmedia=cd initrd /SLACKO/initrd.gz title Slitaz 4.0 - Core\n All rootfs (4, 3, 2 & 1) ---> 192M find --set-root /Slitaz/bzImage kernel /Slitaz/bzImage rw root=/dev/null lang=es kmap=us vga=normal autologin initrd /Slitaz/Slitaz-4.0-Core.gz boot title Slitaz RazorQT find --set-root /RazorQT/bzImage kernel /RazorQT/bzImage rw root=/dev/null vga=791 autologin initrd /RazorQT/rootfs.gz boot title Mini Windows Xp\nRun Antivirus and other windows programs find --set-root /HBCD/XP/XP.BIN chainloader /HBCD/XP/XP.BIN
El directorio iso_root contendrá el fichero menu.lst, las distribuciones de Linux y el mini-windows que serán los sistemas que cargara el cd una ves que se botee en la pc, por lo que copiamos el directorio HBCD, que corresponde al mini-windows a iso_root.
Las distros de Linux que tengo, en estos momentos son:
SLACKO: PUPPY Linux v5.3.1, SLITAZ-4.0: Como dice su nombre, conteniendo la versión 4.0, RazorQT Contenido de dicho iso, HBCD: Ojo no es Linux, sino mini-windows y aplicaciones para este.
Creamos dentro de iso_root las respectivas carpetas a cada distro, por ejemplo seria: SLACKO SLITAZ-4.0 RazorQT HBCD
El directorio SLACKO contendrá los ficheros del iso de Puppy: boot.cat help.msg isolinux.cfg README.HTM boot.msg initrd.gz logo.16 vmlinuz help2.msg isolinux.bin puppy_slacko_5.3.1.sfs
El directorio SLITAZ-4.0 contendrá los ficheros del iso 4.0 de esa distro: bzImage rootfs1.gz rootfs2.gz rootfs3.gz rootfs4.gz
En este directorio unimos los ficheros rootfs#.gz a un solo fichero llamado Slitaz-4.0-Core.gz y despues borramos los rootfs#.gz mediante el comando:
cat $(ls -r rootfs*.gz) > Slitaz-4.0-Core.gz ; rm rootfs4.gz rootfs3.gz rootfs2.gz rootfs1.gz
El directorio RazorQT contendrá los ficheros del iso 4.0 de esa distro: (Todos los ficheros contenidos en la carpeta boot del iso de RazorQT)…
Luego nos situamos en nuestro perfil y procedemos a crear el iso boteable mediante grub4dos con el siguiente comando:
cd ~ ; mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o multiDistros.iso iso_root
Esperamos a que esta operación termine y tendremos listo el cd que hemos construido..
— Yasiel Ordoñez Abreu 2013/05/27 15:03