Agradecida pelo esclarecimento Sampayu!
(...)
Como devo editar o GRUB_DEFAULT=0 ??
Definir o kernel padrão do sistema é uma tarefa um pouco mais complicada, mas nada impossível.
Quando você instala um kernel cuja versão é
mais recente que a versão do kernel padrão do seu sistema, é fácil: em tal caso, o GRUB automaticamente faz com que esse kernel mais novo que você instalou passe a ser o kernel padrão do sistema...
...porém, quando você instala um kernel de versão
anterior à do kernel padrão do seu sistema, o GRUB continua usando o kernel mais recente como padrão do sistema. Por isto, em tal caso é necessário informar manualmente ao GRUB que o kernel mais antigo que você instalou é que tem de ser considerado o kernel padrão. E, para fazer isso, é antes necessário descobrir, dentro dos menus e das opções dos menus de boot (inicialização) que o GRUB cria para os kernels, qual é a localização desse kernel mais antigo que você instalou e que deseja definir como padrão do sistema.
PRIMEIRO PASSOBom, o primeiro passo consiste em executar este comando, no terminal do shell do Linux:
cat /boot/grub/grub.cfg |grep menuentry |gedit -
...ou, se você estiver sem interface gráfica, alternativamente execute este comando:
cat /boot/grub/grub.cfg |grep menuentry |nano -
Obs.: se você não tiver o
gedit instalado, instale-o com o comando
sudo apt-get install gedit -y e depois execute lá o primeiro comando. Mas, se você não estiver executando a interface gráfica, execute o segundo comando, pois o
nano é um editor de textos que "roda" diretamente no shell (editor de textos que é executado em "modo texto"), não precisa de interface gráfica. Dentro do terminal do shell, caso seu sistema esteja conectado à Internet basta executar
sudo apt-get install nano -y que o
nano será instalado.
Qualquer um dos dois comandos acima irá extrair, de dentro do arquivo de configuração do GRUB do seu sistema Linux, uma cópia dos trechos que citam quais são os menus e as opções de menu de boot (inicialização). Por exemplo, no meu sistema o resultado do comando é este:
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
menuentry_id_option=""
export menuentry_id_option
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-59917d29-3e78-4cc5-8e87-1aa2c6c2175e' {
submenu 'Opções avançadas para Ubuntu' $menuentry_id_option 'gnulinux-advanced-59917d29-3e78-4cc5-8e87-1aa2c6c2175e' {
menuentry 'Ubuntu, com o Linux 4.7.10-040710-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.7.10-040710-generic-advanced-59917d29-3e78-4cc5-8e87-1aa2c6c2175e' {
menuentry 'Ubuntu, with Linux 4.7.10-040710-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.7.10-040710-generic-init-upstart-59917d29-3e78-4cc5-8e87-1aa2c6c2175e' {
menuentry 'Ubuntu, with Linux 4.7.10-040710-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.7.10-040710-generic-recovery-59917d29-3e78-4cc5-8e87-1aa2c6c2175e' {
menuentry 'Ubuntu, com o Linux 4.7.4-040704-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.7.4-040704-generic-advanced-59917d29-3e78-4cc5-8e87-1aa2c6c2175e' {
menuentry 'Ubuntu, with Linux 4.7.4-040704-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.7.4-040704-generic-init-upstart-59917d29-3e78-4cc5-8e87-1aa2c6c2175e' {
menuentry 'Ubuntu, with Linux 4.7.4-040704-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.7.4-040704-generic-recovery-59917d29-3e78-4cc5-8e87-1aa2c6c2175e' {
menuentry 'Ubuntu, com o Linux 4.7.2-040702-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.7.2-040702-generic-advanced-59917d29-3e78-4cc5-8e87-1aa2c6c2175e' {
menuentry 'Ubuntu, with Linux 4.7.2-040702-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.7.2-040702-generic-init-upstart-59917d29-3e78-4cc5-8e87-1aa2c6c2175e' {
menuentry 'Ubuntu, with Linux 4.7.2-040702-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.7.2-040702-generic-recovery-59917d29-3e78-4cc5-8e87-1aa2c6c2175e' {
menuentry 'Ubuntu, com o Linux 4.7.1-040701-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.7.1-040701-generic-advanced-59917d29-3e78-4cc5-8e87-1aa2c6c2175e' {
menuentry 'Ubuntu, with Linux 4.7.1-040701-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.7.1-040701-generic-init-upstart-59917d29-3e78-4cc5-8e87-1aa2c6c2175e' {
menuentry 'Ubuntu, with Linux 4.7.1-040701-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.7.1-040701-generic-recovery-59917d29-3e78-4cc5-8e87-1aa2c6c2175e' {
menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {
Aquele código
menuentry 'Ubuntu' significa que o GRUB do meu Linux tem um
menu padrão intitulado "Ubuntu". Além disso, aquele código
submenu 'Opções avançadas para Ubuntu' significa que o GRUB do meu Linux tem um
menu secundário intitulado "Opções avançadas para Ubuntu".
Dentro do menu secundário "Opções avançadas para Ubuntu" existem 12 opções: a 1ª delas é
'Ubuntu, com o Linux 4.7.10-040710-generic', que executa o kernel "4.7.10-040710-generic", e a última delas (12ª opção) é
'Ubuntu, with Linux 4.7.1-040701-generic (recovery mode)', que executa o kernel 4.7.1-040701-generic em modo de recuperação ("recovery mode").
No GRUB, a contagem dos menus e das opções de menu
inicia em zero, assim: 0, 1, 2, 3... Então, no caso do meu sistema, aquele código
'Ubuntu' corresponde ao
menu 0 (menu zero) e aquele código
'Opções avançadas para Ubuntu' corresponde ao
menu 1. O mesmo vale para as opções que estão lá dentro do "menu 1": o código
'Ubuntu, com o Linux 4.7.10-040710-generic' corresponde à
opção 0 e o código
'Ubuntu, with Linux 4.7.1-040701-generic (recovery mode)' corresponde à
opção 11.
Digamos, por exemplo, que eu queira inicializar o kernel 4.7.4-040704-generic em modo de recuperação ("recovery mode"). Observe que, no meu caso, esse item é o sexto da lista do segundo menu. Como no GRUB a contagem inicia em zero, o menu em questão é o
menu 1 (segundo menu) e a opção dentro dessa lista do menu 1 é a
opção 5 (o sexto código da lista de opções, código esse denominado
'Ubuntu, with Linux 4.7.4-040704-generic (recovery mode)').
Vou repetir aqui o resultado lá do primeiro comando, mas desta vez com a numeração dos menus e das opções dentro dos menus, para facilitar a compreensão:
-
Menu 0: 'Ubuntu'
-
Menu 1: 'Opções avançadas para Ubuntu'
--
Opção 0: 'Ubuntu, com o Linux 4.7.10-040710-generic'
--
Opção 1: 'Ubuntu, with Linux 4.7.10-040710-generic (upstart)'
--
Opção 2: 'Ubuntu, with Linux 4.7.10-040710-generic (recovery mode)'
--
Opção 3: 'Ubuntu, com o Linux 4.7.4-040704-generic'
--
Opção 4: 'Ubuntu, with Linux 4.7.4-040704-generic (upstart)'
--
Opção 5: 'Ubuntu, with Linux 4.7.4-040704-generic (recovery mode)'
--
Opção 6: 'Ubuntu, com o Linux 4.7.2-040702-generic'
--
Opção 7: 'Ubuntu, with Linux 4.7.2-040702-generic (upstart)'
--
Opção 8: 'Ubuntu, with Linux 4.7.2-040702-generic (recovery mode)'
--
Opção 9: 'Ubuntu, com o Linux 4.7.1-040701-generic'
--
Opção 10: 'Ubuntu, with Linux 4.7.1-040701-generic (upstart)'
--
Opção 11: 'Ubuntu, with Linux 4.7.1-040701-generic (recovery mode)'
-
Menu 2: 'System setup'
Portanto, se eu quiser que o GRUB por padrão execute a opção
'Ubuntu, with Linux 4.7.4-040704-generic (recovery mode)' do exemplo acima, eu tenho de informar ao GRUB que essa opção está no
menu 1 e que, dentro desse menu 1, essa opção é a
opção 5. O código que representa essa informação é este, que utiliza a
posição ordinal do menu e a
posição ordinal da opção dele (lembrando que a contagem das posições ordinais inicia em
zero):
'1>5'
...ou então este outro código (dá na mesma), que utiliza o
nome do menu e o
nome da opção que está dentro desse menu:
'Opções avançadas para Ubuntu>Ubuntu, with Linux 4.7.4-040704-generic (recovery mode)'
Bom, agora como fazemos para passar essa informação para o GRUB? É simples...
SEGUNDO PASSOAnote os números ordinais (ou os respectivos nomes) do menu e da opção que você deseja que passe a ser o padrão do GRUB. Em seguida, retorne ao terminal do shell do Linux e execute este comando, que usará o
gedit para editar o arquivo de configuração do GRUB:
sudo gedit /etc/default/grub
...daí vá até lá na linha onde se lê:
GRUB_DEFAULT=0
...e substitua o valor
0 (ou qualquer outro que esteja constando ali depois do sinal de igualdade) pelo valor desejado. No caso do exemplo acima, para se selecionar o menu 1 e a opção 5 desse menu 1 o código, em modo ordinal, deverá ficar assim:
GRUB_DEFAULT='1>5'
...e, para se usar o nome do menu e o nome da opção desse menu (ao invés de se usar as posições ordinais deles), o código deverá ficar assim:
GRUB_DEFAULT='Opções avançadas para Ubuntu>Ubuntu, with Linux 4.7.4-040704-generic (recovery mode)'
Obs.: caso você esteja no modo sem interface gráfica, use o
nano para editar o arquivo de configuração do GRUB:
sudo nano /etc/default/grub
Após modificar o valor do parâmetro
GRUB_DEFAULT,
salve o arquivo e então feche o editor de textos.
Obs.: no
gedit, o comando de teclado para salvar as alterações efetuadas no arquivo é a combinação de teclas
Ctrl S e o comando de teclado para fechar o
gedit é a combinação de teclas
Alt F4. Já no
nano, a combinação de teclas para salvar as alterações é
Ctrl O e a combinação de teclas para fechar o
nano é
Ctrl X.
TERCEIRO PASSOAgora que você está de volta ao terminal, execute este comando para que as modificações efetuadas no arquivo de configuração do GRUB sejam gravadas dentro do GRUB:
sudo update-grub
Se você fez tudo certo até aqui, reinicie o computador:
sudo telinit 6
...que ele passará a, por padrão, inicializar ("boot") o kernel que você definiu lá em
GRUB_DEFAULT.