logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:systeme:chroot [30/04/2015 19:17]
milou [Deuxième étape: montage, et chrootage]
doc:systeme:chroot [11/06/2023 14:33] (Version actuelle)
Croutons [Deuxième étape: montage, et chroot]
Ligne 1: Ligne 1:
 ====== chroot ====== ====== chroot ======
  
-  * Objet : chrooter un système+  * Objet : Utilisation de la commande chroot pour accéder à une installation gnu/linux depuis une autre
   * Niveau requis : {{tag>​avisé}}   * Niveau requis : {{tag>​avisé}}
-  * Commentaires : //Réparer ​un système ​installé en dur à partir ​d'​un ​Live CD ou DVD// +  * Commentaires : //Cela peut être très utile si un système ​ne démarre plus à cause d'​un ​problème de grub, ou de noyau, etc.// 
-  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) +  * Suivi : 
-  * Suivi : {{tag>​à-tester}}+
     * Création par [[user>​smolski]] le 28/10/2011     * Création par [[user>​smolski]] le 28/10/2011
-    * Testé par ... le ...+    * Testé par [[user>​bendia]] ​le 2/05/2015 
 +    * Màj par [[user>​captnfab]] le 16/01/2021
   * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​id=10080 | c'est ici]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))   * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​id=10080 | c'est ici]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
- 
- 
  
  
 ===== Introduction ===== ===== Introduction =====
  
-Dans ce textenous voulons montrer ​comment utiliser la commande chroot pour pouvoir basculer vers votre système GNU/Linux, c'​est-à-dire ​votre Debian préférée,​ à partir d'un autre système. Ce second système peut être un Live CD ou DVD. Un autre système ​à base Debian ​en dual boot sur votre ordi est tout aussi valable.+La commande ''​chroot''​ signifie //change root//c'est à dire changer la racine. Elle permet donc d'« entrer dans » une installation de Linux, sans //booter// dessus. 
 +Nous allons voir comment utiliser la commande chroot pour pouvoir basculer vers un système GNU/​Linux ​(par exemple ​votre Debian préférée), à partir d'un autre système. Ce second système peut être un Live (cd/​usb) ​ou un autre système ​GNU/​Linux ​en dual boot.
  
-Règle généralil faut donc trouver un Live CD puis démarrer son ordi avec. \\ +Vous pouvez par exemle utiliser une live debianou la DFisomais n'​importe quel Live CD GNU/​Linux ​fera l'​affaire : Knoppix, Ubuntu, Sidux, etc. 
-Comment mentionné, n'​importe quel Live CD à base de Debian ​fera l'​affaire : Knoppix, Ubuntu, Sidux, etc. +
  
-<note important>​Attention,​ si votre système est en 64bits, il faudra démarrer avec un LiveCD ​en 64bits</​note>​+<note important>​Attention,​ si votre système est en 64bits, il faudra démarrer avec un Live en 64bits</​note>​
  
-===== Deuxième étape: montage, et chrootage ​=====+===== Deuxième étape: montage, et chroot ​=====
  
 Voici en détail les opérations à effectuer pour monter et chrooter son système. Voici en détail les opérations à effectuer pour monter et chrooter son système.
Ligne 31: Ligne 29:
  
 Ouvrez un terminal et tapez : Ouvrez un terminal et tapez :
-<​code ​root>fdisk -l</​code>​+<​code ​user>lsblk --fs</​code>​
  
-Cette commande vous permet de vérifier quelle partition exactement est à "​chrooter",​ c'​est-à-dire quelle est votre partition racine. \\ +Cette commande vous permet de lister les partitions présentes sur votre machine. À vous d'​identifier la partition racine ​du système auquel vous voulez accéder. \\ 
-Dans le cas où l'on a un seul système présent ​sur son ordi, le résultat de la commande ci-dessus ​ressemblera ​à ceci : +Dans le cas où l'on a deux systèmes présents ​sur son ordi (en comptant le live ou le dual-boot), le résultat de la commande ci-dessus ​pourrait ressembler ​à ceci : 
 <file config retour de la commande>​ <file config retour de la commande>​
-   Device Boot      Start         ​End ​     Blocks ​  ​Id ​ System +NAME                  FSTYPE ​     FSVER    LABEL      UUID                                   ​FSAVAIL FSUSE% MOUNTPOINT 
-   /​dev/​hda1 ​  ​* ​                 ​5624 ​   45174748+ ​ 83  Linux +sda                                                                                                          
-   /​dev/​hda2 ​           5625        6110     ​3903795 ​  ​82 ​ Linux swap / Solaris +├─sda1 ​               ext4        ​1.0                 ​711cca50-9068-4a59-9c39-a6b3947a3250 ​   346,​4M ​   23% /boot 
-   /​dev/​hda3 ​           6111       ​14946 ​   70975170 ​   5  Extended +└─sda2 ​               ext4        1.0                 ​18c3dcf5-7912-47d5-b121-c246482181a1 ​    ​15,0G    50% /
-   /​dev/​hda5 ​           6111       ​14946 ​   70975138+ ​ 8e  Linux LVM</file>+
  
-La partition qui nous intéresse ici est ''/​dev/​hda1''​.+sdb                                                                                                          
 +├─sdb1 ​               vfat        FAT32               ​7AD0-5B24 ​                              ​450,​8M ​    5% 
 +├─sdb2 ​               swap        1                   ​0d43bb7d-f3a8-4232-969e-ad47f5616923 
 +├─sdb3 ​               ext4        1.0                 ​160df578-36ff-4dc3-b9a7-a67b0b0ae9b9 ​      ​17G ​   45% 
 +└─sdb4 ​               ext4        1.0                 ​3be277a2-1f2b-44a1-bda6-066cf5bc7a9d ​   494,​9G ​   40% 
 +</​file>​ 
 + 
 +''/​dev/​sda2''​ est la partition racine du système que l'on est en train d'​utiliser (on le voit car la colonne mountpoint indique ''/''​). 
 + 
 +La partition qui nous intéresse ici est ''/​dev/​sdb3''​, car c'est la partition racine de l'​autre système. 
 +On la reconnaît en général car elle est en ext4 et a une taille comprise entre 15Go et 50Go.
  
 ==== Création d'un répertoire où la partition système sera montée. ==== ==== Création d'un répertoire où la partition système sera montée. ====
  
-On commence donc par créer ​le répertoire ​chroot ​:+On commence donc par créer ​un répertoire ​de montage ​:
 <code root> <code root>
-mkdir /mnt/chroot</​code>​+mkdir /mnt/plouf</​code>​
  
 Puis on monte notre partition système dans ce répertoire : Puis on monte notre partition système dans ce répertoire :
 <code root> <code root>
-mount /dev/hda1 /mnt/chroot</​code>​ +mount /dev/sdb3 /mnt/plouf</​code>​ 
- +<note tip>Pour monter un système qui tient sur plusieurs partitions ( généralement ​une partition ​système plus une partition contenant le /home partition utilisateur ou dans le cas d'utilisation de plusieurs volumes [[doc:​systeme:​lvm|LVM]]). Il suffit; après avoir monté ​la partition principale avec la commande ci dessus; de bien monter ​la seconde partition au bon endroit. Ex pour un /home séparé : le monter avec la commande ​mount dans le dossier ​/mnt/plouf/**home/** . ( pas simplement ​/mnt/plouf !). </​note>​
-Si vous avez une partition ​séparée pour ''​/boot'', il faut aussi la monter :  +
-<code root> +
-mount /​dev/​hdxy ​/mnt/chroot/boot</​code>​ +
- +
-<note important>​Il est d'​ailleurs probable que dans ce cas, ''/​dev/​hda1''​ soit votre partition ​**/boot** et /dev/hda2 la  /((racine)) de votre système, soyez attentif à ce que vous faites.</​note>​+
  
 Une fois que la partition système est montée, il faut monter les périphériques que le Live CD a trouvé : Une fois que la partition système est montée, il faut monter les périphériques que le Live CD a trouvé :
 <code root> <code root>
-mount --bind /dev/ /mnt/chroot/dev</​code>​ +mount --bind /dev/ /mnt/plouf/dev 
-<code root> +mount --bind /sys/ /​mnt/​plouf/​sys 
-mount -t proc /proc /mnt/chroot/​proc</​code>​+mount -t proc /proc /mnt/plouf/​proc</​code>​
  
-Votre système est alors prêt à être "​chrooté" ​:+Entrez ​alors dans le système et monter les autres partitions ​:
 <code root> <code root>
-chroot /mnt/chroot</​code>​+chroot /mnt/plouf /bin/bash 
 +mount -a</​code>​
  
-Il peut parfois être nécessaire,​ en fonction de votre système ou du Live CD à partir duquel vous avez démarré d'​ajouter /bin/bash à la commande. +Une fois toutes ces opérations effectuées,​ vous êtes dans un shell root sur le système ​auquel vous cherchiez à accéder
-<code root> +
-chroot /mnt/chroot /​bin/​bash</​code>​ +
- +
-Une fois toutes ces opérations effectuées,​ vous êtes maintenant en tant que root sur votre système ​installé en dur+
  
 ===== Opérations sur votre système ===== ===== Opérations sur votre système =====
  
-Une fois votre chroot réalisé, vous pouvez donc apporter des modifications sur votre système. ​\\ +Une fois votre chroot réalisé, vous pouvez donc apporter des modifications sur votre système. 
-Vous pouvez, par exemple, installer des paquets ou en enlever. ​\\ + 
-Bref, les commandes apt-get update, apt-get upgrade et autres sont opérationnelles. \\ +Vous pouvez, par exemple, ​utiliser les commandes ''​apt''/''​apt-get''/​etc. pour installer des paquets ou en enlever. 
-Cela permet de pouvoir récupérer un système où suite à une mise à jour des paquets sont cassés et/ou buggés. ​\\+Cela permet de pouvoir récupérer un système où suite à une mise à jour des paquets sont cassés et/ou buggés. 
 Avec la branche sid, il peut arriver à l'​occasion (rarement quand même) qu'une mise à jour de paquets casse complètement le système à notre prochain démarrage. Un chroot nous évite alors une réinstallation du système. Avec la branche sid, il peut arriver à l'​occasion (rarement quand même) qu'une mise à jour de paquets casse complètement le système à notre prochain démarrage. Un chroot nous évite alors une réinstallation du système.
  
-==== Exemple détaillé de l'​utilisation d'un chroot : réinstaller GRUB 2 ==== 
  
-Le paquet grub2 n'est pas indispensable,​ c'est ce que l'on appelle un "​méta-paquet"​ il ne sert qu'à installer grub-pc et grub-common. \\ 
-Éditez le fichier ''/​etc/​default/​grub''​ (uniquement si vous savez ce que vous faites!) selon vos besoin, et lancez ensuite la commande :  
-<code root> 
-update-grub</​code>​ 
  
-Une fois le fichier /​etc/​grub/​grub.cfg "​réparé",​ tapez  +==== Exemple détaillé de l'​utilisation d'un chroot ​réinstaller GRUB 2 ====
-<code root> +
-grub-install /​dev/​hda</​code>​+
  
-Nous supposons ​ ici, puisqu'​il s'agit d'un cas simple, que vous voulez installer GRUB sur le MBR du disque dur. \\+  * Voir [[:​doc:​systeme:​grub2:​reparer|Réparer Grub2]]
  
-Si l'étape se passe mal, essayez avec la commande : +==== Vous n'y avez pas accès à internet ? ====
-<code root>​grub-install --recheck /​dev/​hda</​code>​+
  
-Pour des problèmes plus sérieuxet si les commandes ci-dessus ne donnent pas de résultat sortons l'​artillerie lourde ! \\ +Par exemplevous essayez ​de mettre à jour le système à opérermais cela ne fonctionne ​pas...
-D'​abord installonssi ce n'​est ​pas déjà fait os-prober : +
-<code root> +
-apt-get install os-prober</​code>​+
  
-Effacer votre grub.cfg pour repartir de zéro \\ +Vous tentez sans succès ​:
-Avant tout, faire une sauvegarde ainsi : +
-<code root> +
-cp /​boot/​grub/​grub.cfg /​boot/​grub/​grub.bak)</​code>​+
  
-<​code ​root> +<​code>​ping www.debian-facile.org</​code>​
-rm /​boot/​grub/​grub.cfg</​code>​+
  
-Vérifiez ​que tous vos systèmes sont bien présents ​ +Pourtant "ip a" vous montre ​que votre carte réseau est en fonction "​UP"​ et vous tentez avec succès ​:
-<code root> +
-os-prober</​code>​+
  
-Reconstruction du fichier /​boot/​grub/​grub.cfg  +<​code>​ping 8.8.8.8</​code>​
-<​code ​root> +
-grub-mkconfig -o /​boot/​grub/​grub.cfg</​code>​+
  
-Réinstallation de Grub2 dans le MBR avec les options ​de vérification ​: +Dans ce cas là, il vous faut copier ​dans la partition racine du système que l'on est en train d'​utiliser ​le contenue ​de :
-<code root> +
-grub-install --recheck /​dev/​hda</​code>​+
  
-Vérifiez que Grub2 est bien installé dans votre MBR :  +<​code>​cat /etc/resolv.conf</​code> ​
-<​code ​root> +
-dd if=/dev/sda bs=512 count=1 | strings</​code>​+
  
-  1+0 enregistrements lus +Et le coller dans "/​etc/​resolv.conf" ​(dans le système auquel vous avez accédé via "​chroot"​:
-  1+0 enregistrements écrits +
-  512 octets ​(512 Bcopiés, 1,788e-05 s, 28,6 MB/s +
-  ZRr= +
-  `|f +
-  \|f1 +
-  GRUB +
-  Geom +
-  Hard Disk +
-  Read +
-  Error+
  
-C'est bon, il est présent !+<​code>​nano /​etc/​resolv.conf</​code>​
  
 +Vous devriez à présent accéder a internet et vraquier a vos occupations !
 ===== Sortir du chroot ===== ===== Sortir du chroot =====
  
Ligne 151: Ligne 119:
 Une fois que vous êtes revenu à la console de base, il vous reste à démonter tous vos montages antérieurs : Une fois que vous êtes revenu à la console de base, il vous reste à démonter tous vos montages antérieurs :
 <code root> <code root>
-umount /mnt/chroot/boot</​code>​+umount ​-R /mnt/plouf</​code>​
  
-<code root> + Vous pouvez alors redémarrer votre machine ​et essayer de redémarrer ​sur le système ​qui ne bootait plus précédemment.
-umount /​mnt/​chroot/​dev</​code>​ +
- +
-<code root> +
-umount /​mnt/​chroot/​proc</​code>​ +
- +
-<code root> +
-umount /​mnt/​chroot</​code>​ +
- +
- Vous pouvez alors redémarrer votre machine sur votre système ​installé en dur.+
  
 ===== gimp en chroot ===== ===== gimp en chroot =====
  
-  * [[:​doc:​systeme:​chroot ​| Installer une version chrootée de gimp pas à pas]] +  * [[http://​debian-facile.org/​doc:​systeme:​schroot ​| Installer une version chrootée de gimp pas à pas]]
- +
  
 ===== Liens et remerciement : ===== ===== Liens et remerciement : =====
doc/systeme/chroot.1430414264.txt.gz · Dernière modification: 30/04/2015 19:17 par milou

Pied de page des forums

Propulsé par FluxBB