Google
Web dns.bdat.net

grub en un disquete

Instalación

Es aconsejable disponer de un disquete de arranque para poder iniciar el sistema en caso de fallo en el arranque por una instalación defectuosa en el disco duro o por que otro sistema operativo borre el gestor de arranque durante su instalación.

Para instalar grub en el disquete lo introducimos en la unidad y ejecutamos, como root:

# mkfs -t ext3 /dev/fd0
# mount -t ext3 /dev/fd0 /mnt/floppy
# grub-install --root-directory=/mnt/floppy  fd0
# umount /mnt
              

O también volcando directamente los ficheros:

# dd if=/ruta-acceso/stage1 of=/dev/fd0 count=1      
# dd if=/usr/ruta-aceso/stage2 of=/dev/fd0 seek=1
              

bien

# cat /ruta-acceso/grub/stage{1,2} >> /dev/fd0
              

en general, escribir los ficheros stage1 y stage2 en el disquete.

Arranque

Para poder arrancar linux con un disquete grub necesitaremos conocer algunos datos, en particular donde está el núcleo y cuale son las particiones de arranque de los distintos sistemas.

Suponiendo que tenemos instalado Linux en /dev/hda3 como partición raíz y Windows en /dev/hda1.

Arrancamos el sistema desde el disquete y nos debe aparecer el indicador:

grub>
              

lo que quiere decir que grub está esperando nuestra órdenes.

Para iniciar Linux suponiendo que /boot está en una partición independiente (por ejemplo /dev/hda2) tecleamos:

   grub> root (hd0,1)      
    grub> kernel /vmlinuz-2.4.20-18-8 root=/dev/hda3
    grub> initrd /initrd-2.4.20-18-8.img
    grub> boot
              

es decir todas las rutas de acceso a ficheros son relativas a la partición /boot.

Primero indiacamos cual es la partición correspondiente a /boot, que si en nuestro caso es /dev/hda2, entonces en notación "grub" será (hd0,1).

En segundo lugar indicamos el fichero que contiene el núcleo y a continuación le pasamos los parámetros necesarios. En particular root=/dev/hda3 indica cual es la partición raíz del sistema operativo.

Por último boot inicia la carga del sistema.

Si no tuviéramos una partición independiente para /boot, si tuviéramos /boot como un directorio de l patición raíz, entonces deberíamos poner:

   grub> root (hd0,2)      
    grub> kernel /boot/vmlinuz-2.4.20-18-8 root=/dev/hda3      
    grub> initrd /boot/initrd-2.4.20-18-8.img      
    grub> boot
              

En este caso la partición raíz de grub y la partición raíz del sistema coinciden y en el ejemplo es /dev/hda3 o bien (hd0,2).

Ahora la ruta al fichero que contiene el núcleo debe incluir el directorio /boot, que ya no es una partición independiente. Igual para con initrd.

Como antes, una vez escritos los parámetros procedemos a la carga con boot.

Para arrancar Windows:

    grub> root (hd0,0)      
     grub> makeactive      
     grub> chainloader +1      
     grub> boot
              

Para evitar errores al teclear podemos usar el tabulador para completar las órdenes que tenemos que introducir.

Hay que tener en cuenta que el teclado que utiliza grub es el US, por lo que puede que la distribución de las teclas tengan algunas diferencias sobre lo que refleja el teclado.