Kernel Panics

De ArchwikiFR


Cette page décrit comment réparer un ordinateur qui a un Kernel Panic au boot.


Sommaire

Définition

Une définition correcte du Kernel Panic provenant de Wikipédia est la suivante : « Le Kernel Panic est une erreur du noyau du système d'exploitation de l'ordinateur. Elle peut intervenir dans des circonstances diverses, qui normalement traduisent toutes des erreurs impossibles à corriger et à ignorer et interdisant la poursuite du fonctionnement de l'ordinateur. Parmi ces circonstances, il peut y avoir des erreurs de programmation ou de conception du noyau, une mauvaise installation du noyau, des problèmes de liens à l'intérieur du noyau ou un problème matériel. » Ce terme est principalement utilisé pour les systèmes UNIX et assimilés. L'équivalent dans le système d'exploitation Microsoft Windows est le fameux écran bleu de la mort. Apprenez en plus en lisant l'article de Wikipédia.

Que faire ?

Un kernel panic peut subvenir à différent moments, les symptômes sont un gel de l'ordinateur et éventuellement un message d'erreur plus les leds du clavier qui clignotent. Si vous ne pouvez plus démarrer le système, le dépannage devra se faire depuis un livecd (ou liveusb).

Dépannage

Afin de déterminer facilement la source du problème, vérifiez que votre noyau n'est pas en mode « quiet ». Si tel est le cas, supprimez le terme quiet de la ligne kernel ou linux de l'entrée d'Arch au démarrage (que vous pouvez modifier temporairement lors du démarrage, par exemple pour GRUB ou Syslinux). Lors du démarrage, vérifiez la sortie texte du noyau immédiatement avant le kernel panic, et notez toutes les informations que vous considérez utiles (consultez aussi les journaux système si, par chance, la trace du kernel panic y est inscrite -- ce qui, de par la nature même du kernel panic, n'est malheureusement pas toujours le cas :-( ).

Vérifiez également si l'image de secours, fallback, rencontre également le Kernel Panic.

Assurez-vous que la configuration de votre chargeur de boot est correcte et que le matériel fonctionne correctement – vous pouvez par exemple lancer memtest ou tout autre utilitaire à partir d'un livecd adéquat (les sorties en rouge de memtest indiquent une défaillance de votre matériel).

Si la configuration du chargeur de boot est erronée, essayez Option 1 pour réparer. Si le Kernel Panic est dû à une erreur interne du noyau, suivez Option 2 pour réinstaller votre noyau ou une version antérieure de celui-ci.

Option 1: Vérifier la configuration du bootloader

Une des possibilités entrainant un Kernel Panic est une erreur dans la configuration de votre votre chargeur de démarrage. Par exemple, le partitionnement de votre disque dur peut entrainer des changements dans l'ordre de vos partitions. Si tel est votre cas, vérifiez que vos lignes root et kernel respectent votre nouveau schéma de partitionnement. Vérifiez aussi la typographie et les caractères spéciaux dans le fichier, un espace de trop, ou un caractère au mauvais endroit peut causer un Kernel Panic.

Option 2: Réinstaller le kernel

La réinstallation du noyau est probablement le meilleur choix quand aucune modification majeure n'a été faite récemment sur votre système.

Démarrer sur le CD d'installation

La première étape est de démarrer sur l'ISO d'installation d'Arch ou tout autre livecd/liveusb Linux.

Note: Si vous utilisez un autre ISO que celui d'Arch, prenez bien l'architecture correspondant à votre système (i686 pour 32 bits ou x86_64 pour 64 bits) sans quoi l'entrée dans l'environnement chroot par la suite ne fonctionnera pas:
chroot /mnt
chroot: failed to run command `/bin/bash': Exec format error

Chroot sur votre système normal

Quand vous démarrez, vous êtes sur un système minimal mais fonctionnel de l'environnement live GNU/Linux avec des outils basiques.

Note: Ce qui suit va à l'essentiel. Plus d'infos sur la page Chroot.

Pour obtenir le clavier français, au besoin (n'oubliez pas que vous êtes en disposition qwerty donc le a est sur la touche q), faites:

loqdkeys fr

Montez votre partition racine dans /mnt:

mount /dev/sdXY /mnt

Si vous utilisez une partition /boot séparée, il est impératif de la monter pour la suite des événements dans /mnt/boot (le ramdisk y est créé):

mount /dev/sdXZ /mnt/boot

Les noyaux récents utilisent un ramdisk initial pour configurer l'environnement noyau. Quand vous réinstallez un noyau, ce ramdisk initial devra être régénéré à l'aide de mkinitcpio. Une des fonctionnalités de mkinitcpio est qu'il réalise une autodétection pour trouver quels sont les modules du noyaux qui sont requis au démarrage de votre ordinateur. Pour que cette autodétection fonctionne, /dev, /sys et /proc doivent être montés dans votre chroot:

mount -t proc none /mnt/proc
mount -t sysfs none /mnt/sys
mount --bind /dev /mnt/dev

Maintenant, chrootez votre Arch:

chroot /mnt

Revenir à la version précédente du noyau

Si vous gardez vos paquets téléchargés dans le cache de pacman, vous pouvez facilement réaliser la réinstallation. Si vous ne les avez pas gardés, vous devez trouver un moyen de récupérer la version précédente du noyau pour votre système.

Supposons que vous ayez préservé la version précédente du noyau. Vous devez réinstaller le dernier noyau fonctionnel :

pacman -U /var/cache/pacman/pkg/linux-x.x.x-x-xxx.pkg.tar.xz

Bien sûr, vous devez adapter la ligne précédente avec votre version du noyau.

Sortez proprement de votre environnement chroot :

exit

Puis démontez toutes les partitions montées pour l'opération :

umount /mnt/proc
umount /mnt/dev
umount /mnt/sys
umount /mnt/boot (le cas échéant)
umount /mnt/

Reboot

Maintenant, il est temps de rebooter et voir si les modifications du système ont résolu le Kernel Panic:

reboot

Si le fait de revenir à une version précédente du noyau résout le problème, n'oubliez pas de vérifier dans les nouvelles, forum, etc. si le problème est connu.

Outils personnels
Autres langues