Necesitarán tener instalado una distribución GNU/Linux (preferentemente que sea aquella que tocó el gestor de arranque la última vez), y que el gestor de arranque sea GRUB2 (IMPORTANTE)
¿Cómo sé si tengo instalado GRUB2?
Debe existir el archivo /boot/grub/grub.cfg (GRUB utilizaba el archivo menu.lst)
Además, estarán presentes el directorio /etc/grub.d/ y el archivo /etc/default/grub
¿Dónde habrá que meter mano?
Agregaremos entradas nuevas a la pantalla de GRUB2, para ello vamos a crear archivos (scripts) en el directorio /etc/grub.d/
NO MODIFIQUEN DIRECTAMENTE EL ARCHIVO GRUB.CFG
Yo ya lo hice porque la advertencia la leí mucho después, pero no pasó nada
Haganme caso igual.
¿Realmente tendré que utilizar un diskette?
No, para nada. Dije eso sólamente para saber quiénes no leen o comentarán ni bien vean esa imagen.
Instrucciones.
0. Una copia de seguridad de grub.cfg por si nos mandamos una macana
Del modo que procederemos, no va a pasar nada malo, pero nunca está de más ser precavido.
Como root, desde la terminal
cp /boot/grub/grub.cfg /boot/grub/grub.cfg.backup
1. Crear un script en /etc/grub.d
Los archivos son de la forma XX_nombre. El número sirve para establecer el orden en que aparecerán en la lista de sistemas operativos (en realidad, establece el orden en que los scripts serán procesados cuando actualicemos la configuración de GRUB2). Si queremos que Ubuntu aparezca después que PuppyLinux, el script de Ubuntu debería llamarse, por ejemplo, 42_ubuntu y el de Puppy, 41_puppy.
El archivo tiene la siguiente estructura. Empieza con el código de aquí abajo (pueden verlo en el archivo 40_custom, que es una plantilla de base)
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
Y a continuación, colocaremos el código correspondiente al sistema operativo (al archivo ISO) que intentamos cargar (más adelante en el post)
2. Marcar el script como ejecutable
Como root
chmod +x /etc/grub.d/XX_nombre
donde XX_nombre es el nombre del script
3. Actualizar GRUB2
Otra vez, como root
update-grub2
seguramente sea un enlace simbólico a update-grub, pero de este modo sabrán que se trata de GRUB2
Si por esas cosas de la vida, alguna distro ya instalada les desaparece de la lista, prueben montando la partición en la que está, e intenten de nuevo. Podría ser necesario instalar previamente el paquete os-prober
4. Listo! Pueden reiniciar
Aclaraciones previas:
Todas las imágenes las tengo en mi directorio home de la 1ra partición del 1er disco rígido (sda1), pero ustedes pueden guardarlas en donde quieran, siempre que anoten en qué partición está.
y derivados
Testeado con:
· Ubuntu 12.04 (64 bits)
· Ubuntu 12.04 (32 bits)
· Lubuntu 12.04 (64 bits)
· Elementary OS Jupiter (64 bits)
· Linux Mint 13 XFCE (64 bits)
Las versiones 32 bits deberían funcionar igual.
menuentry "Ubuntu 12.04 64bits (live CD)" {
set isofile="/home/craftmanjr/ubuntu-12.04-desktop-amd64.iso"
loopback loop (hd0,1)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet noeject noprompt splash --
initrd (loop)/casper/initrd.lz
}
Líneas que deben cambiar
set isofile="/home/craftmanjr/ubuntu-12.04-desktop-amd64.iso"
Después del signo = , ponen la ruta completa del archivo ISO, dentro de la partición. Si por ejemplo es mnt/sda4/public/isos/elementaryos0.1-jupiter-amd64.iso, sólo deberían usar /public/isos/elementaryos0.1-jupiter-amd64.iso
loopback loop (hd0,1)$isofile
En Linux Mint, además agregué la siguiente línea, que vi en el archivo de configuración que está en el ISO. Pueden no agregarla, si les funciona.
set gfxpayload=keep
Cambien (hd0,1) por la partición correspondiente.
Con GRUB2, los discos se numeran desde 0, y las particiones desde 1 (en GRUB, estas últimas también empiezan en 0). De este modo:
sda1 ............... (hd0,1)
sda2 ............... (hd0,2)
·
·
·
sdb1 ............... (hd1,1)
sdb2 ............... (hd1,2)
·
·
·
y así
Testeado con:
· ArchLinux 08.2012 (32 bits)
· ArchLinux 08.2012 (64 bits)
menuentry "Arch Linux 64bits (instalación)" {
insmod part_msdos
insmod ext2
loopback loop (hd0,1)/home/craftmanjr/archlinux-2012.08.04-dual.iso
linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=ARCH_201208 img_dev=/dev/sda1 img_loop=/home/craftmanjr/archlinux-2012.08.04-dual.iso
initrd (loop)/arch/boot/x86_64/archiso.img
}
Líneas que deben cambiar
loopback loop (hd0,1)/home/craftmanjr/archlinux-2012.08.04-dual.iso
linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=ARCH_201208 img_dev=/dev/sda1 img_loop=/home/craftmanjr/archlinux-2012.08.04-dual.iso
Cambien el valor que le sigue a img_dev= y a img_loop= por lo que le corresponda.
El valor ARCH_201208 pueden cambiarlo por ARCH_201207 si tienen la versión anterior. No lo corroboré, pero debe funcionar.
Si quieren instalar la versión de 32 bits, además deben cambiar las apariciones de x86_64 por i686.
Testeado con:
· Debian Squeeze 32 bits (netinstall)
menuentry "Debian netinstall 32 bits" {
set isofile="/home/craftmanjr/debian-6.0.5-i386-netinst.iso"
loopback loop (hd0,1)$isofile
linux (loop)/install.386/vmlinuz isofrom=$isofile quiet desktop=xfce vga=791 --
initrd (loop)/install.386/initrd.gz
}
Líneas que deben cambiar
set isofile="/home/craftmanjr/debian-6.0.5-i386-netinst.iso"
loopback loop (hd0,1)$isofile
Otros cambios (tiene muchos parámetros)
Si quieren que la instalación sea en modo gráfico (con GTK), usen install.386/gtk/vmlinuz y install.386/gtk/initrd.gz en lugar de esos archivos. En ambos casos, la resolución es de 1024x768. Cambien a vga=788 para bajarla a 800x600.
Pueden intentar también agregarle video=vesa:ywrap,mtrr si tienen algún problema con la imagen.
Agreguen auto=true priority=critical para una instalación con menor intervención del usuario
Los valores de desktop pueden ser kde, lxde o xfce (supuestamente los que se instalarán, pero nunca lo he intentado)
Testeado con:
· Damn Small Linux 4.11 RC1
Montar el archivo ISO. Copien el directorio KNOPPIX (junto con el archivo KNOPPIX en su interior) en el directorio raíz de cualquier partición.
menuentry "DSL" {
loopback loop (hd0,1)/home/craftmanjr/dsl-4.11.rc1.iso
linux16 (loop)/boot/isolinux/linux24 ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 nomce noapic quiet BOOT_IMAGE=knoppix isofrom=dsl-4.11.rc1.iso
initrd16 (loop)/boot/isolinux/minirt24.gz
boot
}
Líneas que deben cambiar
loopback loop (hd0,1)/home/craftmanjr/dsl-4.11.rc1.iso
linux16 (loop)/boot/isolinux/linux24 ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 nomce noapic quiet BOOT_IMAGE=knoppix isofrom=dsl-4.11.rc1.iso
En esta segunda línea, sólo ajusten el valor de isofrom
Testeado con:
· Puppy Linux Wary 5.3
Monten el archivo ISO. Creen un directorio llamado puppy en el directorio raíz, y copien los archivos vmlinuz e initrd.gz allí
menuentry "Puppy Linux" {
setroot='(hd0,1)'
linux /puppy/vmlinuz psubdir=puppy pmedia=atahd
initrd /puppy/initrd.gz
}
Líneas que deben cambiar
setroot='(hd0,1)'
Vean la explicación que doy en Ubuntu,
linux /puppy/vmlinuz psubdir=puppy pmedia=atahd
El único parámetro que podrían necesitar cambiar es el valor de pmedia. Las minidistros las booteé en una computadora que usa un disco con interfaz IDE. Si el disco tiene interfaz SATA, y no funciona este método, prueben poniendo satahd en lugar de atahd (pero me parece que son parámetros de versiones antiguas de PuppyLinux)
· Slitaz 3.0
menuentry "Slitaz" {
loopback loop (hd0,1)/home/craftmanjr/slitaz-3.0.iso
linux (loop)/boot/bzImage isofrom=/dev/sda1/home/craftmanjr/slitaz-3.0.iso boot=live quite vga=791 noeject nopromt
initrd (loop)/boot/rootfs.gz
}
Líneas que deben cambiar
loopback loop (hd0,1)/home/craftmanjr/slitaz-3.0.iso
linux (loop)/boot/bzImage isofrom=/dev/sda1/home/craftmanjr/slitaz-3.0.iso boot=live quite vga=791 noeject nopromt
De esta segunda línea, sólo el valor de isofrom
Creo que no hacía falta poner la ruta completa. Es decir, sólo pongan el nombre del archivo ISO.
NOTA IMPORTANTE:
Luego de que haya iniciado, antes de empezar la instalación hay localizar el archivo iso, y montarlo en /media/cdrom (crear el directorio, en caso de que no exista), porque el instalador va a buscar los archivos en la unidad de CD.
Testeado con:
· TinyCore Linux 4.6.1
menuentry "TinyCore Linux" {
loopback loop (hd0,1)/home/craftmanjr/TinyCore-current.iso
linux (loop)/boot/vmlinuz iso=/mnt/sda1/home/craftmanjr/TinyCore-current.iso xsetup
initrd (loop)/boot/core.gz
}
Líneas que deben cambiar
loopback loop (hd0,1)/home/craftmanjr/TinyCore-current.iso
linux (loop)/boot/vmlinuz iso=/mnt/sda1/home/craftmanjr/TinyCore-current.iso xsetup
En esta segunda línea, ajusten el valor de iso, pero dejando /mnt como está (porque es un directorio del sistema de archivos virtual creado por TinyCore, no un directorio presente en el disco)
El parámetro xsetup mostrará una pantalla para configurar la resolución gráfica y el tipo de mouse. Con n, ven más opciones.
Yo elegí 32 (800x600x24bits) y 3 (mouse PS/2 con ruedita).
De este modo TinyCore Linux estará usable (hay muchas cosas que configurar, si quisieran instalarlo en disco, instalar programas, etc)
Búsqueda personalizada
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:
0 comentarios:
Publicar un comentario
No insertes enlaces clicables, de lo contrario se eliminará el comentario. Si quieres ser advertido via email de los nuevos comentarios marca la casilla "Avisarme". Si te ayudé con la publicación o con las respuestas a los comentarios, compártelo en Facebook,Twitter o Instagram. Gracias.