IMPORTANTE
Não faça os procedimentos abaixo em computadores de produção, se você não tiver muita experiencias em sistema Linux, ou não se sentir seguro o suficiente, mas se quiser seguir em frente, faça backups do arquivos importantes para você em um pendrive, outro disco ou gravar em DVD antes de prosseguir, pois se você não fizer corretamente ou algo der errado e você não conseguir resolver sem reinstalar o sistema, a reinstalação será sua única solução.
A inclusão do memtest
é feita a partir do script /etc/grub.d/20_memtest86+.
Para evitar que o
memtest entre no menu do grub em todas as atualizações do kernel,
basta mudar as permissões do referido script com o seguinte comando:
# chmod -x
/etc/grub.d/20_memtest86+
O script continuará
lá, mas não será mais incluso no menu do grub.
# update-grub
Editar os itens do
menu, remover ou renomear o nome do sistema
Abra o arquivo
/boot/grub/grub.cfg com um editor de texto.
Copie todas as linhas
que comecem com "menuentry"
até o "}" (chaves).
Cole as linhas copiada
no arquivo /etc/grub.d/40_custom e salve.
Notas:
A ordem
do boot será determinada pela ordem que você colar as entradas.
Você
poderá renomear as entradas que estejam em azul, devendo permanecer
as aspas.
É
importante que não haja quebra de linha nos itens e que seja
obedecida a disposição exata da abertura e fechamento de cada chave
“{ e }” de acordo como está no arquivo original. Aqui há quebra devido ao layout da página podendo não está alinhado como no arquivo.
Exemplo
do /etc/grub.d/40_custom:
#!/bin/sh
exec
tail -n +3 $0
menuentry "Linux
Slackware (on /dev/sda1)" {
insmod
part_msdos
insmod ext2
set
root='(hd0,msdos1)'
search
--no-floppy --fs-uuid --set bb1c0561-899b-4fda-9f3c-818fe1116e31
linux
/boot/vmlinuz root=/dev/sda1 ro vt.default_utf8=0 vga = 773
raid=noautodetect
}
menuentry 'Ubuntu,
with Linux 2.6.35-22-generic' --class ubuntu --class gnu-linux
--class gnu --class os {
recordfail
insmod part_msdos
insmod reiserfs
set
root='(hd0,msdos6)'
search --no-floppy
--fs-uuid --set eabc53b2-4e19-48e8-af78-017b62643311
linux /boot/vmlinuz-2.6.35-22-generic
root=UUID=eabc53b2-4e19-48e8-af78-017b62643311 ro quiet splash
initrd /boot/initrd.img-2.6.35-22-generic
}
menuentry 'Ubuntu,
with Linux 2.6.35-22-generic (recovery mode)' --class ubuntu
--class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod reiserfs
set
root='(hd0,msdos6)'
search --no-floppy
--fs-uuid --set eabc53b2-4e19-48e8-af78-017b62643311
echo 'Loading Linux
2.6.35-22-generic ...'
linux /boot/vmlinuz-2.6.35-22-generic
root=UUID=eabc53b2-4e19-48e8-af78-017b62643311 ro single
echo 'Loading initial
ramdisk ...'
initrd /boot/initrd.img-2.6.35-22-generic
}
menuentry "Windows
7 (loader) (on /dev/sda3)" {
insmod part_msdos
insmod ntfs
set
root='(hd0,msdos3)'
search --no-floppy
--fs-uuid --set 4bcb70414cbf0896
chainloader +1
}
Em azul é
o nome dado ao sistema que aparece no menu do grub2 no boot. Este é
um grub2 da distro Xubuntu derivado do Ubuntu; no Menu pra o sistema
Ubuntu é usado aspas simples e no menu dos outros sistemas
operacionais como o Slackware e Windows 7 é usado aspas duplas.
Se você
quiser pode renomear o nome Slackware para algo como Slackware 13.1
ou My Slackware, podendo fazer a mesma coisa nas outras partes do
nome do sistema que terá no menu na parte em azul.
A ordem
original era os itens do Ubuntu primeiro, após o Slackware e depois
o Windows 7.
Como o
Slackware é o primeiro item do menu, este será o default na
inicialização caso você não teclar Enter ou escolher outro pra
boot e caso você queira que o Windows 7 seja o default coloque as
linhas dele primeiro na ordem de boot.
Agora
para que apareça no boot somente o arquivo personalizado, execute o
comando que remove o bit executável dos arquivos "10_linux",
"20_memtest86+" e "30_os-prober".
# chmod
-x /etc/grub.d/10_linux
# chmod
-x /etc/grub.d/20_memtest86+
# chmod
-x /etc/grub.d/30_os-prober
#
update-grub
Generating
grub.cfg ...
done
Reinicie
o sistema e verifique o resultado!
Notas 2:
Caso você instale um
novo kernel o mesmo não será atualizado automaticamente deverá
colocar permissão x nos arquivos anteriores:
/etc/grub.d/10_linux,
e /etc/grub.d/30_os-prober e depois fazer update-grub, com isto você
perderá as entradas personalizadas do menu, depois deverá repetir o
mesmo processo para personalizar o menu com o novo kernel.
Sob chmod
-x /etc/grub.d/30_os-prober (se você não retirar
permissão terá itens duplicados no menu, ou seja o seu menu
personalizado mais a detecção de outros sistemas que será
adicionado ao menu).
A
edição direta do arquivo /boot/grub/grub.cfg não funciona no
Grub2, pois quando você executar o comando update-grub este arquivo
será substituído pelas configurações detectadas dos scripts
localizados em /etc/grub.d.
Faça
antes um backup de todos os arquivos das pastas /boot/grub,
/etc/grub.d usando o comando tar -cvf originais.tar * dentro da pasta
e faça uma copia do arquivo /etc/default/grub. Assim caso haja com
problema, basta usar uma distro em live CD pra recuperar o grub sem
precisar reinstalar.
Os testes
feito por mim, foi feito usando o grub2 instalado pelo Xubuntu 10.10.
Retirando
o modo de recuperação
Se você
não quer que as entradas apareçam no Grub2, faça assim:
# gedit
/etc/default/grub
Descomente
a última parte do texto, conforme abaixo:
#
Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true"
Para:
#
Uncomment to disable generation of recovery mode menu entrys
GRUB_DISABLE_LINUX_RECOVERY="true"
Se quiser
aumentar o tempo de espera antes que o Grub inicie o sistema
operacional padrão, mude neste item:
GRUB_TIMEOUT="20"
Aqui no
meu caso eu mudei de 5 para 20 segundos, fica a seu critério!
Feito
todos esses, passos salve o arquivo e em seguida você deve executar:
#
update-grub
Reinicialize
o sistema e veja o resultado!
Recuperando
o grub2
De um
boot com uma live CD.
Monte a
partição : (Troque sda2 pela partição do seu sistema)
# mount
/dev/sda2 /mnt
Reinstale
o GRUB 2 :
#
grub-install --root-directory=/mnt /dev/sda
Reinicie
o computador.
Notas:
Alternativamente
pode usar o chroot.
Precisamos
trabalhar no diretório raiz do nosso antigo sistema, e então usamos
o chroot root que faz essa tarefa. Se atente para que indique o
caminho correto da montagem do sistema. Na prática:
# chroot
/mnt
#
grub-install /dev/sda
Pressione
Ctrl+D para sair do modo “chroot” e reinicie o computador.
Backup
extra de segurança antes de fazer alterações no Grub
BACKUP DO
MBR
Para
efetuar o backup pelo Linux, digite o comando:
# dd
if=/dev/hda of=hda.mbr bs=512 count=1
Substitua
pelo endereço do disco onde se encontra a MBR. Hdx é o padrão em
sistemas GNU/LINUX mais antigos para indicar discos IDE. Discos SCSI ou Sata são
representados por sdX. Nas distros mais recentes todos os discos IDE, SATA E SCSI, começa com sdX, onde em X, substituir pela letra a,b,c,d,e,f,g...
Com este
comando, será criado um arquivo chamado hda.mbr. Este arquivo deve
ser salvo fora de seu computador. Faça uma transferência via FTP
para outra máquina ou grave este arquivo em um pendrive.
Para
restaurar a MBR utilize o comando:
# dd
if=hda.mbr of=/dev/hda bs=512 count=1
Tenha
cuidado ao restaurar o backup e execute este comando no mesmo local
de onde está o arquivo para não perder as informações do MBR.
No teste
que eu fiz, o arquivo de backup hda.mbr possuir o tamanho de 512
bytes.
Onde
colocar paramentos especiais de boot pra o Grub2 ?
No
arquivo /etc/default/grub coloque o parâmetro na linha
GRUB_CMDLINE_LINUX= "entre aspas
duplas"
Exemplo:
GRUB_CMDLINE_LINUX="vga=792 splash quiet 440 480"
Exemplo
parcial do arquivo /etc/default/grub
# If you
change this file, run 'update-grub' afterwards to update
#
/boot/grub/grub.cfg.
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release
-i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet
splash"
GRUB_CMDLINE_LINUX=""
Nenhum comentário:
Postar um comentário