Si estáis cansados de que el GRUB2 os muestre repetidas algunas entradas en el arranque sólo porque tenéis varias particiones y las "lee mal", si sólo queréis UN linux y UN Windows para mostrar en la interminable lista o, simplemente, porque queréis trastear, aquí os dejo un pequeño tutorial sobre cómo modificar el GRUB2 para que muestre la lista de arranque como más os guste.

Lo primero es copiar el fichero /boot/grub2/grub.cfg en algún sitio seguro por si nos equivocamos en algún paso y queremos volver al principio:

$ sudo cp /boot/grub2/grub.cfg /media/USB/

También se puede hacer 'grub-update', aunque recomiendo usarlo con precaución ya que puede machacar configuraciones manuales que hayamos realizado.

Lo segundo tras hacer el backup, es acceder como súper usuarios al fichero /boot/grub2/grub.cfg que acabamos de copiar para modificarlo:

$ sudo gedit /boot/grub2/grub.cfg

Tras esto, localizamos la línea:

### BEGIN /etc/grub.d/10_linux ###

Esta es la etiqueta que engloba a los sistemas Linux. Simplemente, ponemos una almohadilla (#) delante de cada entrada que no queramos mostrar. Por ejemplo, en nuestro equipo tenemos la entrada siguiente:

menuentry 'Fedora (3.2.2-1.fc16.x86_64)' --class fedora --class gnu-linux --class gnu --class os {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos6)'
	search --no-floppy --fs-uuid --set=root c1c7931d-ac29-4099-b712-5a41ce352f43
	echo 'Loading Fedora (3.2.2-1.fc16.x86_64)'
	linux	/boot/vmlinuz-3.2.2-1.fc16.x86_64 root=UUID=c1c7931d-ac29-4099-b712-5a41ce352f43 ro 
rd.md=0 rd.lvm=0 rd.dm=0 quiet SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 KEYTABLE=es LANG=es_ES.UTF-8 echo 'Loading initial ramdisk ...' initrd /boot/initramfs-3.2.2-1.fc16.x86_64.img }

Que si queremos que no se muestre en el arranque, ponemos de la siguiente forma:

# menuentry 'Fedora (3.2.2-1.fc16.x86_64)' --class fedora --class gnu-linux --class gnu --class os {
# 	load_video
# 	set gfxpayload=keep
# 	insmod gzio
# 	insmod part_msdos
# 	insmod ext2
# 	set root='(hd0,msdos6)'
# 	search --no-floppy --fs-uuid --set=root c1c7931d-ac29-4099-b712-5a41ce352f43
# 	echo 'Loading Fedora (3.2.2-1.fc16.x86_64)'
# 	linux	/boot/vmlinuz-3.2.2-1.fc16.x86_64 root=UUID=c1c7931d-ac29-4099-b712-5a41ce352f43 ro 
rd.md=0 rd.lvm=0 rd.dm=0 quiet SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 KEYTABLE=es LANG=es_ES.UTF-8 # echo 'Loading initial ramdisk ...' # initrd /boot/initramfs-3.2.2-1.fc16.x86_64.img # }

Haciendo esto mismo con todos los sistemas que aparezcan en este fichero y que no queramos que aparezcan en el arranque, conseguiremos nuestro cometido

Si además queremos cambiar el nombre con que se muestran, sólo debemos cambiar el nombre que aparece entre comillas tras el menuentry. Siguiendo con el ejemplo anterior:

menuentry 'Fedora (3.2.2-1.fc16.x86_64)' --class fedora --class gnu-linux --class gnu --class os {

Podríamos modificarlo para que aparezca Fedora 16 kernel 3.2.2-1 en lugar de Fedora (3.2.2-1.fc16.x86_64) sin más que modificar el entrecomillado:

menuentry 'Fedora 16 3.2.2-1' --class fedora --class gnu-linux --class gnu --class os {

Tras esto sólo falta guardar y reiniciar el equipo para ver el resultado.