mercredi, octobre 12 2005, 18:38
Remplacer un noyau linux détruit (sous debian)
Par deny fady - Debian - Lien permanent
Ou comment réinstaller le kernel perdu à partir d'un live-cd
A la suite d'une fausse manipulation, j'ai détruit les fichiers du kernel (le noyau linux). Comme c'était juste aprés une première installation, il n'y avait que ce noyau présent sur la machine. Catastrophe, la distribution refusait (évidemment) de redémarrer... Il fallait tout réinstaller... Et bien pas du tout ! Avec linux rien d'impossible !
On peut redémarrer la distibution et réparer sans tout réinstaller, voici comment :
Le principe est simple, il suffit de récupérer les fichiers manquants sur une distrib live, de les recopier à leur place et de redémarrer. J'ai pour celà utilisé kaella 1.3 (live cd, basée sur knoppix en français), c'est la distribution live que je préfère...
Booter sur la kaella en mode failsafe (le plus rapide, pas de détection matériel), trouver dans les icônes votre partition linux racine, ce sera sans doute la partition hda5 ou hda6 (si vous avez un double boot win-linux) sinon hda1, dans le doute, on peut monter toutes les partitions présentes sur le bureau, puis rechercher celle qui a un sous répertoire "/boot". Pour "monter" la partition, clic droit sur l'icône, choisir "monter" (un petit triangle vert apparait sur l'icône), clic droit sur l'icône, choisir "action" puis "change read/write mode" pour autoriser l'écriture sur la partition. La partition linux est maintenant montée sur /mnt/hdax (x étant égale à 5 ou 6 ou ...) et les utilisateurs knoppix et root peuvent y écrire dessus.
Comme je ne suis pas un adepte de la ligne de commande, je vais vous expliquer comment faire la suite en mode graphique. Mais d'abord, sous kaella (comme sous knoppix) l'utilisateur root n'a pas de mot de passe, il faut lui en donner un. Pour celà, on ouvre un terminal (icône dans la barre de tâche) et on tape :
$ sudo passwd
on tape 2 fois son nouveau mot de passe et c'est tout.
On clique droit sur l'icône de lancement de konqueror dans la barre de tâche, puis "propriétés", puis "application", puis "options avancées", on coche "Exécuter en tant qu'utilisateur différent" et on indique "root" comme nom d'utilisateur.
On lance konqueror, on tape le mot de passe root, choisi précédemment, on est maintenant root et on a tous les droits donc attention ! je choisis le menu "Configuration", puis "Charger un profil d'affichage" puis "Midnight Commander". Puis menu "Affichage" et décocher "Lier la vue" et enfin "Affichage", "Type d'affichage" et "Liste détaillée".
A droite, je sélectionne /KNOPPIX/boot et à gauche /mnt/hdax/boot. Je recopie (avec un glissé-déplacé) les 3 fichiers config-2.4.27, System.map-2.4.27 et vmlinuz-2.4.27 de droite à gauche. Je peux aussi recopier les 3 fichiers de la version 2.6.7 du noyau. Ou les 3 fichiers de n'importe quelle version du noyau.
Puis je fais de même pour les rep de /lib/modules. A droite je sélectionne /KNOPPIX/lib/modules, à gauche /mnt/hdax/lib/modules et je recopie les répertoires 2.4.27 et 2.6.7 de droite à gauche.
Ensuite j'édite le fichier /mnt/boot/grub/menu.lst pour ajouter les entrées nécéssaires, exemple pour le kernel 2.6.7 sur hda6 :
title Debian GNU/Linux, kernel 2.6.7
root (hd0,5)
kernel /boot/vmlinuz-2.6.7 root=/dev/hda6 ro
initrd /boot/initrd.img-2.6.7
savedefault
boot
NB : Attention, pour le disque hdax, le root est (hd0,x-1)
On peut rebooter, choisir l'entrée dans grub, ça devrait marcher...
Une fois le système relancé, on peut réinstaller un noyau par la méthode traditionnelle :
# apt-cache search linux-image 2.6
choisir dans la liste le noyau à installer (linux-image-2.6.12-1-686) dans mon cas.
# apt-get install linux-image-2.6.12-1-686 et hop on a un noyau 2.6.12
Voili, voilà... merci à Pierre Marie, qui a testé involontairement sur sa machine...
Deny
2 commentaires
merci, ça va vien m'aider ton truc !!
Merci beaucoup ! J'ai moi aussi fusillé mon noyau, je vais essayer cette methode.