Attention, contenu pour geek averti !

Longue histoire courte, j'utilise principalement la distribution Manjaro XFCE (basée sur Arch Linux, mais version flexitarienne) sur mes ordinateurs personnels. Pas plus tard que la semaine dernière, l'équipe de Manjaro ont publié une nouvelle version "stable" incluant des mises à jour de noyaux Linux, délestant certains pilotes NVIDIA qui sont périmés et difficiles à maintenir.

Cependant, cette mise à jour forçait aussi l'installation de nouvelles versions du noyau en même temps que la recompilation des fichiers des pilotes, ce qui mène presque à coup sûr à une catastrophe au prochain redémarrage.

Bande dessinée Manjaro Arch

Bref, plus capable de me rendre à une fenêtre de connexion graphique ni à avoir accès à un terminal, même en mode texte, aucun raccourci Ctrl-Alt-Fx ne fonctionne. Je dois donc réparer ça de l'extérieur.

N'ayant pas sous la main de clé USB de secours, je prends la clé depuis laquelle j'ai installé Manjaro XFCE et je démarre une session "Live".

Donc, voici comment dépanner un Manjaro linux qui ne démarre plus à cause d'une vilaine mise à jour trop ambitieuse.

Ouvrir une session chroot sur Manjaro ou Arch lorsque le disque principal est crypté

Nous utiliserons la technique du changement de racine, appelée chroot.

Une fois dans la session live, exécuter ces lignes. Note: en tant qu'être doué de conscience, ne faites pas un gros copier-coller, vous pouvez faire plus que de mal que de bien. Une ligne à la fois, et on prend le temps de lire et comprendre.

# Se connecter en root
sudo su -
# Créer un répertoire de secours a la racine, par exemple: /rescue
mkdir /rescue
# Mettre le nom du disque qui contient le système crypté, ex: /dev/nvme0n1p2
udisksctl unlock -b /dev/nvme0n1p2
# La fonction va retourner le nouvel emplacement du disque décrypté, par exemple: /dev/dm-0.
# Monter le disque décrypté dans le répertoire de secours
sudo mount /dev/dm-0 /rescue
# Joindre le répertoire
mount -o bind /rescue /rescue
# Installer l outil arch-chroot
pacman -Sy arch-install-scripts
# Aller en chroot
arch-chroot /rescue
# Nous sommes maintenant sur le système installe en chroot, exécuter les commandes de dépannage sur place

Dépanner Manjaro

Une fois dans la session chroot, exécuter ces lignes

# Supprimer le méta paquet linux-latest
pacman -R linux-latest
# Supprimer cette dépendance à Virtualbox qu'on pourra réinstaller plus tard
pacman -R virtualbox-guest-utils
# Supprimer le nouveau kernel que nous n'étions pas prêt à accueillit
pacman -R linux510
# Exécuter cette incantation qui corrige les headers des noyaux requis pour compiler les pilotes NVIDIA
sudo pacman -S $(mhwd-kernel -li | grep '*' | cut -d ' ' -f5 | awk '{print $0,"-headers"}' | sed s'/ //'g)
# Corriger les pilotes NVIDIA
sudo mhwd -a pci nonfree 0300
# Sortir du chroot
exit

Pour recevoir des astuces mensuelles pour apprendre à utiliser la ligne de commande comme un pro sur ton système, tu dois t'inscrire à ma newsletter mensuelle !

Article précédent Article suivant