Apportez votre aide…
Ceci est une ancienne révision du document !
Pour plus d'info sur le sujet vous pouvez allez voir sur le forum: Deplacer contenue de / vers partition plus grande
Voir aussi la page traitant du déplacement du /home.
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.
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).
Mode opératoire
La procédure de déplacement de la partition / consiste en 4 étapes :
- Créer une partition vide avec suffisamment de place pour accueillir le futur système. Nous appellerons cette partition dans la suite "new" en opposition à la partition actuelle que nous souhaitons déplacer et que nous appellerons "old".
- Copier les fichiers de l'ancienne partition ("old") à la nouvelle partition ("new").
- 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.
Pré-requis
- 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.
Déplacer son /
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).
A voir: 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" hda4 vers la partition "new" hda1. Pour plus d'informations sur la gestion des partitions sous Linux, voir 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 /new
- Monter les 2 partitions
Les deux commandes mount ci-dessous permettent de monter les partitions dans les répertoires précédemment créés.
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.
Modifier les fichiers de gestion du disque
Il reste à modifier :
- la configuration de grub pour que le démarrage s'effectue bien sur la nouvelle partition.
- le fichier de gestion des partitions (fstab) pour indiquer au nouvel ubuntu la nouvelle organisation du disque dur.
Les deux étapes suivantes nécessitent de savoir utiliser un éditeur en mode texte comme nano ou vi.
Configuration de Grub
Il va falloir modifier le menu de démarrage de grub. Pour cela, il suffit d'éditer le fichier /new/boot/grub/menu.lst.
Voici un extrait du fichier qui contient les lignes à modifier :
title Ubuntu 7.10, kernel 2.6.22-14-generic root (hd0,3) kernel /boot/vmlinuz-2.6.22-14-generic root=/dev/hda4 ro quiet splash initrd /boot/initrd.img-2.6.22-14-generic 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
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=b6702dea-bd1e-4177-a4d1-a5560b48836c ro quiet splash
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).
De même, il faut modifier les lignes kernel en indiquant le nouveau chemin du répertoire racine / (anciennement /dev/hda4, nouvellement /dev/hda1)
sudo tune2fs -l /dev/hda1 | grep UUID
Voici à quoi ressemble le fichier après modification :
title Ubuntu 7.10, kernel 2.6.22-14-generic root (hd0,0) kernel /boot/vmlinuz-2.6.22-14-generic root=/dev/hda1 ro quiet splash initrd /boot/initrd.img-2.6.22-14-generic quiet 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
## ## 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 version. Minor 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 ## e.g. groot=(hd0,0) # groot=(hd0,x)
Ceci permet de ne pas restaurer les anciens paramètres lors d'un "update-grub" ou d'une màj du noyau.
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 :
/dev/hda4 / ext3 defaults,errors=remount-ro 0 1
par la ligne :
/dev/hda1 / ext3 defaults,errors=remount-ro 0 1
UUID=b6702dea-bd1e-4177-a4d1-a5560b48836c / ext3 defaults,errors=remount-ro 0 1
Et voilà ! Il ne reste qu'à rebooter sans le live CD.
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…