Ce post propose une procédure adaptée pour ceux qui ont un Ubuntu 20.04 obtenu après mise à niveau depuis 18.04 (*). Ils n'ont pas le HWE stack de Ubuntu 20.04, ce qui entraine qu'ils n'ont que des noyaux de la famille 5.4. S'il advient que leur Ubuntu est trop malade et qu'ils doivent le réinstaller en conservant le /home, ça va être délicat parce que toutes les versions officielles de Ubuntu 20.04 font une installation
avec le HWE stack si bien qu'après installation ou réinstallation, il y a un noyau de la famille 5.8. Je vais détailler la manip et surtout comment faire pour supprimer le noyau 5.8 et le HWE stack après la réinstallation.
Réinstallation de Ubuntu 20.04 sur lui-même suivant la
"Méthode 1 – Réinstaller tout le système sans toucher au «/home»". J'ai fait une capture de tous les messages de dissuasion qui sont affichés par l'installateur de Ubuntu quand on fait le parcours. Le support d'installation (virtuel dans le cas parce que j'ai fait cette manip dans une machine virtuelle de VirtualBox) doit être basé sur le fichier ubuntu-20.04.1-desktop-amd64.iso parce qu'il faut qu'il y ait le noyau 5.4.0-42 dans le Ubuntu restauré.

Au redémarrage après la réinstallation, il faut aller dans les options avancées du menu Grub afin de sélectionner le démarrage sur le noyau 5.4.0-42 :

Dans la session ouverte avec ce noyau 5.4.0-42, je passe les commandes suivantes dans un terminal (j'ai collé tout le paquet mais je donne des détails plus bas) :
Je colle le paquet :
malbo@malbo-desktop:~$ uname -a
Linux malbo-desktop 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
malbo@malbo-desktop:~$ dir /boot
config-5.4.0-42-generic memtest86+.elf
config-5.4.0-58-generic memtest86+_multiboot.bin
config-5.4.0-64-generic System.map-5.4.0-42-generic
config-5.8.0-40-generic System.map-5.4.0-58-generic
efi System.map-5.4.0-64-generic
grub System.map-5.8.0-40-generic
initrd.img vmlinuz
initrd.img-5.4.0-42-generic vmlinuz-5.4.0-42-generic
initrd.img-5.4.0-58-generic vmlinuz-5.4.0-58-generic
initrd.img-5.4.0-64-generic vmlinuz-5.4.0-64-generic
initrd.img-5.8.0-40-generic vmlinuz-5.8.0-40-generic
initrd.img.old vmlinuz.old
memtest86+.bin
malbo@malbo-desktop:~$ dpkg -l | grep 5.8.0
ii linux-generic-hwe-20.04 5.8.0.40.45~20.04.25 amd64 Complete Generic Linux kernel and headers
ii linux-headers-5.8.0-40-generic 5.8.0-40.45~20.04.1 amd64 Linux kernel headers for version 5.8.0 on 64 bit x86 SMP
ii linux-headers-generic-hwe-20.04 5.8.0.40.45~20.04.25 amd64 Generic Linux kernel headers
ii linux-hwe-5.8-headers-5.8.0-40 5.8.0-40.45~20.04.1 all Header files related to Linux kernel version 5.8.0
ii linux-image-5.8.0-40-generic 5.8.0-40.45~20.04.1 amd64 Signed kernel image generic
ii linux-image-generic-hwe-20.04 5.8.0.40.45~20.04.25 amd64 Generic Linux kernel image
ii linux-modules-5.8.0-40-generic 5.8.0-40.45~20.04.1 amd64 Linux kernel extra modules for version 5.8.0 on 64 bit x86 SMP
ii linux-modules-extra-5.8.0-40-generic 5.8.0-40.45~20.04.1 amd64 Linux kernel extra modules for version 5.8.0 on 64 bit x86 SMP
malbo@malbo-desktop:~$ sudo apt purge linux-generic-hwe-20.04 linux-headers-5.8.0-40-generic linux-headers-generic-hwe-20.04 linux-hwe-5.8-headers-5.8.0-40 linux-image-5.8.0-40-generic linux-image-generic-hwe-20.04 linux-modules-5.8.0-40-generic linux-modules-extra-5.8.0-40-generic
[sudo] Mot de passe de malbo :
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
amd64-microcode intel-microcode iucode-tool thermald
Veuillez utiliser « sudo apt autoremove » pour les supprimer.
Les paquets suivants seront ENLEVÉS :
linux-generic-hwe-20.04* linux-headers-5.8.0-40-generic*
linux-headers-generic-hwe-20.04* linux-hwe-5.8-headers-5.8.0-40*
linux-image-5.8.0-40-generic* linux-image-generic-hwe-20.04*
linux-modules-5.8.0-40-generic* linux-modules-extra-5.8.0-40-generic*
0 mis à jour, 0 nouvellement installés, 8 à enlever et 318 non mis à jour.
Après cette opération, 373 Mo d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n]
(Lecture de la base de données... 186020 fichiers et répertoires déjà installés
.)
Suppression de linux-generic-hwe-20.04 (5.8.0.40.45~20.04.25) ...
Suppression de linux-headers-generic-hwe-20.04 (5.8.0.40.45~20.04.25) ...
Suppression de linux-headers-5.8.0-40-generic (5.8.0-40.45~20.04.1) ...
Suppression de linux-hwe-5.8-headers-5.8.0-40 (5.8.0-40.45~20.04.1) ...
Suppression de linux-image-generic-hwe-20.04 (5.8.0.40.45~20.04.25) ...
Suppression de linux-modules-extra-5.8.0-40-generic (5.8.0-40.45~20.04.1) ...
Suppression de linux-image-5.8.0-40-generic (5.8.0-40.45~20.04.1) ...
I: /boot/vmlinuz.old is now a symlink to vmlinuz-5.4.0-64-generic
I: /boot/initrd.img.old is now a symlink to initrd.img-5.4.0-64-generic
I: /boot/vmlinuz is now a symlink to vmlinuz-5.4.0-42-generic
I: /boot/initrd.img is now a symlink to initrd.img-5.4.0-42-generic
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-5.8.0-40-generic
/etc/kernel/postrm.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Création du fichier de configuration GRUB…
Image Linux trouvée : /boot/vmlinuz-5.4.0-64-generic
Image mémoire initiale trouvée : /boot/initrd.img-5.4.0-64-generic
Image Linux trouvée : /boot/vmlinuz-5.4.0-58-generic
Image mémoire initiale trouvée : /boot/initrd.img-5.4.0-58-generic
Image Linux trouvée : /boot/vmlinuz-5.4.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-5.4.0-42-generic
Adding boot menu entry for UEFI Firmware Settings
fait
Suppression de linux-modules-5.8.0-40-generic (5.8.0-40.45~20.04.1) ...
(Lecture de la base de données... 148387 fichiers et répertoires déjà installés
.)
Purge des fichiers de configuration de linux-modules-5.8.0-40-generic (5.8.0-40
.45~20.04.1) ...
dpkg: avertissement: lors de la suppression de linux-modules-5.8.0-40-generic,
le répertoire « /lib/modules/5.8.0-40-generic » n'était pas vide, donc il n'a p
as été supprimé
Purge des fichiers de configuration de linux-modules-extra-5.8.0-40-generic (5.
8.0-40.45~20.04.1) ...
Purge des fichiers de configuration de linux-image-5.8.0-40-generic (5.8.0-40.4
5~20.04.1) ...
malbo@malbo-desktop:~$ sudo apt install linux-generic
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Les paquets supplémentaires suivants seront installés :
linux-headers-5.4.0-64 linux-headers-5.4.0-64-generic linux-headers-generic
linux-image-5.4.0-64-generic linux-image-generic
linux-modules-5.4.0-64-generic linux-modules-extra-5.4.0-64-generic
Paquets suggérés :
fdutils linux-doc | linux-source-5.4.0 linux-tools
Les NOUVEAUX paquets suivants seront installés :
linux-generic linux-headers-5.4.0-64 linux-headers-5.4.0-64-generic
linux-headers-generic linux-image-5.4.0-64-generic linux-image-generic
linux-modules-5.4.0-64-generic linux-modules-extra-5.4.0-64-generic
0 mis à jour, 8 nouvellement installés, 0 à enlever et 318 non mis à jour.
Il est nécessaire de prendre 74,1 Mo dans les archives.
Après cette opération, 361 Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n]
Réception de :1 http://fr.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-modules-5.4.0-64-generic amd64 5.4.0-64.72 [14,5 MB]
Réception de :2 http://fr.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-image-5.4.0-64-generic amd64 5.4.0-64.72 [8891 kB]
Réception de :3 http://fr.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-modules-extra-5.4.0-64-generic amd64 5.4.0-64.72 [38,6 MB]
Réception de :4 http://fr.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-image-generic amd64 5.4.0.64.67 [2620 B]
Réception de :5 http://fr.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-headers-5.4.0-64 all 5.4.0-64.72 [11,0 MB]
Réception de :6 http://fr.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-headers-5.4.0-64-generic amd64 5.4.0-64.72 [1234 kB]
Réception de :7 http://fr.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-headers-generic amd64 5.4.0.64.67 [2488 B]
Réception de :8 http://fr.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-generic amd64 5.4.0.64.67 [1900 B]
74,1 Mo réceptionnés en 8s (9759 ko/s)
Sélection du paquet linux-modules-5.4.0-64-generic précédemment désélectionné.
(Lecture de la base de données... 148386 fichiers et répertoires déjà installés
.)
Préparation du dépaquetage de .../0-linux-modules-5.4.0-64-generic_5.4.0-64.72_
amd64.deb ...
Dépaquetage de linux-modules-5.4.0-64-generic (5.4.0-64.72) ...
Sélection du paquet linux-image-5.4.0-64-generic précédemment désélectionné.
Préparation du dépaquetage de .../1-linux-image-5.4.0-64-generic_5.4.0-64.72_am
d64.deb ...
Dépaquetage de linux-image-5.4.0-64-generic (5.4.0-64.72) ...
Sélection du paquet linux-modules-extra-5.4.0-64-generic précédemment désélecti
onné.
Préparation du dépaquetage de .../2-linux-modules-extra-5.4.0-64-generic_5.4.0-
64.72_amd64.deb ...
Dépaquetage de linux-modules-extra-5.4.0-64-generic (5.4.0-64.72) ...
Sélection du paquet linux-image-generic précédemment désélectionné.
Préparation du dépaquetage de .../3-linux-image-generic_5.4.0.64.67_amd64.deb .
..
Dépaquetage de linux-image-generic (5.4.0.64.67) ...
Sélection du paquet linux-headers-5.4.0-64 précédemment désélectionné.
Préparation du dépaquetage de .../4-linux-headers-5.4.0-64_5.4.0-64.72_all.deb
...
Dépaquetage de linux-headers-5.4.0-64 (5.4.0-64.72) ...
Sélection du paquet linux-headers-5.4.0-64-generic précédemment désélectionné.
Préparation du dépaquetage de .../5-linux-headers-5.4.0-64-generic_5.4.0-64.72_
amd64.deb ...
Dépaquetage de linux-headers-5.4.0-64-generic (5.4.0-64.72) ...
Sélection du paquet linux-headers-generic précédemment désélectionné.
Préparation du dépaquetage de .../6-linux-headers-generic_5.4.0.64.67_amd64.deb
...
Dépaquetage de linux-headers-generic (5.4.0.64.67) ...
Sélection du paquet linux-generic précédemment désélectionné.
Préparation du dépaquetage de .../7-linux-generic_5.4.0.64.67_amd64.deb ...
Dépaquetage de linux-generic (5.4.0.64.67) ...
Paramétrage de linux-headers-5.4.0-64 (5.4.0-64.72) ...
Paramétrage de linux-modules-5.4.0-64-generic (5.4.0-64.72) ...
Paramétrage de linux-headers-5.4.0-64-generic (5.4.0-64.72) ...
Paramétrage de linux-headers-generic (5.4.0.64.67) ...
Paramétrage de linux-image-5.4.0-64-generic (5.4.0-64.72) ...
I: /boot/vmlinuz.old is now a symlink to vmlinuz-5.4.0-42-generic
I: /boot/initrd.img.old is now a symlink to initrd.img-5.4.0-42-generic
I: /boot/vmlinuz is now a symlink to vmlinuz-5.4.0-64-generic
I: /boot/initrd.img is now a symlink to initrd.img-5.4.0-64-generic
Paramétrage de linux-modules-extra-5.4.0-64-generic (5.4.0-64.72) ...
Paramétrage de linux-image-generic (5.4.0.64.67) ...
Paramétrage de linux-generic (5.4.0.64.67) ...
Traitement des actions différées (« triggers ») pour linux-image-5.4.0-64-gener
ic (5.4.0-64.72) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-5.4.0-64-generic
/etc/kernel/postinst.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Création du fichier de configuration GRUB…
Image Linux trouvée : /boot/vmlinuz-5.4.0-64-generic
Image mémoire initiale trouvée : /boot/initrd.img-5.4.0-64-generic
Image Linux trouvée : /boot/vmlinuz-5.4.0-58-generic
Image mémoire initiale trouvée : /boot/initrd.img-5.4.0-58-generic
Image Linux trouvée : /boot/vmlinuz-5.4.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-5.4.0-42-generic
Adding boot menu entry for UEFI Firmware Settings
fait
malbo@malbo-desktop:~$
J'explique les commandes passées :
1) vérification que le noyau utilisé est bien le 5.4.0-42 (si ce n'est pas le cas, convoquez votre cerveau, redémarrer, allez dans le menu Grub au démarrage, options avancées, sélection de l'entrée 5.4.0-42, jusqu'à ce que le résultat donne 5.4.0-42) :
uname -a
2) vérification de tous les noyaux présents dans /boot (pas indispensable) :
dir /boot
3) recherche de tous les paquets qui font mention de "5.8.0" :
dpkg -l | grep 5.8.0
4) purge de tous les paquets trouvés à l'item précédent (ne pas copier-coller bêtement cette commande. elle est à adapter suivant le résultat de la recherche de l'item 3) :
EDIT le 23 janv 2021 : pour les débutants, utiliser la technique du copier-coller à la molette que j'explique dans ce post.
sudo apt purge linux-generic-hwe-20.04 linux-headers-5.8.0-40-generic linux-headers-generic-hwe-20.04 linux-hwe-5.8-headers-5.8.0-40 linux-image-5.8.0-40-generic linux-image-generic-hwe-20.04 linux-modules-5.8.0-40-generic linux-modules-extra-5.8.0-40-generic
5) installation de linux-generic afin de recevoir les mises à jour futures du noyau 5.4 :
sudo apt install linux-generic
(*) c'est la mise à niveau proposée par le Gestionnaire de mises à jour. Pour ceux qui n'ont pas fait cette migration 18.04 vers 20.04 mais qui ont fait une installation directe de Ubuntu 20.04, la procédure est inadaptée parce qu'ils ont déjà le HWE stack et qu'à priori il n'y a pas de raison de le virer puisqu'ils vivent déjà avec.