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
deplacer_root [Le 18/03/2008, 10:04]
Canigou 66 celà > cela, les lignes commenté > les lignes commentées, ramplacer > remplacer, vous avez du > vous avez dû
deplacer_root [Le 08/05/2023, 12:29] (Version actuelle)
81.220.114.136 [Pourquoi déplacer sa partition /]
Ligne 1: Ligne 1:
-{{tag>​partitions système ​brouillon}}+{{tag>​partitions système ​BROUILLON}}
  
 <​note>​Cette page est en cours de construction... Si vous êtes arrivé ici, c'est que le sujet vous intéresse. Si vous avez suffisamment de connaissances,​ vous pouvez continuer ce topic. (Pour ma part j'ai peu de temps a y consacré en ce moment malheureusement...) <​note>​Cette page est en cours de construction... Si vous êtes arrivé ici, c'est que le sujet vous intéresse. Si vous avez suffisamment de connaissances,​ vous pouvez continuer ce topic. (Pour ma part j'ai peu de temps a y consacré en ce moment malheureusement...)
  
-Pour plus d'info sur le sujet vous pouvez allez voir sur le forum: [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=141941|Deplacer contenue ​de / vers partition plus grande]]+Pour plus d'info sur le sujet vous pouvez allez voir sur le forum: [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=141941|Déplacer le contenu ​de / vers une partition plus grande]].
  
-Voir aussi [[:installation:​deplacer_home|la page traitant du déplacement du /​home]].</​note>​+Voir aussi [[:tutoriel:​deplacer_home|la page traitant du déplacement du /​home]].</​note>​
  
 ====== Déplacer sa racine(ou root (/)) ====== ====== Déplacer sa racine(ou root (/)) ======
 Cet article s'​adresse à ceux qui ont besoin de déplacer leur partition / (ou partition root). Cette partition est la partition principale du système Linux. Cet article s'​adresse à ceux qui ont besoin de déplacer leur partition / (ou partition root). Cette partition est la partition principale du système Linux.
- 
  
 ===== Pourquoi déplacer sa partition / ===== ===== Pourquoi déplacer sa partition / =====
-La principale raison de déplacer sa partition / est de conserver son système actuel avec toutes ​ces configurations et applications lors d'​une ​ré_organisation ​des partitions de son disque dur (déplacement,​ agrandisement,​ retrécissement de partitions, utilisation d'un autre disque dur, suppression de Windows du disque dur). +La principale raison de déplacer sa partition / est de conserver son système actuel avec toutes ​ses configurations et applications lors d'​une ​réorganisation ​des partitions de son disque dur (déplacement,​ agrandisement,​ retrécissement de partitions, utilisation d'un autre disque dur, suppression de Windows du disque dur). 
- +Mais également si on a des craintes avec un disque SSD un peu vieux.
- +
 ===== Mode opératoire ===== ===== Mode opératoire =====
 La procédure de déplacement de la partition / consiste en 4 étapes : La procédure de déplacement de la partition / consiste en 4 étapes :
Ligne 23: Ligne 20:
   - Modifier les fichiers de gestion de partition (fstab) et modifier les fichiers de démarrage du système (grub).   - Modifier les fichiers de gestion de partition (fstab) et modifier les fichiers de démarrage du système (grub).
   - Effacer l'​ancienne partition après avoir vérifié que la nouvelle configuration de partition fonctionne correctement.   - Effacer l'​ancienne partition après avoir vérifié que la nouvelle configuration de partition fonctionne correctement.
- 
- 
  
 ===== Pré-requis ===== ===== Pré-requis =====
  
   * Posséder un live CD afin de pouvoir manipuler vos partitions de l'​extérieur.   * Posséder un live CD afin de pouvoir manipuler vos partitions de l'​extérieur.
-  * Posséder une connexion internet pour pouvoir installer [[GParted]] si celui ci ne figure pas sur le live CD. GParted ​figure sur le CD Gutsy.+  * Posséder une connexion internet pour pouvoir installer [[GParted]] si celui ci ne figure pas sur le live CD. 
 +  * Connaître les identifiants de ses partitions (sous la forme ''/​dev/​sda1''​),​ à l'aide de GParted ​ou de la commande <code bash>​sudo fdisk -l </​code>​
  
 ===== Déplacer son / ===== ===== Déplacer son / =====
- 
- 
- 
- 
  
 ==== Créer une nouvelle partition ==== ==== Créer une nouvelle partition ====
-Vous devez utiliser une partition vide et formater ​linux (ext3 ou ext2). Si vous n'avez pas déjà cette partition vous devez la créer. Pour modifier, créer ou supprimer vos partitions vous pouvez utiliser le logiciel [[GParted]] (ou d'​autres comme [[QtParted]]).+Vous devez utiliser une partition vide et formatée ​linux (voir la  page [[ssd_solid_state_drive#​choix_du_systeme_de_fichier|choix du système de fichier (SSD)]] si vous avez un SSD). Si vous n'avez pas déjà cette partitionvous devez la créer. Pour modifier, créer ou supprimer vos partitionsvous pouvez utiliser le logiciel [[GParted]] (ou d'​autres comme [[QtParted]]).
  
-<note important>​Attention,​ un disque dur ne peut pas supporter plus de partitions principales. Si vous avez besoin de plus de partitions, ​je vous conseille ​de créer une partition étendue, dans laquelle vous pourrez créer des partitions logiques.+<note important>​Attention,​ un disque dur utilisant une table de partition de type MBR (ce qui est le cas pour la majorité des PCs) ne peut pas supporter plus de quatre ​partitions principales. Si vous avez besoin de plus de partitions, ​il est conseillé ​de créer une partition étendue, dans laquelle vous pourrez créer des partitions logiques.
 </​note>​ </​note>​
  
 A voir: [[repartitionner|Comment repartitionner]] A voir: [[repartitionner|Comment repartitionner]]
  
 +==== Copier sa partition / ====
 +Maintenant qu'une nouvelle partition a été créée, il faut copier les fichiers de l'​ancienne vers la nouvelle. Pour cela, il faut booter à l'aide d'un live CD et lancer un terminal. Voici une série de commandes à exécuter pour copier les fichiers de la partition "​old"​ vers la partition "​new"​.
  
 +La copie peut se faire de différentes façons :
 +* En ligne de commande :
 +    * Avec dd
 +    * Avec rsync
 +    * Avec cp
 +  * En interface graphique :
 +    * Avec gparted
  
 +Avantages / inconvénients :
 +^Méthode^On doit monter les partitions avant la copie^On peut copier la partition root active^Copie le UUID et label^
 +|dd|non|oui|oui|
 +|rsync ou cp|oui|oui|non|
 +|gparted|non|non|oui|
  
  
 +<note important>​On prendra l'​exemple de l'​ancienne partition ("​old"​) :''/​dev/​sda1''​ (où Ubuntu est installé) \\ et la nouvelle partition ("​new"​) : ''/​dev/​sda3''​ (où Ubuntu sera installé)</​note>​
 +Pour plus d'​informations sur la gestion des partitions sous Linux, voir [[:​mount_fstab#​Présentation|cet article]]
  
- +=== Créer 2 répertoires (méthode rsync ou cp) === 
- +Les deux commandes ci-dessous permettent de créer deux répertoires qui serviront à monter les 2 partitions.
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
-==== Copier sa partition / ==== +
-Maintenant qu'une nouvelle partition a été créée, il faut copier les fichiers de l'​ancienne vers la nouvelle. Pour cela, il faut booter à l'aide d'un live CD et lancer un terminal. Voici une série de commandes à exécuter pour copier les fichiers de la partition "​old"​ hda4 vers la partition "​new"​ hda1. +
-Pour plus d'​informations sur la gestion des partitions sous Linux, voir [[installation:​mount_fstab#​Présentation|cet article]] +
- +
-  * Créer 2 répertoires +
-Les deux commandes ci-dessous permettent de créer deux répertoires qui serviront à monter les 2 partitions. "​old"​ représentera l'​ancienne partition (où ubuntu est pour l'​instant installé) et "​new"​ représentera donc la nouvelle partition où ubuntu sera installé).+
  
   sudo mkdir /old   sudo mkdir /old
   sudo mkdir /new   sudo mkdir /new
  
-  * Monter les 2 partitions +=== Monter les 2 partitions ​(méthode rsync ou cp) === 
-Les deux commandes [[installation:​mount_fstab#​La commande mount|mount]] ci-dessous permettent de monter les partitions dans les répertoires précédemment créés. +Les deux commandes [[:​mount_fstab#​La commande mount|mount]] ci-dessous permettent de monter les partitions dans les répertoires précédemment créés.
- +
-<note important>​Pensez à modifiez les partitions hda1 et hda4 en fonction de vos besoins !</​note>​ +
- +
-  sudo mount /dev/hda4 /old +
-  sudo mount /dev/hda1 /new +
- +
-  * Copie des fichiers ​  +
-Cette commande va lancer la copie de tous les fichiers de l'​ancienne partition vers la nouvelle. En fonction de la quantité de données, cela peut prendre plus ou moins de temps. +
- +
-  sudo cp -ax /old/. /new +
- +
-A ce moment, vous avez deux systèmes ubuntu installés sur votre disques dur. +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
  
 +<note important>​Pensez à modifiez les partitions sda1 et sda3 en fonction de vos besoins !</​note>​
 +<code bash>​sudo mount /dev/sda1 /old
 +sudo mount /dev/sda3 /​new</​code>​
  
 +=== Copie des fichiers ===
 +Cette commande va lancer la copie de tous les fichiers de l'​ancienne partition vers la nouvelle. En fonction de la quantité de données, cela peut prendre plus ou moins de temps. Ici, on présente 3 méthodes : avec **rsync** ou **cp** ou **dd**
  
 +**Copie avec rsync**
 +<code bash>​sudo rsync -axHAXP /old/ /​new/</​code>​
  
 +Rsync permet l’arrêt, la reprise et est plus verbeux que cp. \\
 +Vous pouvez installer rsync dans le LiveCD (il disparaîtra à l'​extinction) à l'aide de la commande ''​sudo apt-get install rsync''​
  
 +**Ou copie avec cp**
 +<code bash>
 +cd /old
 +sudo cp -axRv . /new
 +</​code>​
  
 +<note important>​L'​option ''​-x''​ permet de ne pas copier en-dessous des liens logiques vers d'​autres partitions (comme ''/​home''​) pour ne copier que ce qui est réellement dans la partition. En d'​autres termes, si vous avez un ''/​home''​ séparé, il ne sera pas copié (option ''​-x''​). Vous devez donc, si vous le voulez, déplacer votre dossier utilisateur dans une nouvelle partition. (pas besoin d'​être dans un LiveCD)
 +</​note>​
  
 +**Ou copie avec dd**.
 +Une autre alternative est d'​utiliser [[dd#​copier_une_partition_de_disque_sur_un_autre_disque|Commande “dd” pour copier une partition]] :
 +  * Avantage :
 +    * la partition de destination sera un clone identique de la partition initiale
 +    * pas la peine de monter les disques
 +  * Avantage / inconvenient : l'​[[uuid_et_label|UUID et label]] sera copié. Il ne sera pas nécessaire de faire l'​étape suivante (edition de fstab). Par contre, vous devez changer l'UUID du disque initial soit en virant le disque initial, soit en changeant son UUID (astuce : un clic droit sur la partition dans l'​application [[gpart|gpart]])
  
 +A ce moment, vous avez deux systèmes Ubuntu installés sur votre (vos) disque(s) dur(s).
 ==== Modifier les fichiers de gestion du disque ==== ==== Modifier les fichiers de gestion du disque ====
 Il reste à modifier : Il reste à modifier :
 +  * le fichier de gestion des partitions ([[:​mount_fstab#​Le fichier fstab|fstab]]) pour indiquer au nouvel ubuntu la nouvelle organisation du disque dur.
   * la configuration de [[grub|grub]] pour que le démarrage s'​effectue bien sur la nouvelle partition.   * la configuration de [[grub|grub]] pour que le démarrage s'​effectue bien sur la nouvelle partition.
-  * le fichier de gestion des partitions ([[installation:​mount_fstab#​Le fichier fstab|fstab]]) pour indiquer au nouvel ubuntu la nouvelle organisation du disque dur. 
 Les deux étapes suivantes nécessitent de savoir utiliser un [[tutoriel:​comment_editer_un_fichier#​Partout (même sans interface graphique)|éditeur en mode texte]] comme nano ou vi. Les deux étapes suivantes nécessitent de savoir utiliser un [[tutoriel:​comment_editer_un_fichier#​Partout (même sans interface graphique)|éditeur en mode texte]] comme nano ou vi.
  
-=== Configuration de Grub === +<note important>​ 
-Il va falloir modifier ​le menu de démarrage de grub. Pour cela, il suffit d'éditer ​le fichier /new/boot/grub/​menu.lst.+Avant toute manipulation des fichiers fstab et menu.lst, pensez à en faire une sauvegarde dans un coin de votre ordinateur afin de pouvoir, le cas échéant, les restaurer</​note>​ 
 +=== Le fichier fstab === 
 +Dans le plus simple des cas, c'​est-à-dire si vous n'avez pas déplacé la partition ​de Swap, il n'y a qu'une ligne à changer. En effet le répertoire racine / devra désormais être monté sur la partition "​new"​. Ouvrez ​le fichier /new/etc/fstab (fichier fstab situé sur la nouvelle partition)En suivant l'​exemple précédent,​ il faut remplacer la ligne : 
 +<code bash>/​dev/​sda1 ​    / ​             ext4        defaults,​errors=remount-ro 0    1</​code>​ 
 +par la ligne : 
 +<code bash>/​dev/​sda3 ​    / ​             ext4        defaults,​errors=remount-ro 0    1</​code>​
  
-Voici un extrait du fichier qui contient ​les lignes à modifier : +<​note>​Si vous avez dû utiliser ​les UUID pour désigner les partitions avec grubil faudra les réutiliser dans fstabVoilà ce que donne la ligne : 
- +<code bash>​UUID=b6702dea-bd1e-4177-a4d1-a5560b48836c /               ​ext3 ​   defaults,errors=remount-ro 0    1</code> 
-  title           ​Ubuntu 7.10kernel 2.6.22-14-generic +</note> 
-  ​root ​           (hd0,3) +<​note>​ 
-  kernel ​         /​boot/​vmlinuz-2.6.22-14-generic ​ root=/dev/hda4 ro quiet splash +Pour obtenir l'UUID d'une partition, tapez 
-  initrd ​         /​boot/​initrd.img-2.6.22-14-generic +<code bash>​sudo blkid /dev/sda3</​code>​
-  quiet +
-   +
-  title           ​Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode) +
-  root            (hd0,3) +
-  kernel ​         /​boot/​vmlinuz-2.6.22-14-generic ​  root=/dev/hda4 ro single +
-  ​initrd ​         ​/boot/​initrd.img-2.6.22-14-generic +
- +
-<​note>​Parfois, les partitions ne sont pas désignées par leur chemin (/dev/hda1) mais par leur UUID (numéro hexadécimal qui identifie ​une partition). Voilà ce que peut donner la ligne kernel dans ce cas +
-  ​kernel ​         ​/boot/vmlinuz-2.6.22-14-generic root=UUID=b6702dea-bd1e-4177-a4d1-a5560b48836c ro quiet splash+
 </​note>​ </​note>​
  
-Il faut ensuite modifier les lignes root. En effet, grub démarrait sur la partition "​old"​ hd0,3 (/dev/hda4) et doit maintenant ​ démarrer sur la partition "​new"​ hd0,0 (/​dev/​hda1).+=== Configuration de Grub ===
  
-De même, il faut modifier les lignes kernel en indiquant le nouveau chemin ​du répertoire racine / (anciennement /dev/hda4, nouvellement /​dev/​hda1) +== Mise à jour du menu de démarrage ​de Grub ==
- +
-<​note>​Si votre fichier grub utilisait les UUID, vous devez retrouver le numéro ​de la nouvelle partition. Pour cela, vous pouvez utiliser la commande tune2fs. Par exemple, pour trouver l'​UUID ​de la partition /dev/hda1 : +
-  sudo tune2fs -l /dev/hda1 | grep UUID +
-</​note>​+
  
-Voici à quoi ressemble ​le fichier après modification : +Démarrez ​le système depuis un live CDUn fois démarré ouvrez une consoleensuite le but est de monter la nouvelle partition ​root et de se loguer en super utilisateur ​se "​chrooter"​ sur la partition). Entrez les commandes suivantes (en remplaçant sda3 par votre nouvelle partition) : 
-  title           ​Ubuntu 7.10kernel 2.6.22-14-generic +<code bash>​sudo mount /dev/​sda3 ​/mnt 
-  ​root            (hd0,0+sudo mount --bind /dev /mnt/dev 
-  ​kernel ​         ​/boot/vmlinuz-2.6.22-14-generic ​ root=/dev/hda1 ro quiet splash +sudo mount --bind /proc /mnt/proc 
-  initrd ​         ​/boot/​initrd.img-2.6.22-14-generic +sudo mount --bind /sys /mnt/sys 
-  ​quiet +sudo chroot ​/mnt /bin/​bash</​code>​
-   +
-  title           ​Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode) +
-  root            (hd0,0) +
-  kernel ​         ​/boot/vmlinuz-2.6.22-14-generic ​  root=/dev/hda1 ro single +
-  ​initrd ​         ​/boot/initrd.img-2.6.22-14-generic+
  
-<​note>​Pensez à modifier les lignes commentées en haut du fichier (Ne pas supprimer les #)  +<​note>​Si la commande chroot génère une erreur ​du type "bash: ... command not found",​ il est possible que le dossier /usr doive être monté sur une autre partition sdaYDans ce cas, il suffit d'​ajouter la ligne de commande :
-  ## ## Start Default Options ## +
-  ## default kernel options +
-  ## default kernel options for automagic boot options +
-  ## If you want special options for specific kernels use kopt_x_y_z +
-  ## where x.y.z is kernel versionMinor versions can be omitted. +
-  ## e.g. kopt=root=/​dev/​hda1 ro +
-  ##      kopt_2_6_8=root=/​dev/​hdc1 ro +
-  ##      kopt_2_6_8_2_686=root=/​dev/​hdc2 ro +
-  # kopt=root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ro+
  
-  ## default grub root device +sudo mount /dev/sdaY /usr
-  ## e.g. groot=(hd0,​0) +
-  # groot=(hd0,​x)+
  
-Ceci permet de ne pas restaurer les anciens paramètres lors d'un "​[[grub#​noyaux_listes_automatiquement|update-grub]]"​ ou d'une màj du noyau. 
 </​note>​ </​note>​
  
 +Ensuite il vous reste à mettre à jour le grub :
 +<code bash>​grub-mkconfig -o /​boot/​grub/​grub.cfg
 +grub-install /​dev/​sda</​code>​
  
 +  * Si la commande "​grub-install"​ échoue vous pouvez essayer <code bash> grub-install --recheck /dev/sda </​code>​
  
 +  * Si la commande "​grub-mkconfig"​ échoue, essayez:
  
 +<note warning>​Attention nécessite d'​avoir un accès internet depuis le live CD = accès réseau, il peut arriver que les cartes WiFi ne soient pas reconnues</​note>​
 + <​code bash> apt-get remove --purge grub-pc
 + ​apt-get install grub-pc </​code>​
  
-=== Le fichier fstab === +<​note>​Si ​la nouvelle ​partition ​(contenant ​le /new) était ​sur un disque différent, pensez à modifier ​l'ordre du boot dans le BIOS afin de démarrer sur ce nouveau disque</​note>​
-Dans le plus simple des cas, c'est à dire si vous n'avez pas déplacé ​la partition ​de Swap, il n'y a qu'une ligne à changer. En effet le répertoire racine ​devra désormais être monté sur la partition "new". Ouvrez le fichier /​new/​etc/​fstab (fichier fstab situé ​sur la nouvelle partition). En suivant ​l'exemple précédent,​ il faut remplacer la ligne :+
  
-  ​/dev/hda4                  ​ext3 ​       defaults,​errors=remount-ro 0    1 +<​note>​Ne pas oublier d'​éditer le fichier de configuration ​/etc/initramfs-tools/conf.d/​resume et de corriger l'UUID en le remplaçant ​par celui de l'​éventuelle nouvelle partition swap 
- +RESUME=UUID=<​uuid>​ 
-par la ligne +en remplaçant ​<uuidpar la valeur adéquate… ​</​note>​
- +
-  /​dev/​hda1 ​    / ​             ext3        defaults,​errors=remount-ro 0    1 +
- +
-<note>Si vous avez dû utiliser les UUID pour désigner les partitions avec grub, il faudra les réutiliser dans fstab. Voilà ce que donne la ligne : +
-  UUID=b6702dea-bd1e-4177-a4d1-a5560b48836c /               ​ext3 ​   defaults,​errors=remount-ro 0    1 +
-</​note>​+
  
 Et voilà ! Il ne reste qu'à rebooter sans le live CD. Et voilà ! Il ne reste qu'à rebooter sans le live CD.
- 
-<​note>​Lorsque j'ai effectué la manipulation,​ j'ai réalisé de multiples essais et j'ai du réinstaller grub sur le MBR du disque dur. Mais je ne sais pas si l'​opération qui suit est nécessaire,​ dans le cas où l'on suit scrupuleusement les indications précédentes. ​ 
-Si à l'​issue de ce tuto, ubuntu ne démarre pas, redémarrez sur le Live CD et lancez le terminal. Tapez la commande : 
-  sudo grub 
- 
-Une invite de commande apparait. Tapez y les deux commandes suivantes (trouvées sur Linux France) : 
-  grub> root (hd0,0) 
-  ​ 
-  Filesystem type is ext2fs, partition type 0x83 
-  ​ 
-  grub> setup (hd0) 
-  ​ 
-  Checking if "/​boot/​grub/​stage1"​ exists... yes 
-  Checking if "/​boot/​grub/​stage2"​ exists... yes 
-  Running "​install /​boot/​grub/​stage1 d (hd0) /​boot/​grub/​stage2 p /​boot/​grub/​menu.lst"​... succeeded 
-  Done. 
-  ​ 
-  grub>​quit 
- 
-Redémarrez à nouveau, cette fois ça devrait être la bonne... 
-</​note>​ 
- 
  
 ====== Voir aussi ====== ====== Voir aussi ======
-  * [[:installation:​deplacer_home|Déplacer son /home]]+  * [[:tutoriel:​deplacer_home|Déplacer son /home]] 
 +  * [[:​deplacer_repertoire_usr|Déplacer son /usr]]
   * [[repartitionner|Comment repartitionner]]   * [[repartitionner|Comment repartitionner]]
  
  • deplacer_root.1205831058.txt.gz
  • Dernière modification: Le 18/04/2011, 14:56
  • (modification externe)