Table des matières

Réorganisation des partitions

Introduction

Le but de ce tuto est de démontrer l'usage de l'outil gdisk et de l'outil rsync dans un contexte de réorganisation des partitions tout en éliminant un système d'exploitation maintenant remplacé par Debian GNU/Linux.

Contexte actuel

Le PC sur lequel les opérations s'effectuent, héberge 3 systèmes d'exploitation :

  1. Windows 7
  2. Ubuntu 14.04
  3. Debian JESSIE

Seuls les systèmes d'exploitation Windows 7 et Debian JESSIE sont conservés. Cela signifie donc que Ubuntu sera supprimé au cours de l'exercice.

Utilisation des outils

Voici la liste des principaux outils utilisés :

  1. SystemRescueCd, pour démarrer le PC sur CD amorçable ou clé USB
  2. rsync, commande pour sauvegarder et restaurer un système d'exploitation
  3. fdisk, pour gérer les partitions sur un disque dont la table des partitions est de type MBR
  4. gdisk, pour gérer les partitions sur un disque dont la table des partitions est de type GPT

SystemRescueCd est retenu comme outil de travail car il supporte la commande gdisk et l'outil de partitionnement gparted.

Partitionnement actuel

Les partitions des trois systèmes d'exploitation sont réparties sur deux disques durs :

Windows

Ubuntu

Debian

La partition de pagination est sur /dev/sda6 et la partition pour Grub Bios est sur /dev/sdb3. Toutes les partitions GNU/Linux sur /dev/sda se retrouvent dans la partition étendue.

Schéma des partitions proposé

La réorganisation des partitions vise à éliminer Ubuntu et à relocaliser la partition de pagination sur le second disque dur. Le second disque dur accueille également Debian ainsi que la partition spéciale Grub Bios car le partitionnement de ce disque repose sur le type GPT. Le tableau suivant montre le nouveau schéma des partitions.

Partitions Windows et Debian
Unité O/S Partition Système Taille GPT
/dev/sda1Windows 7Réservéentfs100 MoN/A
/dev/sda2Windows 7Principalentfs114 GoN/A
/dev/sdb1Debian/bootext2500 Mo8300
/dev/sdb2DebianGrub Biosfat32100 Moef02
/dev/sdb3Debianswapswap2 Go8200
/dev/sdb4Debianrootext4100 Go8300
/dev/sdb5Debian/homeext4250 Mo8300
La valeur dans la colonne GPT s'utilise avec la commande gdisk lors de la création des nouvelles partitions.

SystemRescueCd

Nous utilisons l'outil SystemRescueCd pour réaliser toutes les tâches de la réorganisation des partitions. Cet outil supporte la commande gdisk ainsi que le logiciel de partitionnemt gparted.

SystemRescueCd se télécharge depuis cette adresse : http://www.sysresccd.org/Download.

Sauvegarde de Debian

La sauvegarde s'effectue avec la commande rsync. Le fichier de sauvegarde est enregistré sur un média externe (disque) et il contient les partitions /boot, racine et /home. SystemRescueCd propose déjà un répertoire pour monter le média externe. Il faut cependant créer les points de montage pour Debian. Tout ce travail se réalise autant en console que dans un terminal dans l'environnement graphique (Xfce) de SystemRescueCd. Tapez wizard en console pour passer en mode graphique.

cat /proc/partitions
mount /dev/sdc1 /mnt/backup
install -d /mnt/debian
mount /dev/sdb4 /mnt/debian
install -d /mnt/debian/boot
mount /dev/sdb2 /mnt/debian/boot
install -d /mnt/debian/home
mount /dev/sdb5 /mnt/debian/home

La commande cat liste l'ensemble des partitions connues de SystemRescueCd. Nous lançons cette commande après avoir mis sous tension le disque externe. Nous supposons que la partition de sauvegarde réside sur la première partition du disque externe, soit /dev/sdc1. La commande install crée les répertoires servant de point de montage de Debian.

La sauvegarde se réalise ainsi :

rsync -aHA --del --force --stats --progress /mnt/debian /mnt/backup
umount /mnt/debian/home /mnt/debian/boot /mnt/debian

Réorganisation des partitions

Dans un premier temps, nous supprimons toutes les partitions GNU/Linux. Dans un second temps, nous créons les nouvelles partitions Debian.

Suppression des partitions GNU/Linux sur le premier disque

La suppression s'effectue à l'aide de la commande fdisk car la table des partitions du disque est du type MBR en raison de la présence du système d'exploitation Windows. La partition étendue fait également partie de cette suppression. Nous conservons seulement les deux partitions primaires utilisées par Windows.

fdisk /dev/sda
Commande (m pour l'aide): d
Numéro de partition (1-4): 3
Commande (m pour l'aide): w

L'option d appelle la fonction de suppression. Par la suite nous indiquons le numéro de partition à supprimer. Lorsque toutes les partitions sont supprimées, nous utilisons l'option w pour enregistrer la nouvelle table de partitions.

Suppression des partitions du second disque

La table des partitions de ce disque étant du type GPT, nous utilisons la commande gdisk pour supprimer les partitions.

gdisk /dev/sdb
Command (? for help): d
Partition number (1-5): 5
Command (? for help): w

L'option d appelle la fonction de suppression. Par la suite nous indiquons le numéro de partition à supprimer. Lorsque toutes les partitions sont supprimées, nous utilisons l'option w pour enregistrer la nouvelle table de partitions.

Création des nouvelles partitions Debian

Nous utilisons une fois de plus la commande gdisk pour créer les cinq partitions Debian. Nous fournissons les informations nécessaires à gdisk en utilisant les valeurs présentées dans le tableau de la section Schéma des partitions proposé.

gdisk /dev/sdb
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-976773134, default = 739428352) or {+-}size{KMGTP}:
Last sector (739428352-976773134, default = 976773134) or {+-}size{KMGTP}: +50G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Command (? for help): w

L'option n sert à créer une nouvelle partition. L'utilitaire affiche le numéro par défaut de la partition qui sera crée; il suffit d'appuyer sur ENTER pour accepter la valeur par défaut. À la question suivant, on appuie à nouveau sur ENTER sans préciser de taille pour créer la partition au début de l'espace libre. À la ligne Last sector, nous spécifions la taille de la nouvelle partition. La valeur s'exprime en (K)ilo, (M)éga, (G)iga, (T)era, (P)eta octets. Il faut préfixer la valeur du signe +.

Lorsque la partition est de type Linux filesystem, la valeur est 8300. C'est la valeur par défaut. Lorsqu'il s'agit de la partition de pagination, nous saisissons 8200. La valeur pour la partition Grub Bios est ef02.

L'option w sauvegarde et enregistre la nouvelle table des partitions.

Formatage des partitions

Maintenant nous affectons un sytème de fichiers à nos nouvelles partitions.

mkfs.ext2 /dev/sdb1
mkfs.vfat -F32 /dev/sdb2
mkswap /dev/sdb3
mkfs.ext4 /dev/sdb4
mkfs.ext4 /dev/sdb5

Dans l'ordre nous affectons :

  1. Le système de fichiers ext2 à la partition /boot
  2. Le système de fichiers FAT32 à la partition Grub Bios
  3. Le système de fichiers spécifique à la partition de pagination
  4. Le système de fichiers ext4 à la partition root
  5. Le système de fichiers ext4 à la partition /home

Restauration de Debian

Nous utilisons rsync à nouveau. Si vous suivez ce tuto à la lettre, vous ne remontez pas la partition de sauvegarde car nous ne l'avons pas démontée à la fin de l'opération de sauvegarde.

mount /dev/sdb4 /mnt/debian
mount /dev/sdb5 /mnt/debian/home
mount /dev/sdb1 /mnt/debian/boot
rsync -aHA --del --force --stats --progress /mnt/backup/debian/ /mnt/debian
umount /mnt/backup
Le / à la fin de mnt/debian/backup/ n'est pas une erreur de frappe. Il est essentiel car autrement les répertoires ne seraient pas à la racine mais plutôt à l'intérieur du dossier debian.

Reconfiguration de Debian

Nous devons reconfigurer le fichier /etc/fstab et le menu de démarrage afin de pouvoir utiliser Debian en fonction de la réorganisation des partitions et de la suppression du système d'exploitation Ubuntu. Nous allons donc chrooter sur la Debian restaurée.

Chroot sur Debian

Les trois partitions Debian sont déjà montées. Il faut compléter l'environnement chroot par l'ajout de fichiers du système.

cd /mnt/debian
mount -t proc none proc
mount -o bind /dev dev
mount -o bind /sys sys
swapon /dev/sdb3
cp /etc/resolv.conf etc

Toutes les ressources sont montées à la racine de Debian et le fichier de pagination est activé. Nous copions les informations de connexion au réseau afin de pouvoir accéder à Internet dans l'environnement chrooté si cela s'avère nécessaire. Puis nous chrootons.

env -i HOME=/root TERM=$TERM chroot . bash -l

Mise à jour de /etc/fstab

Nous appelons l'éditeur nano.

nano -w /etc/fstab

Nous modifions le fichier /etc/fstab afin que les partitions soient montés aux nouvelles adresses lors du démarrage de Debian. Nous obtenons le UUID à l'aide de la commande blkid ou de l'information retournée par gparted en sélectionnant la partition puis en ouvrant le menu Partition pour sélectionner l'option Information.

Exemple du fichier /etc/fstab/

Mise à jour de GRUB

grub-install /dev/sda
update-grub

Redémarrage

Nous quittons le chroot pour retourner à la racine de SystemRescueCd. Nous quittons de façon propre en démontant toutes les partitions Debian et nous redémarrons.

exit
cd ~/
umount /mnt/debian/sys /mnt/debian/dev /mnt/debian/proc /mnt/debian/home /mnt/debian/boot /mnt/debian/
swapoff /dev/sdb3
shutdown -r now