Un exemple d'utilisation de chroot : réinstaller GRUB
• linux •GRUB est une application permettant de choisir sous quel OS booter. Elle s'installe sur la MBR du disque dur. Il arrive parfois qu'elle ne fonctionne plus ( souvent suite à une réinstallation de Windows ) et ainsi il n'est plus possible de démarrer l'ordinateur. L'utilisation de la commande chroot avec un LiveCD est une manière possible de réparer GRUB.
Introduction
Dans un système UNIX, la racine des répertoires ( root en anglais ) est noté "/" . La commande chroot permet de faire croire à un processus que la racine "/" est ailleurs ! Vous pouvez donc par exemple avoir un système d'exploitation complet dans /mnt/ubuntu . En utilisant la commande :
Vous lancez un shell Bash depuis le système de fichier "/mnt/ubuntu" pour qui "/mnt/ubuntu" est en fait la racine du système. "/mnt/ubuntu" est devenue une nouvelle "/" indépendante de la racine initiale. Toute commande effectuée à l'intérieur de ce bash n'aura aucune connaissance du vrai répertoire racine.
Tout ce passe comme si vous étiez sur une autre machine UNIX.
Et GRUB alors ?
L'astuce est la suivante : nous allons booter sur notre LiveCD et chrooter sur notre linux installé. Pour ensuite réinstaller le GRUB facilement
C'est parti !
Alors tout d'abord il vous faut un LiveCD, n'importe lequel devrait suffire, Knoppix par exemple. Insérez le dans votre ordinateur et redémarrez. Une fois le démarrage terminé, ouvrez une console.
Passez en mode superutilisateur (root) en tapant la commande suivante sur Knoppix:
Maintenant il faut créer notre espace de travail et monter les partitions de notre installation Linux. Il faut créer un répertoire pour notre point de montage :
Si votre "/boot" est dans une partition differente de la racine du système il faut aussi créer le dossier boot :
Il est maintenant temps de chargé les données dans ces dossiers. Dans mon système la partition /dev/hda4 correspond à la racine de mon système. Adapter donc la commande suivante pour vous :
mount -o bind /dev /mnt/help/dev
mount -o bind /proc /mnt/help/proc
cp /proc/mounts /mnt/help/etc/mtab
Et si votre "/boot" est sur une autre partition monter la aussi comme ceci :
Maintenant il suffit de rentrer dans l'environnement de travail avec chroot :
À partir de maintenant vous n'êtes plus dans le LiveCD mais sur le système Linux que vous avez installé. Donc toute modification est prise en compte !
Réparons GRUB
Lancez la commande "grub" : un prompt devrait apparaître. Lancer ensuite :
# avec x et y deux nombres
grub> root (hdx,y) # Avec les nombres que vous avez eu au dessus
grub> setup (hd0) # On réecrit la MBR
grub> quit # On quitte
Et voila normalement c'est réparé, vous pouvez quitter le LiveCD et essayer de rebooter sur votre système.
Super, merci.
Sur les autres sites il manque le coup du "mount -o bind /dev /mnt/help/dev"
Et ça change tout :)
- spam
- offensive
- disagree
- off topic
Like