S'il n'est pas possible de migrer votre serveur alors que vous avez installé le dernier noyau, il est possible qu'il soit endommagé. Cela peut se produire, par exemple, si la partition de démarrage de votre serveur avait moins de 100 Mo d'espace libre avant la migration. Il peut y avoir également de nombreuses autres raisons.

Si le noyau Linux est endommagé, cela peut avoir différents symptômes qui indiquent que quelque chose ne va pas dans le système. Les signes et méthodes suivants permettent de déterminer si le noyau est éventuellement endommagé :

Problèmes de démarrage : Les problèmes de démarrage sont le signe le plus évident d'un noyau endommagé. Le système peut rester bloqué dans une boucle de démarrage, se bloquer avec des messages d'erreur ou ne pas démarrer du tout.

Plantage du système et messages d'erreur : Si votre système Linux se bloque souvent ou présente des paniques inattendues du noyau, cela peut être le signe d'un noyau endommagé. Les paniques du noyau sont souvent accompagnées d'un message d'erreur sur un écran bleu ou noir.

Dmesg et les journaux système : Examinez les logs, en particulier les sorties dmesg juste après le démarrage. dmesg fournit les messages liés au noyau qui peuvent être utiles pour identifier des erreurs ou des problèmes spécifiques.

root@localhost:~# dmesg | less


Vous pouvez également utiliser journalctl pour vérifier les journaux système :

root@localhost:~# journalctl -xb


Des modules défectueux : Un autre symptôme possible d'un noyau endommagé est un problème avec les modules du noyau. Vérifier si tous les modules peuvent être chargés ou si des messages d'erreur s'affichent :

root@localhost:~# lsmod
root@localhost:~# modprobe yourmodulename


Incohérence des fonctionnalités : Si certaines fonctions proches du système (comme les opérations réseau, l'accès au système de fichiers, les interactions matérielles, etc.) deviennent peu fiables ou si des erreurs inexplicables se produisent, cela pourrait également indiquer des problèmes avec le noyau.

Démarrer à partir d'un noyau plus ancien et réparer la dernière version du noyau

Si un noyau plus ancien est installé sur votre serveur, vous pouvez démarrer votre serveur avec l'un de ces noyaux pour le mettre en ligne et effectuer un dépannage.

  • Connectez-vous à votre compte IONOS.
  • Dans la barre de titre, cliquez sur Menu > Serveurs & Cloud. Si vous avez plusieurs contrats de serveur, sélectionnez le contrat souhaité.
  • Cliquez sur Actions > Ouvrir la console à distance.

    La console à distance s'ouvre dans un nouvel onglet.

  • Rendez-vous immédiatement sur Cloud Panel et cliquez sur Actions > Redémarrer.

    Lors du redémarrage, la connexion à la console est interrompue.
  • Passez à la console à distance.
  • Cliquez sur Options > Reconnecter dans le coin supérieur gauche jusqu'à ce que le message suivant s'affiche :
  • Appuyez immédiatement sur la touche ESC et maintenez-la enfoncée jusqu'à ce que la fenêtre suivante apparaisse.
  • Sélectionnez Advanced Options for Ubuntu et appuyez sur la touche Entrée.
  • Une liste des noyaux disponibles s'affiche, avec le noyau le plus récent en tête. Sélectionnez le deuxième noyau le plus récent et appuyez sur Entrée. Si ce noyau fonctionne, votre serveur démarre maintenant normalement et vous amène à l'invite de connexion.
Remarque

Ne sélectionnez pas un noyau en mode de récupération (Recovery Mode Kernel) !

  • Saisissez vos données de connexion.
  • Pour vérifier si vous avez démarré le serveur à partir d'un noyau plus ancien, saisissez la commande suivante : 

    [root@localhost ~]# uname -r

Sauvegarder les données de votre serveur

Sauvegardez les données de votre serveur avant de réparer le noyau. Vous pouvez soit utiliser la sauvegarde Cloud payante, soit sauvegarder les données localement sur votre ordinateur avec Filezilla.

Vous trouverez plus d'informations concernant la sauvegarde Cloud dans l'article suivant :

Sauvegarde Cloud : Premiers pas

Réparer le noyau

  • Vérifiez quels noyaux sont actuellement installés sur votre serveur à l'aide de la commande suivante :

    [root@localhost ~]# dpkg --list | grep linux-image

    Exemple :

    root@server:~# dpkg --list | grep linux-image
    rc linux-image-5.15.0-105-generic 5.15.0-105.115 amd64 Image de noyau signée generic
    ii linux-image-5.15.0-106-generic 5.15.0-106.116 amd64 Image de noyau signée generic
    iF linux-image-5.15.0-107-generic 5.15.0-107.117 amd64 Image de noyau signée generic
    ii linux-image-5.15.0-97-generic 5.15.0-97.107 amd64 Image de noyau signée generic
    rc linux-image-unsigned-5.15.0-107-generic 5.15.0-107.117 amd64 Image de noyau Linux pour version 5.15.0 sur SMP x86 64 bits
    root@server:~#

    Dans cet exemple, linux-image-5.15.0-107-generic est le dernier noyau installé. Le noyau linux-image-5.15.0-97-generic est le plus ancien. L'état d'un noyau est indiqué par les codes d'état des paquets :

Code d'état du paquet Signification
ii Correctement installé et configuré
iU Installé mais non configuré
iF Installé, mais échec de la configuration
iW Installé, mais peut-être en attente d'autre chose (rare)
rc Supprimé, mais fichiers de configuration encore présents
Remarque

Pour les noyaux distants où des fichiers de configuration sont encore présents (rc), les fichiers de configuration peuvent être nettoyés avec la commande suivante :

apt-get purge $(dpkg -l | grep '^rc' | awk '{print $2}')

  • Dans cet exemple, le noyau linux-image-5.15.0-107 a le code d'état IF. Ce code d'état signifie que la configuration a échoué.
  • Pour y remédier, réinstallez le noyau correspondant. Pour ce faire, remplacez le caractère de remplacement dans la commande suivante, puis saisissez-la.

    [root@localhost ~]# apt-get install --reinstall IMAGE NAME

    Exemple :

    [root@localhost ~]# apt-get install --reinstall linux-image-5.15.0-107-generic

  • Pour vérifier si la réinstallation a réussi, saisissez la commande suivante :

    [root@localhost ~]# dpkg --list | grep linux-image
    rc linux-image-5.15.0-105-generic 5.15.0-105.115 amd64 Image du noyau signée generic
    ii linux-image-5.15.0-106-generic 5.15.0-106.116 amd64 Image du noyau signée generic
    ii linux-image-5.15.0-107-generic 5.15.0-107.117 amd64 Image de noyau signée generic
    ii linux-image-5.15.0-97-generic 5.15.0-97.107 amd64 Image de noyau signée generic
    rc linux-image-unsigned-5.15.0-107-generic 5.15.0-107.117 amd64 Image de noyau Linux pour la version 5.15.0 sur x86 SMP 64 bits
    root@server:/#

    Le noyau Linux-image-5.15.0-107-generic affiche maintenant le code d'état du paquet ii, ce qui signifie qu'il est installé et correctement configuré. Pour terminer le processus, redémarrez le serveur. Le noyau le plus récent sera automatiquement chargé.

  • Pour terminer le processus, redémarrez le serveur.

    [root@localhost ~]# reboot

Réparer le noyau s'il n'y a pas assez d'espace sur la partition de démarrage

S'il n'y a pas assez d'espace disque sur la partition de démarrage, la réinstallation du noyau avec la méthode décrite ci-dessus échouera. Dans ce cas, l'information suivante est affichée :

[root@localhost ~]# apt-get install --reinstall linux-image-5.15.0-107-generic
Lire la liste des paquets... Fait
Construire une structure de dépendances... Fait
Lire les informations d'état... Fait
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
amd64-microcode libdbus-glib-1-2 libevdev2 libimobiledevice6 libplist3 libupower-glib3 libusbmuxd6 linux-headers-generic thermald upower usbmuxd
Utilisez "apt autoremove" pour les supprimer.
0 mis à niveau, 0 réinstallé, 1 réinstallé, 0 à supprimer et 2 non mis à niveau.
Vous devez obtenir 0 B/11,5 Mo d'archives.
Après cette opération, 0 B d'espace supplémentaire sera utilisé.
(lecture de la base de données ... 203704 fichiers et répertoires sont actuellement installés.)
Préparer l'extraction de .../linux-image-5.15.0-107-generic_5.15.0-107.117_amd64.deb ...
Extraire linux-image-5.15.0-107-generic (5.15.0-107.117) via (5.15.0-107.117) ...
dpkg : Erreur lors du traitement de l'archive /var/cache/apt/archives/linux-image-5.15.0-107-generic_5.15.0-107.117_amd64.deb (--unpack) :
ne peut pas copier les données extraites pour './boot/vmlinuz-5.15.0-107-generic' vers '/boot/vmlinuz-5.15.0-107-generic.dpkg-new' : Échec de l'écriture (plus d'espace sur le périphérique)
Aucun rapport n'est écrit car le message d'erreur indique que le disque est plein
dpkg-deb : Erreur : Le sous-processus de collage a été arrêté par un signal (Broken pipe)
Des erreurs sont survenues lors du traitement :
/var/cache/apt/archives/linux-image-5.15.0-107-generic_5.15.0-107.117_amd64.deb
needrestart est ignoré car dpkg a échoué
E : Le sous-processus /usr/bin/dpkg a renvoyé un code d'erreur (1)
root@server:/#


Pour résoudre ce problème, il est nécessaire de libérer de la mémoire. Pour cela, procédez comme suit :

  • Saisissez la commande suivante pour afficher des informations sur l'espace disque utilisé.

    [root@localhost ~]# df -h

  • Libérez ensuite de l'espace disque. Vous trouverez des instructions sur la libération de l'espace disque dans l'article suivant : 

    Libérer de l'espace disque sur un serveur virtuel Cloud

Installer manuellement le noyau en cas d'échec de la réinstallation

Si la réinstallation du noyau échoue pour une raison autre qu'un espace disque insuffisant sur la partition de démarrage, vous pouvez essayer de supprimer manuellement le noyau et de le réinstaller.

Avertissement

Ne supprimez jamais le noyau que vous utilisez actuellement, car cela peut entraîner de graves erreurs sur votre serveur. Utilisez toujours la commande uname -r pour vérifier quel noyau vous utilisez.

Pour supprimer le noyau et le réinstaller ensuite, procédez comme suit :

  • Vérifiez quels noyaux sont actuellement installés sur votre serveur à l'aide de la commande suivante :

    [root@localhost ~]# dpkg --list | grep linux-image

  • Pour vérifier quel noyau vous utilisez, saisissez la commande suivante :

    [root@localhost ~]# uname -r

  • Pour supprimer le paquet de noyau linux-image-5.15.0-107-generic -, saisissez la commande suivante :

    [root@localhost ~]# apt-get purge linux-image-5.15.0-107-generic

  • Pour vérifier si le paquet de noyau a été supprimé, saisissez la commande suivante :

    [root@localhost ~]# dpkg --list | grep linux-image

  • Pour réinstaller le noyau, remplacez les caractères génériques dans la commande suivante et saisissez-la :

    [root@localhost ~]# apt install --install-recommends kernel-VERSION

    Exemple :

    [root@localhost ~]# apt install --install-recommends linux-image-5.15.0-107-generic

  • Vérifiez que le paquet de noyau est correctement installé.

    [root@localhost ~]# dpkg --list | grep linux-image

  • Pour redémarrer le serveur, saisissez la commande suivante :

    [root@localhost ~]# reboot