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.