# É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 (`<span class="editor-theme-code">sda2</span>`<span style="white-space: pre-wrap;"> + </span>`<span class="editor-theme-code">sda5</span>`).

Fonctionne pour :

- VMware, Proxmox, Hyper‑V, VirtualBox
- Debian 10 → Debian 13+
- <span style="white-space: pre-wrap;">Disques MBR (label </span>`<span class="editor-theme-code">dos</span>`)

---

##### 🛑 Avant de commencer

Vérifier que le disque virtuel a déjà été agrandi dans l’hyperviseur :

```Shell
lsblk
```

Vous devez voir par ex. :

sda 50G └─sda1 23G

---

##### 1️⃣ Désactiver le swap existant

```Shell
swapoff -a
```

---

##### 2️⃣ Modifier la table de partitions avec fdisk

<span style="white-space: pre-wrap;">Lancer </span>`<span class="editor-theme-code">fdisk</span>`<span style="white-space: pre-wrap;"> :</span>

```Shell
fdisk /dev/sda
```

<span style="white-space: pre-wrap;">Dans </span>`<span class="editor-theme-code">fdisk</span>`, effectuer exactement les actions suivantes :

##### 1. Supprimer l’ancienne swap (sda5)

```bash
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
<Entrée> ← 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 :

```Shell
reboot
```

---

##### 3️⃣ Étendre le système de fichiers ext4

Une fois la machine revenue :

```Shell
resize2fs /dev/sda1
```

Le système de fichiers s’adapte alors à la nouvelle taille (50 Go dans cet exemple).

Vérifier :

```Shell
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 :

```Shell
fallocate -l 1G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile
```

##### Rendre le swap permanent

<span style="white-space: pre-wrap;">Ajouter dans </span>`<span class="editor-theme-code">/etc/fstab</span>`<span style="white-space: pre-wrap;"> :</span>

```bash
echo '/swapfile none swap sw 0 0' >> /etc/fstab
```

ou

```
/swapfile none swap sw 0 0
```

---

##### 5️⃣ Vérifications finales

```Shell
lsblk && df -h && free -h
```

Vous devriez voir :

- `<span class="editor-theme-code">/dev/sda1</span>`<span style="white-space: pre-wrap;"> = ~50 Go monté sur </span>`<span class="editor-theme-code">/</span>`
- `<span class="editor-theme-code">/swapfile</span>`<span style="white-space: pre-wrap;"> actif</span>

---

##### 🟢 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”

<span style="white-space: pre-wrap;">Si des commandes comme </span>`<span class="editor-theme-code">fdisk</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">parted</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">ip</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">reboot</span>`… n’étaient plus accessibles :

<span style="white-space: pre-wrap;">Ajouter ceci dans </span>`<span class="editor-theme-code">/root/.bashrc</span>`<span style="white-space: pre-wrap;"> :</span>

```Shell
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
```

Puis :

```Shell
source /root/.bashrc
```