Como posso inicializar com uma versão mais antiga do kernel?


56

O kernel mais recente está causando problemas com o meu som, que funcionou bem com uma versão mais antiga. Como eu tenho apenas o Ubuntu instalado, o Grub não é exibido durante a inicialização. Como posso escolher manualmente minha versão do kernel durante a inicialização?

Respostas:


59

A maneira mais simples de exibir seu Grub é pressionar e segurar o SHIFTbotão durante a inicialização.

Como alternativa, você sempre pode exibir o Grub sem inicializar nenhum kernel específico:

gksudo gedit /etc/default/grub

mude GRUB_TIMEOUTpara -1 e comenteGRUB_HIDDEN_TIMEOUT

terminar executando

sudo update-grub

5
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Eu comentei GRUB_HIDDEN_TIMEOUTe GRUB_TIMEOUT=0
— definai

Apenas para ser explícito: GRUB_HIDDEN_TIMEOUT é uma variável de ambiente que precisa ser definida ao executar 'update-grub'?
— Jonathan Hartley

11
@JonathanHartley GRUB_HIDDEN_TIMEOUTé definido em/etc/default/grub
— wjandrea 8/08

20

Mantendo a tecla Shift pressionada durante a inicialização, o menu Grub será exibido. Agora você pode selecionar uma versão mais antiga do kernel.

Para selecionar um kernel mais antigo como o kernel padrão, consulte esta postagem


2
No meu caso (Ubuntu 16.04), foi o turno da esquerda. O turno certo não funcionou.
— Bob

11
e se os kernels antigos não forem mostrados no grub (eles foram removidos)? Isso significa que esses kernels não são acessíveis?
— Kalamalka Kid

11
Eu tive que usar escape (ao invés de shift)
— Jonathan King

6

Ao inicializar quando o GRUB aparecer com entradas, selecione a segunda entrada, ou seja, Opções avançadas para o Ubuntu , você poderá ver diferentes versões mais antigas do kernel que foram instaladas anteriormente, você pode selecionar uma dentre elas que funcione bem para você. Caso contrário, você acessa o grub.cfg e cola a versão necessária do kernel na parte superior da entrada do kernel atualmente instalada. Nos dois aspectos, funciona


4

Se você possui alguns Kernels em seu sistema, pode definir manualmente qual versão do Kernel será iniciada:

  1. Reinicie o seu PC com o botão Shift pressionado para exibir o GRUB após a inicialização do BIOS. Você verá algo como: página inicial do GRUB

  2. Selecione "Opções avançadas para Ubuntu" e memorize o índice desta linha de menu (a contagem começa em 0). O índice da imagem é 1

Selecionar núcleo de concreto

  1. Selecione o kernel concreto para inicialização e também memorize o índice desta linha de menu (a contagem começa em 0). O índice de imagem do Kernel escolhido é 2

  2. Iniciar sistema. Esta ação é para uma inicialização no kernel concreto. Se você deseja começar a partir do Kernel concreto o tempo todo, siga os próximos passos:

4.1 Abra e edite o arquivo de configuração do GRUB:

sudo nano /etc/default/grub

4.2 Encontre a linha GRUB_DEFAULT = ... (por padrão GRUB_DEFAULT = 0) e defina no caminho do menu de cotações o Kernel concreto (lembre-se dos índices de menu das etapas 2 e 3). No meu sistema, o primeiro índice era 1 e o segundo, 2. Defina como GRUB_DEFAULT

GRUB_DEFAULT="1>2"

Salvar Arquivo.

4.3 Atualize as informações do GRUB para aplicar as alterações:

sudo update-grub

4.4 Após a reinicialização, você inicializa automaticamente no Kernel pelo caminho de menu escolhido. Um exemplo na minha máquina 1 -> 2

4.5 Verifique a versão do Kernel após a reinicialização:

uname -r


3

Por https://help.ubuntu.com/community/Grub2 :

GRUB_HIDDEN_TIMEOUT = 0

Essa configuração determina quanto tempo uma tela sem o menu GRUB 2 será exibida. Enquanto a tela estiver em branco, o usuário pode pressionar qualquer tecla para exibir o menu.

O comportamento padrão é ocultar o menu se apenas um sistema operacional estiver presente. Se um usuário apenas com o Ubuntu desejar exibir o menu, coloque um símbolo # no início desta linha para desativar o recurso de menu oculto.

Fazer o downgrade do kernel: Como fazer o downgrade do kernel na 11.10

Atualizar o kernel: Como atualizar o kernel para 3.1?


2

Por favor, instale o kernel anterior com o seguinte comando:

sudo apt-get install linux-image-3.0.0-12-generic linux-headers-3.0.0-12-generic

Então reinicie. Você será solicitado a escolher seu kernel.


2
  1. Imediatamente após a tela inicial do BIOS / UEFI durante a inicialização, com o BIOS, pressione e segure rapidamente a Shifttecla, que exibirá o menu GNU GRUB. (Se você vir o logotipo do Ubuntu, não conseguiu acessar o menu GRUB.) Com UEFI, pressione (talvez várias vezes) a Esctecla para acessar o menu GRUB. Às vezes, a tela inicial do fabricante faz parte do carregador de inicialização do Windows; portanto, quando você liga a máquina, ela é direcionada diretamente para a tela do GRUB e, em seguida, pressionar Shifté desnecessário.

  2. Na tela do GRUB, selecione Opções avançadas para Ubuntu e pressione Enter.

    insira a descrição da imagem aqui

  3. Uma nova tela roxa aparecerá, mostrando uma lista de núcleos. Use as teclas ↑ e ↓ para selecionar qual entrada será destacada. Pressione Enter para inicializar o kernel selecionado, 'e' para editar comandos antes de inicializar ou 'c' para uma linha de comando. Pressione Esc para retornar ao menu anterior.

    insira a descrição da imagem aqui


11
Embora seja o mesmo que essa resposta muito mais curta: askubuntu.com/a/584738/307523 Sua resposta vai muito além com capturas de tela e Shiftchaves para abrir o grub em primeiro lugar.
— WinEunuuchs2Unix 27/07

1

A resposta de Jackkobec descreve um método de visualização grub.cfge rolagem no código fonte para encontrar um número de menu. Uma maneira mais fácil é com este script :

Grub Version: 2.02~beta2-36ubuntu3.22


         ┌───────────┤ Use arrow, page, home & end keys. Tab toggle option ├────────────┐
         │ Menu No.     ----------- Menu Name -----------                               │ 
         │                                                                              │ 
         │  1>3  Ubuntu, with Linux 4.15.0-55-generic                                  ↑│ 
         │  1>6  Ubuntu, with Linux 4.15.0-54-generic                                  ▒│ 
         │  1>9  Ubuntu, with Linux 4.14.134-0414134-generic                           ▒│ 
         │  1>12 Ubuntu, with Linux 4.14.120-0414120-generic                           ▮│ 
         │  1>15 Ubuntu, with Linux 4.14.114-0414114-generic                           ▒│ 
         │  1>18 Ubuntu, with Linux 4.14.110-0414110-generic                           ▒│ 
         │  1>21 Ubuntu, with Linux 4.14.98-041498-generic                             ▒│ 
         │  1>24 Ubuntu, with Linux 4.14.89-041489-generic                             ▒│ 
         │  1>27 Ubuntu, with Linux 4.14.78-041478-generic                             ▒│ 
         │  1>30 Ubuntu, with Linux 4.14.70-041470-generic                             ▒│ 
         │  1>33 Ubuntu, with Linux 4.4.0-157-generic                                  ▒│ 
         │  1>36 Ubuntu, with Linux 3.16.60-031660-generic                             ▒│ 
         │  1>36 Ubuntu, with Linux 3.16.60-031660-generic                             ▒│ 
         │  2    Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10)                       ▒│ 
         │  3    Advanced options for Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10)  ▒│ 
         │  3>0  Ubuntu (on /dev/nvme0n1p10)                                           ↓│ 
         │                                                                              │ 
         │                                                                              │ 
         │                     [Display Grub Boot]            Exit                      │ 
         │                                                                              │ 
         └──────────────────────────────────────────────────────────────────────────────┘ 



Nota: Neste exemplo grub-menu.sh shortfoi usado para chamar o script. O shortparâmetro suprime estas linhas:

     │  1>10 Ubuntu, with Linux 4.14.134-0414134-generic (upstart)                 ▒│ 
     │  1>11 Ubuntu, with Linux 4.14.134-0414134-generic (recovery mode)           ▒│ 

Teclas de controle

Depois de rolar pelas entradas (você pode usar a roda de rolagem do mouse ou as teclas de seta), pressione Escapepara retornar à linha de comando.

Se você pressionar Enteros comandos associar grub da entrada, serão exibidos:

menuentry 'Ubuntu, with Linux 4.14.134-0414134-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.14.134-0414134-generic-advanced-b40b3925-70ef-447f-923e-1b05467c00e7' {
recordfail
savedefault
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root b40b3925-70ef-447f-923e-1b05467c00e7
else
search --no-floppy --fs-uuid --set=root b40b3925-70ef-447f-923e-1b05467c00e7
fi
echo 'Loading Linux 4.14.134-0414134-generic ...'
linux /boot/vmlinuz-4.14.134-0414134-generic root=UUID=b40b3925-70ef-447f-923e-1b05467c00e7 ro noplymouth fastboot acpiphp.disable=1 pcie_aspm=force vt.handoff=7 i915.fastboot=1 nopti nospectre_v2 nospec mem_sleep_default=deep
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.14.134-0414134-generic
}
Press <Enter> to continue

Atualizando o grub para inicializar o kernel anterior

Existe um conjunto de comandos grub para cada entrada do menu. As entradas compiladas são todas armazenadas no /boot/grub/grub.cfgarquivo.

Neste exemplo, queremos o número do menu `1> 9> definido como padrão, para que possamos usar:

sudo -H gedit /etc/default/grub

e encontre esta linha:

GRUB_DEFAULT=0

e mude para isso:

GRUB_DEFAULT="1>9"

Em seguida, salve o arquivo e execute

sudo update-grub
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.