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.
C'est pourquoi une manière correcte et habituelle de cloner son système (pour le transférer sur un SSD par exemple), est d'utiliser un système tiers en session live USB. Ubuntu permet de le faire , mais on préfère généralement utiliser un outil spécifiquement dédié, tel que Clonezilla.
Cet article s'adresse à ceux qui ont besoin de déplacer leur partition /
(ou partition root ou racine). Cette partition est la partition principale du système Linux.
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, agrandissement, rétrécissement de partitions, utilisation d'un autre disque dur, suppression de Windows du disque dur).
Mais également si on a des craintes avec un SSD un peu vieux.
La procédure de déplacement de la partition /
consiste en 4 étapes :
old
.old
) à la nouvelle partition (new
).fstab
) et modifier les fichiers de démarrage du système (grub)./dev/sda1
), à l'aide de GParted ou de la commande sudo fdisk -l
Vous devez utiliser une partition vide et formatée linux (voir le chapitre comparaison de systèmes de fichiers). 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
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 :
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 |
/dev/sda1
(où Ubuntu est installé) /dev/sda3
(où Ubuntu sera installé)
Pour plus d'informations sur la gestion des partitions sous Linux, voir cet article
Les deux commandes ci-dessous permettent de créer deux répertoires qui serviront à monter les 2 partitions.
sudo mkdir /old sudo mkdir /new
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
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
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 copie avec cp
cd /old sudo cp -axRv . /new
-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)
Ou copie avec dd. Une autre alternative est d'utiliser Commande “dd” pour copier une partition :
A ce moment, vous avez deux systèmes Ubuntu installés sur votre (vos) disque(s) dur(s).
Il reste à modifier :
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.
fstab
et menu.lst
, pensez à en faire une sauvegarde dans un coin de votre ordinateur afin de pouvoir, le cas échéant, les restaurer
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
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
bash: … command not found
, il est possible que le dossier /usr
doive être monté sur une autre partition sdaY
. Dans ce cas, il suffit d'ajouter la ligne de commande :
sudo mount /dev/sdaY /usr
Ensuite il vous reste à mettre à jour le grub :
grub-mkconfig -o /boot/grub/grub.cfg grub-install /dev/sda
grub-install --recheck /dev/sda
apt-get remove --purge grub-pc apt-get install grub-pc
/new
) était sur un disque différent, pensez à modifier l'ordre du boot dans le BIOS afin de démarrer sur ce nouveau disque
/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>
en remplaçant <uuid> par la valeur adéquate…
Et voilà ! Il ne reste qu'à rebooter sans le live CD.