Linux / Commande parted : partitions, espace non partitionné et limites
parted consulte et modifie les tables de partitions. print affiche la table et print free montre aussi les zones non partitionnées ; celles-ci ne sont pas l’espace libre d’un système de fichiers. Les commandes de modification peuvent écrire immédiatement : quitter Parted ne constitue pas une annulation des changements déjà appliqués.
Consulter la table et les zones non partitionnées
Repérez d’abord la cible avec lsblk et les informations de modèle, taille et montage. /dev/sdb représente ici un disque d’exemple, et non une cible à réutiliser sans vérification :
lsblk -o NAME,SIZE,MODEL,TYPE,MOUNTPOINTS
sudo parted -l
sudo parted /dev/sdb unit MiB print free
-l liste la disposition des disques reconnus. La dernière commande sélectionne un disque, choisit MiB comme unité et consulte la table avec les intervalles libres. print est une demande de consultation ; si une table incohérente provoque une proposition de réparation « Fix », ne l’acceptez pas comme s’il s’agissait encore d’une simple lecture.
La sortie présente notamment le modèle, la taille du disque, la taille des secteurs, le type de table, puis les partitions avec début, fin et taille. Un intervalle Free Space est hors des partitions existantes. Un volume ext4 peut être plein alors que le disque possède une zone non partitionnée, et l’inverse est possible ; df mesure l’espace disponible dans le système de fichiers.
MiB signifie mébioctet, soit 1048576 octets. Les unités binaires explicites comme MiB et les secteurs s évitent les tolérances de localisation associées à certaines unités décimales dans Parted. L’unité s dépend de la taille de secteur du support : vérifiez-la dans le résultat.
Distinguer table, partition et système de fichiers
GPT, pour GUID Partition Table, est un format de table. Une partition est une zone décrite dans cette table ; un système de fichiers est une organisation des données dans cette zone ou une autre couche de stockage.
mkpart crée une entrée de partition sans créer son système de fichiers. Le mot ext4 dans mkpart peut servir d’indication de type pour la partition : il ne lance pas mkfs.ext4. De même, resizepart change la position de fin d’une partition sans redimensionner le système de fichiers qu’elle contient.
Sur des données réelles, un agrandissement exige de préparer la place et les couches concernées avant d’agrandir le système de fichiers avec son outil. Une réduction exige d’abord de réduire le système de fichiers, si celui-ci le permet, avant de rapprocher la fin de sa partition. Les volumes logiques, le chiffrement et les contraintes de montage demandent une procédure propre à leur empilement ; ces deux phrases ne remplacent pas cette procédure.
mklabel remplace la table et rm retire une entrée de partition : ces actions peuvent rendre les données inaccessibles. Contrairement au modèle de travail courant de fdisk avec une table en mémoire puis w, Parted peut écrire après chaque commande de modification. quit termine la session, sans servir de bouton « abandonner ».
Observer un changement de limite dans un nouveau fichier image
Ce laboratoire nécessite GNU Parted et GNU truncate sur Linux. Il édite uniquement un nouveau fichier de 64 MiB dans un nouveau répertoire temporaire vous appartenant. Il ne crée aucun système de fichiers, n’utilise aucun périphérique /dev et ne monte rien. Ne remplacez jamais le chemin image par un disque réel pour cet exercice.
(
set -eu
command -v parted >/dev/null
command -v truncate >/dev/null
labdir=$(mktemp -d)
image="$labdir/disk.img"
printf 'Image du laboratoire : %s\n' "$image"
truncate -s 64M "$image"
parted --script "$image" mklabel gpt
parted --script "$image" mkpart lab ext4 1MiB 33MiB
parted "$image" unit MiB print free
parted --script "$image" resizepart 1 49MiB
parted "$image" unit MiB print free
printf 'Image conservee : %s\n' "$image"
)
Le premier relevé doit montrer une table GPT et la partition 1, nommée lab, allant d’environ 1 MiB à 33 MiB. Après resizepart, son début reste proche de 1 MiB et sa fin passe près de 49 MiB ; l’intervalle non partitionné après elle diminue. L’affichage peut arrondir les limites aux unités choisies.
Aucun système de fichiers n’a été créé : une colonne de système de fichiers vide est donc cohérente, et le laboratoire ne teste ni une extension ext4 ni des données existantes. Comparez les deux relevés pour vérifier précisément la seule modification de fin de partition.
Le chemin du fichier est imprimé avant les modifications afin de pouvoir le retrouver même en cas d’échec. set -e interrompt le bloc si une commande échoue, mais ne revient pas sur les commandes déjà réussies. Le fichier reste dans le répertoire temporaire indiqué ; ne relancez pas des commandes de réparation sur un autre support pour compenser une erreur de ce laboratoire.
Après inspection, vous pouvez supprimer le seul fichier disk.img au chemin exact affiché, puis son répertoire temporaire devenu vide. Vérifiez que vous visez bien ce nouveau répertoire créé pour l’exercice ; ne supprimez pas tout /tmp ni un périphérique /dev. Les variables étant dans un sous-shell, reprenez le chemin imprimé plutôt que de supposer qu’elles existent encore dans votre shell.
Choisir les options et préparer une intervention réelle
| Option ou commande | Rôle |
|---|---|
| -l | Lister les dispositions de partitions. |
| -s, --script | Ne pas poser de question interactive ; ce n’est pas un mode de simulation. |
| unit UNITE | Choisir l’unité d’affichage et celle des nombres saisis sans suffixe. |
| print free | Afficher les partitions et les intervalles non partitionnés. |
| resizepart NUMERO FIN | Déplacer la fin d’une partition sans redimensionner le système de fichiers. |
Le mode --script du laboratoire agit réellement sur son fichier image et ne remplace pas une validation humaine de la cible. Il n’ajoute pas non plus automatiquement une réparation à toute erreur ; l’option --fix est une demande différente, à ne pas ajouter par réflexe.
Avant une modification d’un disque en service, préparez des sauvegardes de table et de données, vérifiez l’identité et les usages des volumes et définissez les étapes de chaque couche. Après une écriture, contrôlez la table, la vue du noyau, les systèmes de fichiers et les applications ; ne déduisez pas leur état de la seule sortie d’une commande de partitionnement.
Le manuel GNU Parted détaille print, unit, mkpart, resizepart et l’effet immédiat des modifications.




