Étendre une partition sur Debian (MBR) sans perte de données Ce guide explique comment étendre une partition / (root) sous Debian lorsque le disque virtuel a été agrandi dans l’hyperviseur, mais que la partition principale est bloquée par une partition étendue contenant le swap ( sda2 + sda5 ). Fonctionne pour : VMware, Proxmox, Hyper‑V, VirtualBox Debian 10 → Debian 13+ Disques MBR (label dos ) 🛑 Avant de commencer Vérifier que le disque virtuel a déjà été agrandi dans l’hyperviseur : lsblk Vous devez voir par ex. : sda 50G └─sda1 23G 1️⃣ Désactiver le swap existant swapoff -a 2️⃣ Modifier la table de partitions avec fdisk Lancer fdisk : fdisk /dev/sda Dans fdisk , effectuer exactement les actions suivantes : 1. Supprimer l’ancienne swap (sda5) d 5 2. Supprimer la partition étendue (sda2) d 2 3. Supprimer la partition root (sda1) ⚠️ Sans danger tant que le secteur de début est conservé. d 1 4. Recréer /dev/sda1 sur tout le disque n p 1 2048 ← le même secteur de début qu’avant ← fin par défaut = fin du disque 5. Remettre le drapeau boot a 1 6. Sauvegarder et quitter w Un redémarrage peut être nécessaire : reboot 3️⃣ Étendre le système de fichiers ext4 Une fois la machine revenue : resize2fs /dev/sda1 Le système de fichiers s’adapte alors à la nouvelle taille (50 Go dans cet exemple). Vérifier : df -h 4️⃣ Créer un swap via un fichier (recommandé) Un swapfile est plus simple et plus flexible qu’une partition swap. Création du fichier swap : fallocate -l 1G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile Rendre le swap permanent Ajouter dans /etc/fstab : echo '/swapfile none swap sw 0 0' >> /etc/fstab ou /swapfile none swap sw 0 0 5️⃣ Vérifications finales lsblk && df -h && free -h Vous devriez voir : /dev/sda1 = ~50 Go monté sur / /swapfile actif 🟢 Résultat final Votre système Debian utilise maintenant toute la taille du disque agrandi, sans perte de données, avec un swap propre et moderne via fichier. ✨ Bonus : résolution du problème “commandes sbin introuvables” Si des commandes comme fdisk , parted , ip , reboot … n’étaient plus accessibles : Ajouter ceci dans /root/.bashrc : export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin Puis : source /root/.bashrc