Maison  >  Article  >  Tutoriel système  >  Conseils pour gérer efficacement la panique du noyau Linux

Conseils pour gérer efficacement la panique du noyau Linux

WBOY
WBOYavant
2024-01-10 21:06:30586parcourir

Merci à l'utilisateur du site 鸢一雨音 pour sa contribution

J'ai écrit cet article pour une raison. Afin de configurer un démarrage complètement silencieux, j'ai effectué des opérations mkinitcpio inappropriées sous Linux exécuté sur mon ordinateur de travail car j'ai ignoré une erreur logique dans le fichier mkinitcpio.conf. Cela amène mkinitcpio à produire un nouveau fichier de noyau, mais ce fichier de noyau ne fonctionne pas correctement. Lors du redémarrage, le démarrage du noyau s'interrompt dans l'état Panique.

Généralement, lorsque le nouveau noyau ne fonctionne pas correctement, vous pouvez démarrer temporairement le système en utilisant la version de secours du fichier du noyau initramfs, ou même écraser directement la version de secours pour annuler les modifications. Cependant, cette fois, mkinitcpio a été. modifié en même temps. Le fichier du noyau vmlinuz, et vmlinuz n'a pas de version de secours. Pour les utilisateurs ordinaires, ils peuvent réinstaller directement le système ; cependant, la configuration de l'environnement du poste de travail de l'auteur est assez compliquée, ce qui signifie qu'en plus de la perte possible de mes fichiers de travail, je dois également consacrer beaucoup de temps supplémentaire à reconfigurer le développement. environnement.

Remarque :La « réparation » dans ce didacticiel fait référence à « essayer d'annuler des modifications humaines dévastatrices », elle ne peut donc pas être utilisée pour récupérer après des pannes inconnues du noyau.

1. Démarrez à partir du LiveCD et affichez le disque

Sur la base de l'expérience accumulée lors de mon exploitation et maintenance à temps partiel de serveurs Linux, j'ai immédiatement pensé que je pourrais utiliser LiveCD pour démarrer afin d'obtenir un environnement Linux temporaire pour réparer le noyau.

L'auteur utilise la version 64 bits d'Arch Linux, j'ai donc démarré à partir du LiveCD d'Arch Linux. Après avoir correctement saisi l'utilisateur root intégré de LiveCD, nous devons vérifier le nom de périphérique de notre disque dur principal. Exécutez fdisk -l Dans mon cas, le fichier de périphérique correspondant à mon disque dur principal et à la partition montée dans le répertoire racine est /dev/sdb2.

2. chrootez vers le répertoire racine du système sur le disque dur

Pour chrooter vers le répertoire racine du système sur le disque dur et pouvoir appeler normalement les composants du système sur le disque dur pour apporter des modifications au système sur le disque dur, nous devons d'abord monter manuellement la partition racine sur le disque dur. Exécuter (le fichier de mon appareil est /dev/sdb2) :

mount /dev/sdb2 /mnt

Ne vous précipitez pas encore. À l'heure actuelle, bien que vous puissiez entrer le bash du système principal sur le disque dur en chrootant vers /mnt, vous ne pouvez guère effectuer correctement des tâches complexes car il reste encore des répertoires importants qui ne sont pas montés. Nous exécutons les instructions pour monter respectivement le répertoire proc, le répertoire /sys, le répertoire /dev et /run. Entrez /mnt et exécutez respectivement :

mount -t proc proc proc/

mount --rbind /sys sys/

mount --rbind /dev dev/

mount --rbind /run run/

Les fonctions de ces répertoires sont :

répertoire proc : Un système de fichiers virtuel au format Procfs utilisé pour stocker les fichiers d'état du processus (sous Linux, ces fichiers semblent être des fichiers texte en surface, mais sont en fait des mappages de fichiers de l'état du processus

) ;

/sys répertoire : Pour Arch Linux, il s'agit d'un système de fichiers virtuel au format Sysfs similaire au répertoire proc, utilisé pour stocker les fichiers de périphérique connectés au système pour Unix traditionnel et de type Unix, c'est un pointeur vers le répertoire ; lien logiciel de l'arborescence du code du noyau ;

/dev répertoire : stocke les fichiers de l'appareil, par exemple, votre disque dur est /dev/sdXY ;

/run directory : stocke certaines informations système après le dernier démarrage ;

Après avoir monté ces éléments, nous pouvons chrooter vers le répertoire racine de notre disque dur principal :

chroot /mnt

Médecine des regrets++. Pour moi, il me suffisait de modifier le fichier mkinitcpio.conf et de réexécuter l'opération mkinitcpio pour régénérer le fichier correct du noyau. Généralement, si la panique du noyau est provoquée par une modification incorrecte de la configuration, cet environnement peut résoudre la plupart des problèmes.

3. Quelques compétences

1. De nombreux fichiers de configuration ont des versions ou des modèles corrects pour le système dans le LiveCD. Si vous ne vous souvenez pas à quoi ils ressemblent normalement, vous pouvez vous y référer ;

2. Pour Arch Linux, vous pouvez utiliser directement la commande pacstrap pour gérer le package logiciel sur le point de montage /mnt sans chrooter vers /mnt ;

3. Il peut être utilisé sous deux ttys, de sorte qu'après avoir chrooté vers /mnt, les fichiers puissent toujours être transférés du système de fichiers LiveCD vers /mnt.

Ce tutoriel devrait être disponible pour la plupart des distributions Linux, et j'espère qu'il sera utile à certains utilisateurs de Linux.

Recommandations associées :

Comment configurer deux cartes graphiques dans le système Linux ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer