Pour plus d'info sur le sujet vous pouvez allez voir sur le forum: Déplacer le contenu de / vers une 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 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).
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.
- Connaître les identifiants de ses partitions (sous la forme
/dev/sda1
), à l'aide de GParted ou de la commandesudo fdisk -l
Déplacer son /
Créer une nouvelle partition
Vous devez utiliser une partition vide et formatée 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" vers la partition "new".
/dev/sda1
(où Ubuntu est installé) et la nouvelle partition ("new") :
/dev/sda3
(où Ubuntu sera installé)
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.
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/sda1 /old sudo mount /dev/sda3 /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 rsync -axHAXP /old/ /new/
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 utiliser cp :
sudo cp -ax /old/*. /new
cp
, de se mettre d'abord dans le répertoire /old
avec cd /old
puis utiliser la commande suivante :
sudo cp -axRv . /new
Chez moi en tout cas la commande sudo cp -ax /old/*. /new
n'a pas fonctionné. 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.
A ce moment, vous avez deux systèmes Ubuntu installés sur votre (vos) disque(s) dur(s).
/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)
Modifier les fichiers de gestion du disque
Il reste à modifier :
- le fichier de gestion des partitions (fstab) pour indiquer au nouvel ubuntu la nouvelle organisation du disque dur.
- la configuration de grub pour que le démarrage s'effectue bien sur la nouvelle partition.
Les deux étapes suivantes nécessitent de savoir utiliser un éditeur en mode texte comme nano ou vi.
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/sda1 / ext4 defaults,errors=remount-ro 0 1
par la ligne :
/dev/sda3 / ext4 defaults,errors=remount-ro 0 1
UUID=b6702dea-bd1e-4177-a4d1-a5560b48836c / ext3 defaults,errors=remount-ro 0 1
sudo blkid /dev/sda3
Configuration de Grub
Mise à jour du menu de démarrage de Grub
Démarrez le système depuis un live CD. Un fois démarré ouvrez une console, ensuite 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) :
sudo mount /dev/sda3 /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt /bin/bash
sudo mount /dev/sdaY /usr
Ensuite il vous reste à mettre à jour le grub :
grub-mkconfig -o /boot/grub/grub.cfg grub-install /dev/sda
- Si la commande "grub-install" échoue vous pouvez essayer
grub-install --recheck /dev/sda
- Si la commande "grub-mkconfig" échoue, essayez:
apt-get remove --purge grub-pc apt-get install grub-pc
Et voilà ! Il ne reste qu'à rebooter sans le live CD.