Lo planteado en este artículo está probado (por el autor del artículo) y funciona. De hecho parece lógico que así sea.
Supongo que para versiones anteriores o posteriores que se rijan por el mismo principio de fichero de configuración grub.cfg también debería funcionar.
El problema con el menú de arranque es que cada vez que se actualiza el sistema con un nuevo núcleo este aumenta de tamaño, al igual que el tamaño de la carpeta /boot o el espacio ocupado en dicha partición.
Si tenemos una partición para /boot de 100 MB puede que tengamos problemas en algún momento (incluso con 200 MB). No se si en caso de tener llena la partición el sistema machaca los ficheros antiguos con la copia de los nuevos?
Proceso de eliminación de los ítems del menú de arranque y eliminación de ficheros no necesarios al eliminar los items correspondientes.
Este sería un ejemplo de un menú limpio con sólo un núcleo Linux (2.6.31-14) y el sistema Windows 7.
Cuando hacemos actualizaciones de núcleos de Linux el menú aumenta su tamaño:
1º- Modificación del menú de arranque: grub.cfg
a) Desde un terminal (Aplicaciones → Accesorios → Terminal ) entramos en la carpeta grub: $ cd /boot/grub
b) Editamos el fichero grub.cgf como administradores: $ sudo gedit grub.cfg
c) Al editar el fichero nos aparece lo siguiente:
…
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, con Linux 2.6.32-27-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set a999009c-4b16-4eef-ad1e-e26a0f73f6f9
linux /vmlinuz-2.6.32-27-generic root=UUID=8c5a8ac2-3a55-4bd8-a539-a6f94c665d31 ro quiet splash
initrd /initrd.img-2.6.32-27-generic
}
menuentry 'Ubuntu, con Linux 2.6.32-27-generic (modo recuperación)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set a999009c-4b16-4eef-ad1e-e26a0f73f6f9
echo 'Cargando Linux 2.6.32-27-generic ...'
linux /vmlinuz-2.6.32-27-generic root=UUID=8c5a8ac2-3a55-4bd8-a539-a6f94c665d31 ro single
echo 'Cargando el disco RAM inicial...'
initrd /initrd.img-2.6.32-27-generic
}
menuentry 'Ubuntu, con Linux 2.6.32-26-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set a999009c-4b16-4eef-ad1e-e26a0f73f6f9
linux /vmlinuz-2.6.32-26-generic root=UUID=8c5a8ac2-3a55-4bd8-a539-a6f94c665d31 ro quiet splash
initrd /initrd.img-2.6.32-26-generic
}
menuentry 'Ubuntu, con Linux 2.6.32-26-generic (modo recuperación)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set a999009c-4b16-4eef-ad1e-e26a0f73f6f9
echo 'Cargando Linux 2.6.32-26-generic ...'
linux /vmlinuz-2.6.32-26-generic root=UUID=8c5a8ac2-3a55-4bd8-a539-a6f94c665d31 ro single
echo 'Cargando el disco RAM inicial...'
initrd /initrd.img-2.6.32-26-generic
}
### END /etc/grub.d/10_linux ###
...
Vemos que tenemos 4 ítems situados en menuentry. Lo que hay que hacer aquí es eliminar el código completo de los menús: menuentry ... { … }.
Por ejemplo si quisiera eliminar el ítem del menú de arranque que hace referencia a Linux 2.6.32-26-generic y Linux 2.6.32-26-generic (modo recuperación) debo eliminar dicho código (por lógica elimino el más antiguo). Con lo cual el fichero grub.cfg anterior quedaría:
…
Nota: la ventana anterior es un ejemplo hecho en el pendrive donde tenia copiados (copia de seguridad) los ficheros de varios ítems que eliminé.
Modificar el orden de los ítems del menú de arranque:
Esto se puede hacer cambiando el orden de los menús menuentry ... { … }.
O de una forma más fácil y gráfica con el Administrador de Arranque de Ubuntu.
Se puede instalar desde Sistema → Administración → Gestor de paquetes Synactic el paquete: startupmanager junto con el paquete menu (este último se nos indica para añadirlo).
Una vez instalado aparecerá en Sistema → Administración un nuevo ítem: Administrador de Arranque
Aquí podréis seleccionar el sistema operativo por defecto que primero aparecerá en el menú de arranque y por tanto el que se cargará si no se selecciona otro transcurrido 10 s en este caso (este tiempo de espera también se puede cambiar).
Por ejemplo si quisiera eliminar el ítem del menú de arranque que hace referencia a Linux 2.6.32-26-generic y Linux 2.6.32-26-generic (modo recuperación) debo eliminar dicho código (por lógica elimino el más antiguo). Con lo cual el fichero grub.cfg anterior quedaría:
…
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, con Linux 2.6.32-27-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set a999009c-4b16-4eef-ad1e-e26a0f73f6f9
linux /vmlinuz-2.6.32-27-generic root=UUID=8c5a8ac2-3a55-4bd8-a539-a6f94c665d31 ro quiet splash
initrd /initrd.img-2.6.32-27-generic
}
menuentry 'Ubuntu, con Linux 2.6.32-27-generic (modo recuperación)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set a999009c-4b16-4eef-ad1e-e26a0f73f6f9
echo 'Cargando Linux 2.6.32-27-generic ...'
linux /vmlinuz-2.6.32-27-generic root=UUID=8c5a8ac2-3a55-4bd8-a539-a6f94c665d31 ro single
echo 'Cargando el disco RAM inicial...'
initrd /initrd.img-2.6.32-27-generic
}
### END /etc/grub.d/10_linux ###
...
d) Ahora guardamos el fichero.
2º- Eliminamos ficheros no necesarios en /boot:
a) Retrocedemos a la carpeta /boot: $ cd ..
b) Ahora eliminaremos todos los ficheros que hacen referencia al ítem eliminado: Linux 2.6.32-26-generic. Eliminamos todos los ficheros que contengan el texto 2.6.32-27-generic estos son:
$ sudo rm abi-2.6.32-26-generic
$ rm config-2.6.32-26-generic
$ rm initrd.img-2.6.32-26-generic
$ rm System.map-2.6.32-26-generic
$ rm vmcoreinfo-2.6.32-26-generic
Para eliminarlos todos sin tener que escribirlos de uno en uno. Hacemos lo siguiente:
$ sudo rm -i *-2.6.32-27- * (-i para pedir confirmación. También se pueden eliminar sin confirmar).
Nota: la ventana anterior es un ejemplo hecho en el pendrive donde tenia copiados (copia de seguridad) los ficheros de varios ítems que eliminé.
Sólo os queda reiniciar el equipo para comprobar el resultado.
Modificar el orden de los ítems del menú de arranque:
Esto se puede hacer cambiando el orden de los menús menuentry ... { … }.
O de una forma más fácil y gráfica con el Administrador de Arranque de Ubuntu.
Se puede instalar desde Sistema → Administración → Gestor de paquetes Synactic el paquete: startupmanager junto con el paquete menu (este último se nos indica para añadirlo).
Una vez instalado aparecerá en Sistema → Administración un nuevo ítem: Administrador de Arranque
Aquí podréis seleccionar el sistema operativo por defecto que primero aparecerá en el menú de arranque y por tanto el que se cargará si no se selecciona otro transcurrido 10 s en este caso (este tiempo de espera también se puede cambiar).







No hay comentarios:
Publicar un comentario