Com canviar de versió de kernel Linux a GRUB2 de forma segura

Darrera actualització: 31/03/2026
Autor: Isaac
  • GRUB2 permet escollir de manera flexible quina versió de kernel arrencar per defecte, usant índexs de menú o el nom exacte de l'entrada.
  • Conviure amb branques linux-generic, HWE i edge exigeix ​​controlar GRUB per evitar inestabilitats en instal·lar nuclis més recents.
  • Editar /etc/default/grub i regenerar la configuració amb update-grub és la base per fixar o restaurar el nucli predeterminat.
  • Desinstal·lar nuclis conflictius i mantenir almenys una branca estable garanteix que el sistema segueixi sent arrencable i segur.

Canviar versió kernel Linux a GRUB2

Escollir quina versió del nucli arrenca per defecte a Linux no és només una mania d'administradors tiquismiquis: moltes vegades és la diferència entre tenir un sistema estable o patir penges, incompatibilitats amb controladors gràfics o errors en maquinari recent. Sobretot a Ubuntu i altres derivades de Debian, on conviuen branques genèriques, HWE i versions experimentals, controlar GRUB2 és gairebé obligatori.

Quan instal·leu diversos nuclis en paral·lel, GRUB2 sempre intenta iniciar el kernel més modern disponible. Això està bé la major part del temps, però si t'has vist obligat a tornar a una versió anterior per culpa d'un bug o un driver que falla, necessitaràs indicar a GRUB quina entrada utilitzar com a predeterminada. En aquest article veurem, amb força detall i sense embuts, com fer-ho de forma segura i duradora, quins matisos has de tenir en compte amb les noves branques HWE, i com combinar-ho amb altres trucs útils relacionats amb GRUB2.

Quines versions de kernel maneja Ubuntu i per què t'interessa canviar-les

Ubuntu manté diverses línies de nucli en paral·lel, pensades per a escenaris diferents. Entendre què portes instal·lat és el primer pas abans de tocar res a GRUB2, perquè en dependrà quines entrades vegis al menú d'arrencada i quines vols utilitzar com a predeterminades.

D'una banda hi ha la branca clàssica linux-generic, que és la que sol venir per defecte en servidors i equips on prima l'estabilitat. Són nuclis de llarga durada, molt provats, i en versions LTS com Ubuntu 22.04 solen correspondre's amb sèries com la 5.15.x. La seva filosofia és clara: menys sorpreses, menys trencaments després d'una actualització.

En equips d'escriptori Ubuntu també ofereix kernels HWE (Hardware Enablement). Aquestes branques s'instal·len, per exemple, amb ordres com sudo apt install linux-generic-hwe-22.04 i apunten a versions més recents del nucli, com ara la sèrie 6.5.x en el cas d'Ubuntu 22.04 LTS, amb l'objectiu de donar suport a maquinari modern que no existeix quan s'allibera la LTS original.

Si necessites anar un pas més enllà, també hi ha la variant hwe-edge, pensada com branca d'avantguarda o vora sagnant. S'instal·la amb ordres de l'estil sudo apt install linux-generic-hwe-22.04-edge i sol portar kernels encara més nous (per exemple 6.7.x al mateix Ubuntu 22.04). Ofereix un suport de maquinari molt recent, però a costa d'augmentar la probabilitat de trobar-te amb bugs, inestabilitats o comportaments rars.

Tot i que el sistema només executa un kernel cada vegada, les imatges de nuclis antics es mantenen a /boot com a assegurança de vida. Si una actualització et deixa un equip inusable, poder arrencar una versió anterior et pot salvar el dia. El problema és que, un cop instal·les un nucli més modern, Ubuntu tendirà a arrencar-lo sempre, i desinstal·lar-lo sense poder entrar amb un altre nucli pot ser un dolor.

Opcions avançades de GRUB2

Triar temporalment un kernel diferent des del menú de GRUB2

Abans de ficar-nos a editar fitxers, convé recordar que GRUB2 ja et permet escollir un altre kernel manualment a l'arrencada. Si teniu accés físic a l'ordinador i un teclat connectat, moltes vegades no necessiteu res més per provar una versió prèvia.

A Ubuntu, en encendre la màquina, pots mostrar el menú de GRUB2 mantenint premuda la tecla Maj (Shift) durant la fase inicial de l'arrencada. En sistemes BIOS tradicionals funciona bé; a UEFI n'hi ha prou que GRUB mostri el menú per defecte, però la idea és la mateixa: veure el llistat de sistemes i opcions.

En aquest menú veuràs normalment una primera entrada del tipus Ubuntu, que és la que arrenca el darrer nucli instal·lat, seguida d'un submenú anomenat Opcions avançades per a Ubuntu (Opcions avançades). Dins d'aquest submenú es llisten totes les versions de kernel disponibles, cadascuna amb el mode normal i el mode de recuperació.

  Com Usar Ordinador Com Router Windows 10: Fàcil i Senzill

Si el nucli més recent t'està donant problemes, el més típic és entrar a «Advanced options for Ubuntu» i triar una versió anterior (per exemple, Ubuntu, with Linux 5.15.0-94-generic) en lloc de la darrera 6.x. Un cop arrencat correctament amb aquesta versió, podràs desinstal·lar els kernels conflictius i regenerar la configuració amb sudo update-grub.

És clar, aquesta solució manual té parany: només funciona si pots interactuar amb GRUB. En servidors sense teclat, màquines remotes o entorns on no veus la consola d'arrencada, necessites un mètode persistent que indiqui a GRUB quina entrada utilitzar sempre, sense preguntar-te a cada inici.

Llistar tots els kernels que GRUB2 coneix

Per poder fixar un nucli per defecte de forma fiable, primer has de saber quines entrades de menú té GRUB2 realment configurades. No n'hi ha prou amb mirar els paquets instal·lats, perquè les posicions al menú poden canviar en afegir o treure kernels.

GRUB2 genera el menú principal a l'arxiu /boot/grub/grub.cfg. Encara que no és recomanable editar-lo a mà (se sobreescriu quan executes update-grub), sí que pots llegir-lo per extreure'n informació. Una ordre molt pràctic per llistar les entrades és:

grep -Ei 'submenu|menuentry ' /boot/grub/grub.cfg | set -re «s/(.? )'(+)'.*/\1 \2/»

aquesta comanda et tornarà un llistat de totes les entrades i submenús que apareixen a l'arrencada, una cosa similar a:

menuentry Ubuntu
submenu Advanced options for Ubuntu
menuentry Ubuntu, with Linux 6.7.0-15-generic
menuentry Ubuntu, with Linux 6.7.0-15-generic (recovery mode)
menuentry Ubuntu, with Linux 5.15.0-94-generic
menuentry Ubuntu, with Linux 5.15.0-94-generic (recovery mode)
menuentry Ubuntu, with Linux 5.15.0-92-generic
menuentry Ubuntu, with Linux 5.15.0-92-generic (recovery mode)
menuentry Memory test (memtest86+.elf)
menuentry Memory test (memtest86+.bin, serial console)
menuentry MS-DOS 5.x/6.x/Win3.1 (on /dev/sdf1)

La primera entrada sol ser «Ubuntu» amb el nucli més modern, i dins del submenú «Advanced options» apareixen totes les versions instal·lades, ordenades de més nova a més antiga. En el nostre exemple, si us interessa arrencar sempre amb Ubuntu, with Linux 5.15.0-94-generic, aquesta entrada estaria al submenú avançat, no al menú principal.

Llistat d'entrades de GRUB2

Establir un kernel específic per posició al menú (GRUB_DEFAULT índexs)

Una forma clàssica de fixar quin nucli vol arrencar GRUB2 per defecte és indicar-li l'índex (posició) de l'entrada, o fins i tot una combinació "submenú > entrada" quan la versió desitjada està dins de "Advanced options for Ubuntu".

El fitxer que controla això és / etc / default / grub. Abans de tocar-lo, és molt recomanable fer una còpia de seguretat ràpida per si necessites tornar enrere de manera senzilla. Pots fer-ho amb:

sudo cp / etc / default / grub /etc/default/grub.bak

A continuació, edita-ho amb el teu editor favorit, per exemple amb Nano:

sudo nano / etc / default / grub

Dins veuràs una línia com GRUB_DEFAULT=0, que indica que es farà servir la primera entrada del menú principal (índex zero). Si el vostre nucli desitjat està dins del submenú «Advanced options», pots dir-li a GRUB que entri en aquest submenú i seleccioneu una posició concreta usant la notació submenú>entrada.

Seguint l'exemple d'abans, si Advanced options for Ubuntu fos l'opció 1 del menú principal i dins d'aquest submenú Ubuntu, with Linux 5.15.0-94-generic fos la tercera opció (comptant des de zero i saltant modes recovery), podries escriure alguna cosa com:

GRUB_DEFAULT="1>3"

La lògica és senzilla però cal tenir ull amb els índexs: el primer nivell es refereix a la posició del submenú al menú principal i el segon a la posició de l'entrada dins del submenú. A més, recorda que les entrades de «recovery mode» solen intercalar-se, de manera que les opcions normals usen nombres senars i les de recuperació, parells.

Un cop hagis canviat GRUB_DEFAULT, desa el fitxer (a Nano, Ctrl + O i després Ctrl + X) i aplica els canvis regenerant la configuració de GRUB amb:

sudo update-grub

Després d'això, reinicia el sistema amb reinici de sudo i, un cop arrencada, verifiqueu quin nucli s'ha carregat amb:

uname -a

El resultat t'hauria de mostrar, per exemple, Linux ... 5.15.0-94-generic ... indicant que ara estàs usant la versió que vas fixar mitjançant els índexs en GRUB_DEFAULT.

Usar el nom de l'entrada de menú en lloc d'índexs (mode «saved»)

El mètode dels índexs té un problema important: les posicions canvien quan instal·les o desinstal·les kernels. Això vol dir que una actualització de nucli pot fer que la teva 1>3 deixi d'apuntar al nucli correcte, just el que vols evitar si busques estabilitat a llarg termini.

  PikaOS, la distribució Linux que ho posa fàcil per gaming

GRUB2 ofereix una alternativa molt més robusta: utilitzar el nom exacte de l'entrada del menú com a element per defecte. D'aquesta manera, mentre aquesta entrada existeixi a grub.cfg, continuarà seleccionant-se encara que s'afegeixin versions noves per sobre o per sota al llistat.

La idea general és aquesta: primer localitzes el nom complet de l'entrada de menú que vols, tal com apareix a /boot/grub/grub.cfg (Per exemple Ubuntu, with Linux 6.8.0-60-generic), i després configures GRUB perquè la faci servir com saved_entry defecte.

Per cercar el nom exacte, podeu obrir el fitxer de configuració amb un editor o visor, per exemple:

sudo nano grub.cfg

Un cop dins, usa Ctrl+W a Nano per cercar la cadena corresponent a la versió del nucli que us interessa (per exemple «6.8.0-60-generic»). A la línia de menuentry veuràs el títol complet, una cosa com:

menuentry 'Ubuntu, with Linux 6.8.0-60-generic' ...

Ara, en lloc de jugar amb índexs, pots dir-li a GRUB que faci servir aquest nom com a selecció desada. El procediment típic passa per executar ordres com les següents:

sudo grub-set-default «Ubuntu, with Linux 6.8.0-60-generic»

Aquesta ordre defineix l'entrada indicada com la que cal considerar «per defecte desat». Per confirmar que s'ha aplicat correctament, podeu revisar el fitxer d'entorn de GRUB:

sudo grub-editenv list

Hauríeu de veure una línia de l'estil:

saved_entry=Ubuntu, with Linux 6.8.0-60-generic

També és possible que, depenent de la configuració prèvia, utilitzeu l'opció GRUB_DEFAULT=saved en /etc/default/grub, el que indica a GRUB que utilitzi sempre el darrer saved_entry establert. En qualsevol cas, mentre el saved_entry coincideixi amb el teu nucli desitjat, continuaràs arrencant aquesta versió automàticament.

Després d'aplicar aquests canvis, regenera el fitxer de configuració amb sudo update-grub, reinicia el sistema i confirma de nou amb uname -a que heu arrencat amb la versió definida com a predeterminada.

Configurar GRUB2 amb kernel desat

Canviar de kernel a Ubuntu a una versió concreta (instal·lar i baixar de versió)

En molts casos no només vols triar un nucli ja instal·lat, sinó passar de la teva versió actual a una altra específica, bé perquè la teva aplicació ho exigeix, perquè un driver només suporta determinada sèrie, o perquè una actualització recent t'ha trencat mig sistema.

El primer pas sempre ha de ser saber quin kernel estàs executant ara mateix. Per això pots utilitzar ordres com:

uname-r

o bé:

uname -a

que tornaran una mica de l'estil:

Linux web 6.8.0-85-generic #85~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC ... x86_64 GNU/Linux

Un cop sàpigues on ets, el següent pas és veure quins kernels estan disponibles als repositoris. En entorns Ubuntu/Debian, això sol fer-se consultant els paquets linux-image del repositori, filtrant per la versió que t'interessa. Un cop localitzada la versió concreta, pots instal·lar-la directament amb apt o compilar-la tu mateix (veure com cercar configuracions a make menuconfig), segons prefereixis.

Per exemple, si vols baixar de 6.8.0-85-genèric a 6.8.0-60-genèric, instal·laries el paquet corresponent amb l'ordre adequada, confirmant amb «S» quan apte et pregunti si vols continuar amb la instal·lació. Després de completar-se el procés, ja tindràs aquesta versió de kernel disponible per a l'arrencada, encara que GRUB seguirà escollint la més nova fins que canviïs la configuració com hem explicat.

Després d'instal·lar el nucli desitjat, reinicia l'equip per poder assignar-ho com a predeterminat amb algun dels mètodes anteriors (per índex o per nom), segons et resulti més còmode i robust per al teu cas.

Establir un nucli concret del submenú Advanced options com a predeterminat

En distribucions com Ubuntu 22 i 24, quan s'afegeix una versió de nucli inferior a l'actual, aquesta versió no es col·loca com a entrada principal, sinó que s'incorpora al submenú Opcions avançades per a Ubuntu. Per això, encara que instal·lis una versió 6.8.0-60 per sota d'una 6.8.0-85, en reiniciar continuaràs arrencant amb la 85.

Perquè GRUB2 seleccioneu automàticament la versió que vulguis del submenú, has de conèixer en quina posició exacta es troba. De nou, l'ordre que llista els menuentry y submenu us ajuda a veure l'estructura i l'ordre numèric que utilitzarà GRUB.

  Quota de mercat actual de Windows, macOS i Linux: anàlisi i tendències

Imagina que després d'executar l'ordre de llistat descobreixes que el teu kernel objectiu (per exemple Ubuntu, with Linux 6.8.0-60-generic) apareix a la quarta posició del submenú Advanced options i que aquest submenú és el primer després de l'entrada principal. En aquest cas, la combinació d'índexs, començant a comptar de zero, seria la 1> 2 (submenú en posició 1, entrada en posició 2 dins aquest submenú).

A l'arxiu /etc/default/grub, canviaries llavors la línia:

GRUB_DEFAULT=0

per:

GRUB_DEFAULT="1>2"

Després de desar els canvis i executar sudo update-grub, la propera vegada que arrenques se seleccionarà de forma automàtica aquest kernel concret dins d'«Advanced options», sense necessitat que entris manualment al submenú cada vegada.

Després del reinici pots verificar que tot ha anat bé amb uname-r o uname -a, comprovant que la versió activa del nucli és la que has fixat a través de GRUB_DEFAULT.

Edició de configuració de GRUB2

Desinstal·lar nuclis HWE i edge i tornar a la branca estable

Una vegada que has aconseguit arrencar el sistema amb un nucli estable de la branca linux-generic (per exemple, una sèrie 5.15.x a Ubuntu 22.04 LTS), el següent pas lògic si els nuclis HWE o edge t'han donat problemes és netejar aquestes branques del sistema.

Per desinstal·lar els metapaquets de HWE, podeu utilitzar apt purga amb un comodí que abasti la branca completa, una cosa així com:

sudo apt purge linux-generic-hwe-22.04*

Després d'eliminar aquests metapaquets, probablement voldràs esborrar també les imatges de nuclis moderns que ja no t'interessen. Si, per exemple, voleu deslliurar-vos de tots els nuclis superiors a 6.x en favor de la sèrie 5.x, podríeu utilitzar una ordre de l'estil:

sudo apt purge linux-image-6*

Aquest tipus de purga elimina els paquets d'imatge de kernel el nom dels quals comença per linux-image-6, així que convé revisar amb cura el que es desinstal·larà abans de confirmar. No oblidis que has de conservar almenys una branca estable funcional, normalment linux-generic, perquè sense ella el sistema podria quedar sense nuclis arrencables.

Després de qualsevol neteja de kernels, és fonamental actualitzar la configuració de GRUB perquè deixi de referenciar entrades que ja no existeixen. En cas contrari, podries trobar-te amb opcions de menú que apunten a nuclis esborrats. Per regenerar el fitxer de configuració utilitza:

sudo update-grub

Si vols assegurar-te que la branca genèrica segueix instal·lada, pots forçar la seva instal·lació amb:

sudo apt install linux-generic

En la majoria de casos et dirà que ja està instal·lada, però així verifiques que el metapaquet existeix i que se seguirà rebent actualitzacions de seguretat i correccions sobre aquesta sèrie estable.

Com a darrer pas, si havies canviat GRUB_DEFAULT a un índex oa un nom concret per sobreviure als problemes amb HWE/edge, pots tornar-lo al seu valor per defecte (normalment 0) editant de nou /etc/default/grub:

sudo nano / etc / default / grub

I deixant la línia com:

GRUB_DEFAULT=»0″

Després guarda, executa sudo update-grub i reinicia amb reinici de sudo perquè el sistema arrenqui ja de forma normal amb l'últim nucli de la branca linux-generic que tinguis instal·lat.

Al final, controlar quin nucli arrenca mitjançant GRUB2 es converteix en una eina fonamental per a qualsevol usuari d'Ubuntu, Debian o derivades que no vulgui viure a l'albur de l'última actualització. Combinant la instal·lació de versions concretes, l'ús de Advanced options, la selecció per índex o per nom de menú i la neteja de branques problemàtiques, pots adaptar el nucli del sistema a les teves necessitats reals: estabilitat fèrria a servidors, compatibilitat màxima en equips moderns o una barreja calculada de totes dues coses en entorns d'escriptori on no vols jugar el dia a dia a un kernel experimental.

no mostra el menú GRUB en canviar GRUB_TIMEOUT=
Article relacionat:
GRUB no mostra el menú després de canviar GRUB_TIMEOUT: causes i solució definitiva