Amélioration du nettoyage nucléaire : ajout de la désactivation des swaps, nettoyage des signatures et destruction des tables GPT pour une réinitialisation complète du disque.

This commit is contained in:
Puechberty Arthur
2026-07-30 20:25:35 +02:00
parent 11152f7601
commit 330d398910
+10 -3
View File
@@ -50,26 +50,33 @@ else
fi
echo "[INFO] Nettoyage nucléaire de $DISK et démontage forcé..."
# Tuer tous les processus qui pourraient utiliser /mnt
fuser -km /mnt 2>/dev/null || true
sleep 1
umount /mnt/boot 2>/dev/null || true
umount /mnt 2>/dev/null || true
# Démonter /mnt récursivement et de manière "paresseuse" (lazy) au cas où une ancienne install aurait planté
umount -R /mnt 2>/dev/null || true
umount -l /mnt 2>/dev/null || true
# Boucler pour démonter TOUTES les partitions du disque cible de force
for part in ${DISK}*; do
umount "$part" 2>/dev/null || true
umount -l "$part" 2>/dev/null || true
done
# Désactiver les swaps et les mappings
swapoff -a 2>/dev/null || true
dmsetup remove_all 2>/dev/null || true
# Nettoyer les signatures
wipefs -a -f "$DISK"* 2>/dev/null || true
wipefs -a -f "$DISK" 2>/dev/null || true
# Détruire physiquement les tables GPT
dd if=/dev/zero of="$DISK" bs=1M count=10 conv=fsync 2>/dev/null || true
DISK_SIZE_SECTORS=$(blockdev --getsz "$DISK")
dd if=/dev/zero of="$DISK" bs=512 count=10 seek=$((DISK_SIZE_SECTORS - 10)) conv=fsync 2>/dev/null || true
# Forcer la relecture
partprobe "$DISK" 2>/dev/null || true
blockdev --rereadpt "$DISK" 2>/dev/null || true
udevadm settle