Configurando somente o básico do Grub
fonte:
http://www.vivaolinux.com.br/dica/Configurando-somente-o-basico-do-Grub2Esta dica visa resumir o que é preciso configurar para escolher a ordem de boot, o tempo de espera para iniciar no sistema escolhido como padrão e também visa uma maneira de evitar que a cada atualização ou a cada comando : " #update-grub " , você tenha que configurar todas entradas novamente!
Obs.1: O GRUB2 foi adotado pelo Ubuntu a partir da versão 9.1. Sua estrutura de arquivos e de configuração é bem diferente do GRUB, que ainda acompanha distribuições linux como o OpenSuse.
Obs.2: Essa dica foi feita com base no Ubuntu, mas caso você use outra distro que não use o "sudo", basta se logar como root e retirar a palavra "sudo" de todos os comandos.
O arquivo no qual ficam armazenadas as entradas de todos sistemas operacionais instalados é o
grub.cfg, que fica em
/boot/grub/. Para visualizá-lo você precisa rodar o comando:
$ sudo gedit /boot/grub/grub.cfgLogo será aberto um editor de texto com o arquivo onde na primeira linha estará escrito:
DO NOT EDIT THIS FILE
Ou seja, esse arquivo "teoricamente" não pode ser editado, pois se você quiser editar a ordem das entradas e suas escritas nada o impede. Porém nesta dica ensinarei a configuração do grub2 do modo correto e não a gambiarra! rsrsrsrs brincadeirinha.
O arquivo o qual você personalizará suas entradas no grub2 é o
40_custom, que fica em /etc/grub.d/.
Primeiro atualize a lista de seus sistemas instalados com o comando:
$ sudo update-grubAgora abra o arquivo grub.cfg:
$ sudo gedit /boot/grub/grub.cfgNele você terá todas entradas de seus sistemas instalados, onde abaixo segue um exemplo de entradas de Linux e Windows:
menuentry 'Ubuntu, with Linux 2.6.35-23-generic' --class ubuntu --class gnu-linux --class gnu --class
os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set f8f54563-c324-41a5-8412-275cb97418e2
linux /boot/vmlinuz-2.6.35-23-generic root=UUID=f8f54563-c324-41a5-8412-275cb97418e2 ro
quiet splash
initrd /boot/initrd.img-2.6.35-23-generic
}
menuentry "Windows 7 (loader) (on /dev/sda1)" {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 6020fefa20fed64e
chainloader +1
}
Agora para facilitar a edição abra em outro terminal o arquivo 40_custom:
$ sudo gedit /etc/grub.d/40_customNele você terá um arquivo assim:
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
Copie as entradas encontradas no arquivo grub.cfg para o 40_custom, onde as entradas começam em "menuentry {" e terminam em "}".
Após copiar suas entradas do grub.cfg para o arquivo 40_custom, ele deve ficar mais ou menos assim:
#!/bin/sh
echo "Adding 40_custom menu entries." >&2
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry 'Ubuntu, with Linux 2.6.35-23-generic' --class ubuntu --class gnu-linux --class gnu --class
os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set f8f54563-c324-41a5-8412-275cb97418e2
linux /boot/vmlinuz-2.6.35-23-generic root=UUID=f8f54563-c324-41a5-8412-275cb97418e2 ro
quiet splash
initrd /boot/initrd.img-2.6.35-23-generic
}
menuentry "Windows 7 (loader) (on /dev/sda1)" {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 6020fefa20fed64e
chainloader +1
}
Agora você poderá editar o texto que será exibido no boot, como por exemplo trocando de:
menuentry 'Ubuntu, with Linux 2.6.35-23-generic' --class ubuntu --class gnu-linux --class gnu --class os
Para:
menuentry " Ubuntu Maverick 10.10 Kernel 2.6.32 "
Isso é só um exemplo, ficando a seu critério o conteúdo escrito.
Após editar o arquivo 40_custom e deixá-lo como queria basta salvar e fechar ele.
Para definir a ordem de boot, ou seja, para definir qual sistemas iniciará após a contagem no boot esgotar, é preciso editar o arquivo grub que fica em /etc/default e para isso faça:
$ sudo gedit /etc/default/grub - GRUB_DEFAULT=0 <<<>
- GRUB_TIMEOUT=3 <<<>
Depois de editar esse arquivo basta salvar e fechá-lo.
Agora rode esse comando:
$ sudo chmod -x /etc/grub.d/10_linux /etc/grub.d/30_os-proberEsses dois arquivos por padrão vem em modo executáveis, ou seja, a cada update-grub que você der ele irá inserir as entradas no seu grub mas como você já editou elas no arquivo 40_custom elas ficariam duplicada e rodando esse comando você retira essas duplicações.
Obs.: A cada nova instalação de um Linux ou Windows ou a cada atualização ou instalação de um novo kernel você precisará voltar esses arquivos "10_Linux e 30_os-prober" para o estado de executáveis para que eles possam inserir as novas entradas no grub.cfg e assim você as copia para o arquivo 40_custom. Para retornar o modo executável desses arquivos faça:
$ sudo chmod +x /etc/grub.d/10_linux /etc/grub.d/30_os-prober << trocando -x por +x
Feito isso rode um:
$ sudo update-grubVá até o arquivo grub.cfg e copie as novas entradas para o 40_custom e depois retire o modo executável dos arquivos:
$ sudo chmod -x /etc/grub.d/10_linux /etc/grub.d/30_os-proberE novamente rode:
$ sudo update-grubCaso queira retirar o memtest também rode esse comando:
$ sudo chmod -x /etc/grub.d/20_memtest86+ E rode um:
$ sudo update-grub