You are on page 1of 4

Para arrancar Linux

 Grub1: grub>
Para arrancar el sistema de forma correcta tenemos que establecer una
secuencia de tres comandos en la que especifiquemos lo siguiente:

Partición que contiene el kernel


Una vez que estemos en la shell de Grub, si ejecutamos el comando root
a secas nos dirá la partición en la cual se encuentra el/los kernel (usar
[TAB] para ver comandos disponibles)

grub> root
(hd0,0): Filesystem type is ext2fs, partition type 0x83

Ya sabemos que la partición que contiene el kernel, imágenes initrd y


demás es la (hd0,0), podemos navegar por ella usando el comando find y
haciendo uso de la tabulación para el auto-completado de nombres, lo
verificamos:

grub> find (hd0,0)/ <- apretar [TAB]


Possible files are: lost+found grub efi initramfs-2.6... vmlinux-2.6.....

Una vez verificado ejecutamos el siguiente comando (normalmente no es


necesario ya que como vemos anteriormente lo detecta
automáticamente):

grub> root (hd0,0)

Especificar el kernel y ruta al filesystem

Grub> kernel /vmlinuz-2.6.32-71.el6.i686 ro root=/dev/sda1

Ya sabemos que el kernel está en /vmlinuz… así que lo especificamos


como se ve en la línea superior, usar el [TAB] para no tener que escribir
todo el nombre. Especificamos que en primera instancia se tiene que
arrancar en modo lectura (ro) y finalmente la ruta a la partición root de
nuestro sistema (dev/sda1). La partición root es la que contiene /sbin/init,
también se puede especificar mediante el UUID. Si no sabemos cuál es
podemos localizarla con el siguiente comando:

Grub> find /sbin/init


(hd0,1)
(hd0,1)=/dev/sda2

Otra forma sería consultando el fichero fstab:

grub> cat (hd0,1)/etc/fstab


Ubicación del Initial RAM disk

El RAM disk se encuentra en la misma ruta/partición que el kernel:

grub> initrd /initramfs-2.6.32-71.el6.i686.img

Secuencia completa para arrancar el sistema


Haciendo un resumen y añadiendo el último comando para arrancar el
sistema (boot) quedaría así:

grub> root (hd0,0)


grub> kernel /vmlinuz-2.6.32-71.el6.i686 ro root=/dev/sda1
grub> initrd /initramfs-2.6.32-71.el6.i686.img
grub> boot

Si todo va bien, debería arrancar sin problemas el sistema.

Para arrancar Windows

 Grub 2:
Primero que nada, el archivo menu.lst no se utiliza más en Grub2. Su reemplazo es
grub.cfg. Pero este archivo no debería ser editado manualmente, sino que hay crear
un script en el destino /etc/grub.d/

Determinar la partición de Windows


Debemos conocer en qué partición está instalado Windows. Para ello corremos este
comando:

ROOT
# fdisk -l
En donde tendremos una salida como esta:

ROOT
Disk /dev/hda: 41.1 GB, 41110142976 bytes
255 heads, 63 sectors/track, 4998 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x71487762

Device Boot Start End Blocks Id System


/dev/hda1 * 1 1828 14683378+ 7 HPFS/NTFS

/dev/hda2 1829 3133 10482412+ 83 Linux

/dev/hda3 3134 3395 2104515 82 Linux swap / Solaris

/dev/hda4 3396 4998 12876097+ 83 Linux

En mi caso, la partición de Windows es /dev/hda1 y tiene un “*” (asterisco) en la opción


Boot, confirmando que hay un sistema operativo instalado en ella. Además se trata de una
partición NTFS, esto confirma que se trata de Windows.

Si ya está instalado Grub2, debemos proceder a crear el script, sino debemos


instalarlo de acuedo a la distro que tengamos en nuestra PC.

Creando el script
Ahora pasamos a crear el script. Se llamará 11_Windows y estará en el directorio
/etc/grub.d

Lo creamos con nano con la siguiente instrucción:

ROOT
# nano /etc/grub.d/11_Windows
Completamos el archivo con este texto:

ROOT
#! /bin/sh -e
echo “Agregando Windows” >&2
cat « EOF
menuentry “Windows XP” {
set root=(hd0,1)
chainloader +1
}
EOF
Tener en cuenta que la entrada root puede ser diferente, depende del comando fdisk
-l que se mencionó antes. Si estuviera instalado Windows en hda2 (o sda2), sería
“set root=(hd0,2)”.

Nota: anteriormente, en la v.1, si Windows estaba instalado en la primer partición, había


que darle root=(hd0,0), ya que así solía Grub enumerar las particiones. En esta versión,
hay que darle root=(hd0,1) si Windows está instalado en la primer partición del disco duro.

Ahora salimos de nano con Ctrl+X y guardamos el archivo.

Luego le damos permiso de ejecución al script creado, así:

ROOT
# chmod a+x /etc/grub.d/11_Windows
Actualizamos Grub2:

ROOT
# update-grub2
Deberías visualizar algo como esto:

ROOT
# update-grub2
Updating /boot/grub/grub.cfg …
Found Debian background: moreblue-orbit-grub.png
Found linux image: /boot/vmlinuz-2.6.26-rt1-rt
Found initrd image: /boot/initrd.img-2.6.26-rt1-rt
Found linux image: /boot/vmlinuz-2.6.26-1-686
Found initrd image: /boot/initrd.img-2.6.26-1-686
Found linux image: /boot/vmlinuz-2.6.25-2-686
Found initrd image: /boot/initrd.img-2.6.25-2-686
Agregando Windows
done
Noten el mensaje “Agregando Windows”

Para este punto, todo debería funcionar bien,[ reiniciamos el sistema y vemos que
cargue tanto Windows como GNU/Linux. Si esto se da, damos una instrucción final:

ROOT
# upgrade-from-grub-legacy
Con esta instrucción estaríamos instalado Grub2 en el MBR (Master Boot Record =
Registro de Booteo Principal).

FUENTE:
“https://wiki.argentop2p.net/doku.php?id=so:linux:grub2_arrancar_windo
ws”

You might also like