Con el nuevo Grub 2 han mejorado algunas cosas, como que a cada actualizacion de kernel no se pierdan las modificaciones que hayas hecho, pero a cambio es mas dificil de configurar ya que todo esta en /etc/grub.d y /etc/default/grub en archivos separados.
Mi Notebook venia con Windows 7 y su respectiva particion de restauracion oculta, luego yo le instale Ubuntu 9.10 el que procedio a instalar Grub2, pero al reiniciar el menu lucia asi:
- Ubuntu 9.10, linux version
- Ubuntu 9.10, linux version (recovery mode)
- Memtest86
- Memtest86 (console…)
- Windows 7 (loader) (on /dev/sda1)
- Windows 7 (loader) (on /dev/sda2)
Al final tenia dos entradas iguales, de distintas particiones, una apuntaba a Windows 7 o la otra a la particion de restauracion, como tambien corre el kernel de Windows 7 sale con el mismo nombre.
Como no puedo modificar /boot/grub/grub.cfg porque a la primera actualizacion de kernel se perderian los cambios tenia que modificar el archivo desde donde sacaba eso.
En Guia Ubuntu encontre esta guia para renombrar una entrada del Grub 2, para eso ejecuta este comando para abrir el editor de texto
sudo gedit /etc/grub.d/30_os-prober
Luego buscar
if [ -z "${LONGNAME}" ] ; then
LONGNAME="${LABEL}"
fi
Y eso reemplazarlo por
if [ "${LONGNAME}" = "Titulo literal que aparece en el menu grub" ] ; then
LONGNAME="Nuevo título que quieres"
elif [ -z "${LONGNAME}" ] ; then
LONGNAME="${LABEL}"
fi
Pero eso era un buscar y reemplazar, asi que si ponia Windows 7 (loader) como titulo literal y nuevo titulo Windows 7 (recovery), como las dos tienen el mismo nombre, va a reemplazar ambas y se llamaran recovery.
Pero la solucion era agregar una nueva condicion al if, donde si el SO es Windows 7 (loader) y el dispositivo /dev/sda2 que es donde tengo el recovery va a modificar solamente esa entrada, por lo que el codigo va a quedar asi:
if [ "${LONGNAME}" = "Windows 7 (loader)" ] ; then
if [ "${DEVICE}" = "/dev/sda2" ] ; then
LONGNAME="Windows 7 (recovery)"
fi
elif [ -z "${LONGNAME}" ] ; then
LONGNAME="${LABEL}"
fi
Y ahi logre que solamente la entrada referente al recovery se renombrara, reemplaza Windows 7 (loader) por el nombre original y /dev/sda2 por la particion de la entrada a reemplazar.
Resultado final en el archivo grub.cfg
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" {
insmod ntfs
set root=(hd0,1)
search –no-floppy –fs-uuid –set id
chainloader +1
}
menuentry "Windows 7 (recovery) (on /dev/sda2)" {
insmod ntfs
set root=(hd0,2)
search –no-floppy –fs-uuid –set id
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
Comentarios recientes