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.
Le PC sur lequel les opérations s'effectuent, héberge 3 systèmes d'exploitation :
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.
Voici la liste des principaux outils utilisés :
SystemRescueCd est retenu comme outil de travail car il supporte la commande gdisk et l'outil de partitionnement gparted.
Les partitions des trois systèmes d'exploitation sont réparties sur deux disques durs :
Windows
/dev/sda1
et /dev/sda2
Ubuntu
/dev/sda5
/dev/sda7
/dev/sdb1
Debian
/dev/sdb2
/dev/sdb4
/dev/sdb5
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.
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/sda1 | Windows 7 | Réservée | ntfs | 100 Mo | N/A |
/dev/sda2 | Windows 7 | Principale | ntfs | 114 Go | N/A |
/dev/sdb1 | Debian | /boot | ext2 | 500 Mo | 8300 |
/dev/sdb2 | Debian | Grub Bios | fat32 | 100 Mo | ef02 |
/dev/sdb3 | Debian | swap | swap | 2 Go | 8200 |
/dev/sdb4 | Debian | root | ext4 | 100 Go | 8300 |
/dev/sdb5 | Debian | /home | ext4 | 250 Mo | 8300 |
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.
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
Dans un premier temps, nous supprimons toutes les partitions GNU/Linux. Dans un second temps, nous créons les nouvelles partitions Debian.
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.
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.
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.
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 :
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
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.
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
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.
grub-install /dev/sda update-grub
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