Re-partionnement après changement HDD

Bonjour à tous.

Voila aujourd’hui je me retourne vers vous, car je voudrai re-partionner mon HDD principal de ma machine sous debian.
Je disposai d’un HDD 160 Go, et je l’ai changer pour un 250 Go.

J’ai cloné les partions avec CloneZilla.
Ensuite je me suis tourné sur GParted pour éditer plus facilement les partions, mais là impossible de faire quoi que ce soit.

Voici une photo que je glisse pour mieux comprendre.

Donc en gros je dispose de 2 partitions.
1er: la partition de base en ext4
2ème: la swap

Cela remplissais la totalité de mon ancien HDD de 160 Go, mais avec le 250 Go il me reste encore plus de 80 Go non utilisé.

Ce que je voudrai c’est alloué les 80 Go restant sur la partition ext4, mais le problème c’est qu’il faut déplacé la partition SWAP à la fin du HDD, et c’est à ce niveau que je bloque.
Et je ne voudrais pas tout ré-installé mon OS.

Donc voila, j’attends vos réponse avec impatience. Je peux fournir plus d’info si possible.
Merci

pour moi le plus simple serait de supprimer la swap et la partition étendu
recréer une swap en fin de disque
étendre la partition principale (ext4) pour prendre l’espace restant

mais comme tu as recrée une nouvelle swap tu devras modifier manuellement ton /etc/fstab pour entrer l’UUID de ta novelle swap

il y a peut être plus simple, attends peut être d’autres avis :slight_smile:

Sans réinstaller, il me semble qu’il aurait été plus simple de partitionner le 250 Go, de recopier avec un bête cp les données du 160 dessus, et basta.
Sinon, en supprimant comme dit @severian le swap et l’extended, et en recréant ton swap en partition primaire à la fin, tu dois pouvoir faire juste un ext2resize sur ta partition root pour récupèrer la place entre ton root actuel et ton nouveau swap.
@Pyroman_Goliath note que le swap, tu t’en fous de le détruire, tu ne perdras rien, et comme dit plus haut, c’est juste un ajustement à faire aprés dans ton fstab pour déclarer ton nouveau swap.

Bonjour,
Sauf erreur de ma part, il n’est pas possible de modifier les partitions en cours d’utilisation. Le plus simple est de booter sur une clé usb pour faire les modifications.

Au plus simple il te faudrait faire un :

swapoff -a

Ensuite supprimer cette swap (cela peut-être fait depuis Gparted ou en console, selon là où tu est a l’aise).
Tu pourra ensuite recréer une swap (toujours depuis Gparted ou la console) et remonté la swap comme ceci par exemple (dev/sdX à adapater selon la nouvelle partition) :

swapon /dev/sdx

Et tu finira par agrandir ta partition (encore une fois depuis Gparted ou la console).

Le plus simple serait effectivement de le faire depuis un système live tel que sysrescuecd.

Notes :

  • La photo est illisible.
  • L’utilisation de volumes logiques LVM au lieu de partitions et/ou de btrfs au lieu d’ext4 aurait simplifié l’agrandissement.

On peut agrandir la partition ext4 à chaud depuis le système cible, sans recourir à un système live.

  1. Désactiver le swap avec swapoff -a.
  2. Déplacer la partition de swap à la fin du disque avec GParted.
  3. Activer le swap avec swapon -a.
  4. Agrandir la partition ext4 avec GParted.
  5. Si GParted ne l’a pas fait automatiquement, agrandir le système de fichiers de la partition ext4 avec resize2fs.

L’UUID du swap n’est pas défini que dans /etc/fstab mais aussi dans /etc/initramfs-tools/resume (ou approchant) et inséré dans l’initramfs pour la reprise de l’hibernation. Il vaut mieux donc le déplacer ou le recréer avec le même UUID (mkswap -U).

Pas si simple. Si on recopie tout le contenu du disque avec cp ou dd, ça écrase la table de partition créée précédemment sur le disque de destination. Si on recopie le contenu des partitions, il faut ensuite réinstaller le chargeur d’amorçage sur le disque de destination.

[hors sujet]un cp, suivi d’un dd des 512 premiers octets du disque, et roule. ;)[/hors sujet]

[bis repetita]Pas si simple.[/bis repetita]
Ça dépend du chargeur d’amorçage installé dans le MBR. Si c’est GRUB avec liste de blocs ou LILO ou le code amorce standard de MSDOS/Windows, ça ne marchera que si la partition de boot débute exactement au même endroit que sur le disque précédent, au secteur près. Si c’est GRUB embarqué, il faut aussi copier les secteurs situés entre le MBR et le début de la première partition.

Merci a tous pour vos aide, je suis en train de faire la manipulation (je vous tient au courant un fois terminer).

Alors je l’ai dit, mais avec peu de détails, j’ai fais un clone du HDD avec CloneZilla et il a bien fais un copier coller de la MBR et c’est bien GRUB pour l’amorçage.
Donc oui je sais que la swap il n’y a aucun donnée dessus.
Et j’utilise Gparted et CloneZilla en live cd et j’en ai fais une clé usb bootable.

Donc voila, je viens terminer les travaux.

Voici ma démarche.
_Donc la console “swapoff -a”
_ensuite j’ai arrêté le PC.
_REBOOT de la machine et j’ai booter sur Gparted via clé usb
_supprimer la partions SWAP (linux-swap) puis EXTENDED (/dev/sda2) (d’après l’image au dessus)
_redimensionner la partition EXT4 (/dev/sda1), jusqu’à laisser environ 1Go à la fin du HDD (j’ai pas pris de capture avec mon appareil photo désoler :p)
_re-créer une partition EXTENDED de 1 Go et dans celle ci j’ai re-créer une partition SWAP
_reboot de la machine et boot sur l’OS du HDD

_taper “fdisk -l” et le résultat

Disque /dev/sda : 250.0 Go, 250000000000 octets
255 têtes, 63 secteurs/piste, 30394 cylindres, total 488281250 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d’E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x000c6470

Périphérique Amorce Début Fin Blocs Id Système
/dev/sda1 * 2048 486175094 243086523+ 83 Linux
/dev/sda2 486175095 488279609 1052257+ 5 Étendue
/dev/sda5 486175158 488279609 1052226 82 partition d’échange Linux / Solaris

_ensuite taper “blkid” et le résultat est
“/dev/sda5: UUID=“5c9b5fb6-1890-4d85-b785-2a1e7f835b94” TYPE=“swap””

_modification de “fstab” pour ajouter la nouvelle UUID
_taper “swapon /dev/sda5”, pas de message d’erreur
_taper “swapon -a”, pas de message d’erreur
_taper “htop” voici l’image du rendu

Mais maintenant comment être sur que la swap et monter correctement, il n’y a pas un commande ou autre pour copier un fichier ou charger la swap pour voir si tu est fonctionnel ?

La commande “top” permet entre autre de voir l’utilisation du swap et donc si il est présent (KiB Swap: 2097148 total, 0 used, 2097148 free.).
C’est pas fait pour ca, mais ca dépanne.

Juste pour dire, autrefois, la taille optimale de swap tournait à 2.5 fois la ram, mais c’est descendu à 1.5 fois. Ca peut être moins sur une machine desktop sans applis gourmandes, mais en tous cas, pas un swap d’1Go sur une machine à 3Go de ram.
Je crois d’ailleurs me souvenir que le suspend2disk necessite au moins une fois la ram en swap pour fonctionner.

Commentaires sur la démarche.

  • Désactiver le swap avec swapoff -a avant de rebooter ne sert à rien. Ce n’est utile que pour manipuler la partition depuis le système actif.
  • Créer une partition étendue et y créer une unique partition logique pour le swap n’a aucun intérêt. Ce n’est pas parce que l’installateur l’a fait qu’il faut le refaire. La partition étendue n’est utile que si on a besoin de créer plus de 4 partitions (avec une table de partition au format MSDOS). Une partition principale était préférable car plus simple.
  • Contrairement à ce que j’avais préconisé, tu as modifié /etc/fstab plutôt que de recréer le swap avec le même UUID. La reprise d’hibernation ne fonctionnera pas car l’initramfs contient encore l’ancien UUID, mais de toute façon le swap est probablement trop petit par rapport à la RAM pour utiliser l’hibernation comme souligné par mattotop.
  • Pour vérifier que les UUID de la partition de swap et dans /etc/fstab correspondent, il aurait fallu exécuter swapon -a pour activer les swaps définis dans /etc/fstab au lieu de swapon /dev/sda5.
  • Le copier-coller de texte est plus économique, pratique et lisible qu’une capture d’écran graphique.
  • Pour vérifier que le swap est active, il suffit d’exécuter free ou swapon -s ou cat /proc/swaps. Pas besoin d’usines à gaz comme top ou htop.