En alguna ocasión me he encontrado con un enlace recursivo que (personalmente) no me gusta nada sobretodo cuando estás con un navegador como poir ejemplo konqueror o nautilus.
Éste es un enlace recursivo de /boot/boot a /boot/
gentoo boot # ls -l total 3038 lrwxrwxrwx 1 root root 1 Sep 5 05:23 boot -> . |
Lo que nos quiere decir que el link boot nos a punta a "actual directorio", si hicieramos:
gentoo boot # cd boot |
Nos volveríamos a encontrar una y otra vez con el mismo contenido hata el infinito.
¿Por que nos pasa esto?
Al montar: mount /dev/hda1 /boot/, el contenido de hda1 está realmente en / , bien, al ponerle esta línea a grub
kernel (hd0,0)/boot/kernel-2.4.22 root=/dev/hda3
Va al directorio /boot/ cuando realmente (hd0,0) tiene el kernel en / , entonces se guenera ese link recursivo llamado boot, de forma que cuando vaya a buscar ese directorio, encontrará el link y éste a su vez le estará diciendo que debe leer el "actual directorio" y así salvamos el posible fallo de tubieramos al llamarlo erróneamente, o tambien preservaríamos la forma standard de llamar al kernel.
Nota:grub tiene una manera muy curiosa de nombrar a los discos (y esto es lo que más lia), nombra los discos como lo haría en BSD de forma que (hd0,0) sería igual a: hda1, (hd1,1) a hdb2 y así.A la hora de configurar grub es necesario tener en cuenta cuan es la clave para no equivocarnos al llamar a /boot/kernel{versión}. Por ejemplo; si hemos configurado:
Partición | Sistema de Ficheros | Tamaño | Descripción |
no debemos descuidar que para grub (Linux) el boot esta en el / de /dev/hda1 con lo que la linea de llamada al boot será algo así:
(listado correspondiente a grub cuendo hemos utilizado genkernel)
default 0 timeout 30 splashimage=(hd0,0)/grub/splash.xpm.gz title=Gentoo Linux 2.4.22 root (hd0,0) kernel (hd0,0)/kernel-2.4.22 root=/dev/hda3 initrd (hd0,0)/initrd-2.4.22# Solo en caso de arranque doble title=Windows XP root (hd0,5) chainloader +1
Pero si sólo temenos dos particiones (swap y boot+sistema_de_ficheros) la cosa cambiaría:
splashimage=(hd0,0)/boot/grub/splash.xpm.gz title=Gentoo Linux 2.4.22 root (hd0,0) kernel (hd0,0)/boot/kernel-2.4.22 root=/dev/hda3 initrd (hd0,0)/boot/initrd-2.4.22
Ya que no existe un punto de montaje en /boot que corresponda a /dev/hda1 y portnto se comporte como un directorio sólo si se monta en /etc/fstab al inicio y bien si lo montamos nosotros a mano, si no que /boot/ es un directorio y debe ser detallado.
Estracto de: http://www.gnu.org/software/grub/grub-faq.es.htmTengo una partición boot separada en GNU/Linux (u otro sistema tipo UNIX), y GRUB parece no manejar correctamente esta situación.Esto es a menudo considerado un bug, pero en realidad no lo es. Es una funcionalidad.GRUB es un gestor de arranque y normalmente no se ejecuta bajo ningún sistema operativo, por tanto no sabe donde está montada una partición bajo tu sistema. Por tanto, si tienes una partición /boot e instalas las imágenes de GRUB en el directorio /boot/grub, GRUB encuentra las imágenes en el directorio /grub pero no en /boot/grub. Esto es correcto, ya que no hay garantía de que todos los sistemas operativos monten la misma partición como /boot.Hay varias soluciones a esta situación.
- Instalar GRUB en el directorio /boot/boot/grub en lugar de en /boot/grub. Puede parecer feo, pero funciona bien.
- Crear un enlace simbólico antes de instalar GRUB, por ejemplo
cd /boot && ln -s . boot
. Esto funciona sólo si el sistema de ficheros de la partición boot soporta enlaces simbólicos y GRUB soporta esta funcionalidad. - Instalar GRUB con la orden install, para especificar las trayectorias de las imágenes explicitamente. Por ejemplo:
grub> root (hd0,1)
grub> install /grub/stage1 d (hd0) /grub/stage2 p /grub/menu.lst
Últimos comentarios