Déplacer la racine (ou root (/))

La partition / (ou partition root) 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).

Pré-requis

Disposer d'un live CD ou d'une clé usb pour pouvoir manipuler les partitions de l'extérieur.Avoir une connexion internet pour pouvoir installer GParted si celui ci ne figure pas sur le live CD.Connaître les identifiants des partitions (de la forme /dev/sda1), obtenues avec GParted ou par

$ sudo fdisk -l

Première étape : Créer une nouvelle partition

Créez une partition vide suffisamment grande pour accueillir le futur système.

Dans la suite, nous appellerons cette partition new, la partition actuelle étant appelée old.

Il vous faut une partition vide et formatée linux. Si vous n'avez pas déjà cette partition, vous devez la créer avec GParted ou QtParted.

Un disque dur ne supporte que quatre partitions principales au maximum. S'il vous en faut davantage, créez une partition étendue, dans laquelle vous pourrez créer des partitions logiques.

Autres étapes

On prendra l'exemple de /dev/sda1 l'ancienne partition (old) (où Ubuntu est installé)/dev/sda3 la nouvelle partition (new) (où Ubuntu sera installé)

Copier sa partition /

Pour copier les fichiers de l'ancienne partition (old) vers la nouvelle (new), démarrez sur un CD ou une clé et ouvrez un terminal.

Créez 2 répertoires pour à monter les 2 partitions :

$ sudo mkdir /old
$ sudo mkdir /new

Montez les 2 partitions :

$ sudo mount /dev/sda1 /old
$ sudo mount /dev/sda3 /new

Copie des fichiers ; plusieurs possibilités :avec rsync, à installer :

$ sudo apt install rsync
$ sudo rsync -axHAXP /old/ /new/

avec cp :

$ cd /old
$ sudo cp -axRv . /new

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. Donc, 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)
avec dd :

$ dd if=/dev/sda1 of=/dev/sda3 bs=4096 skip=1 seek=1 status=progress

et changer l'UID de l'ancienne partitionGraphiquement, avec gparted

Modifier fstab

Éditez le fichier fstab : remplacez la ligne :

UUID=<ancien_UUID> / ext4 defaults,errors=remount-ro 0 1

par :

UUID=<nouveau_UUID> / ext4 defaults,errors=remount-ro 0 1

L'UUID s'obtient par : $ sudo blkid /dev/sda3

Éventuellement, configurez GRUB

Conclusion

Problèmes connus

Voir aussi

(fr) Déplacer sa racine (ou root (/))

Basé sur << Déplacer sa racine (ou root (/)) >> par Doc Ubuntu.