Stratégies de restauration
do-release-upgrade d’Ubuntu ne prend pas en charge les rétrogradations natives. Si des problèmes graves surviennent après une mise à niveau, vous devez vous fier aux plans de restauration préparés à l’avance. Cet article couvre plusieurs stratégies pratiques de restauration.
Comparaison des options de restauration
| Options | Vitesse de récupération | Complexité de la préparation | Cas d’utilisation |
|---|---|---|---|
| Décalage horaire | Rapide (minutes) | Faible | Ordinateurs de bureau et petits serveurs |
| Instantané LVM | Rapide (minutes) | Moyen | Systèmes utilisant LVM |
| Instantané Btrfs | Très rapide | Moyen | Système de fichiers Btrfs |
| ajouter une image disque | Lent (dépend de la taille du disque) | Faible | Option universelle |
| Restauration de sauvegarde + réinstallation | Lent | Élevé | Dernier recours |
| Instantané de la plateforme cloud | Rapide | Faible | Serveurs cloud |
Restauration d’instantanés Timeshift
Timeshift est l’outil d’instantané système le plus convivial, prenant en charge les modes RSYNC et Btrfs.
Création d’un instantané avant la mise à niveau
# Install Timeshift
sudo apt install timeshift -y
# Create a snapshot
sudo timeshift --create --comments "Pre-upgrade backup" --tags D
# List snapshots
sudo timeshift --listRestauration à partir d’un instantané
Méthode 1 : le système est toujours amorçable
# List available snapshots
sudo timeshift --list
# Restore a specific snapshot
sudo timeshift --restore --snapshot "2026-03-24_10-00-00"
# You will be prompted to confirm; choose what to restore
# Reboot after restoration is complete
sudo rebootMéthode 2 : le système ne peut pas démarrer
- Démarrez à partir d’un Ubuntu Live USB
- Installez et exécutez Timeshift dans l’environnement réel :
# In the live environment
sudo apt update
sudo apt install timeshift -y
# Timeshift will automatically detect snapshots on disk
sudo timeshift --list
# Restore a snapshot
sudo timeshift --restore --snapshot "2026-03-24_10-00-00"
sudo rebootNotes sur le décalage horaire
- Timeshift ne sauvegarde pas
/homepar défaut (en mode RSYNC) ; les données utilisateur doivent être sauvegardées séparément - Les instantanés nécessitent suffisamment d’espace disque
- La taille des instantanés en mode RSYNC augmente avec le temps (incrémental)
- Le mode Btrfs est plus efficace mais nécessite le système de fichiers Btrfs
Restauration des instantanés LVM
Si le système utilise LVM (l’option par défaut lors de l’installation d’Ubuntu Server), vous pouvez utiliser des instantanés LVM pour une restauration rapide.
Création d’un instantané LVM avant la mise à niveau
# View existing logical volumes
sudo lvs
sudo vgs # Confirm the volume group has enough free space
# Create a snapshot for the root partition (requires free space in the volume group)
sudo lvcreate -L 10G -s -n root-snap /dev/ubuntu-vg/ubuntu-lv
# If there is a separate /var partition
sudo lvcreate -L 5G -s -n var-snap /dev/ubuntu-vg/var-lv
# Verify the snapshot
sudo lvsRestaurer à partir d’un instantané LVM
# Method 1: Merge the snapshot (requires unmounting or operating from Live USB)
# If you can still access the system
# Mark the snapshot for merge (takes effect on next activation)
sudo lvconvert --merge /dev/ubuntu-vg/root-snap
# The merge will execute automatically after reboot
sudo reboot
# Method 2: Operate from Live USB
# Boot from Live USB
sudo apt install lvm2 -y
sudo vgchange -ay # Activate volume groups
# Execute the merge
sudo lvconvert --merge /dev/ubuntu-vg/root-snap
sudo rebootSi aucun espace libre n’est disponible
# View current LVM usage
sudo vgs
# If VFree is 0, you can shrink an existing logical volume (dangerous, proceed with caution)
# Shrink the filesystem first, then shrink the logical volume
# Recommended to do this from a Live USB
# Check the filesystem
sudo e2fsck -f /dev/ubuntu-vg/ubuntu-lv
# Shrink the filesystem to 15G
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv 15G
# Shrink the logical volume to 16G (leave some headroom)
sudo lvreduce -L 16G /dev/ubuntu-vg/ubuntu-lv
# Now there is space to create a snapshot
sudo lvcreate -L 10G -s -n root-snap /dev/ubuntu-vg/ubuntu-lvRestauration de l’instantané Btrfs
Si vous utilisez le système de fichiers Btrfs, les opérations de snapshot sont presque instantanées.
Création d’un instantané Btrfs
# View Btrfs subvolumes
sudo btrfs subvolume list /
# Create a read-only snapshot
sudo btrfs subvolume snapshot -r / /snapshots/pre-upgrade-$(date +%Y%m%d)
# List snapshots
sudo btrfs subvolume list / | grep snapshotRestauration à partir d’un instantané Btrfs
# Boot from Live USB
# Mount the Btrfs partition
sudo mount /dev/sda2 /mnt
# View subvolumes
sudo btrfs subvolume list /mnt
# Rename the current root subvolume
sudo mv /mnt/@ /mnt/@broken
# Create a new root subvolume from the snapshot
sudo btrfs subvolume snapshot /mnt/snapshots/pre-upgrade-20260324 /mnt/@
# Reboot
sudo rebootdd Récupération d’image disque
L’approche la plus simple mais la plus universelle fonctionne avec n’importe quel système de fichiers.
Création d’une image disque
# Recommended to create from Live USB to ensure partitions are unmounted
# Full disk image
sudo dd if=/dev/sda of=/mnt/external/full-disk.img bs=4M status=progress
# Compressed image
sudo dd if=/dev/sda bs=4M status=progress | gzip > /mnt/external/full-disk.img.gz
# Back up a specific partition only
sudo dd if=/dev/sda2 of=/mnt/external/root-partition.img bs=4M status=progressRestauration à partir d’une image supplémentaire
# Boot from Live USB
# Restore the full disk
sudo dd if=/mnt/external/full-disk.img of=/dev/sda bs=4M status=progress
# Restore a compressed image
gunzip -c /mnt/external/full-disk.img.gz | sudo dd of=/dev/sda bs=4M status=progress
# Restore a single partition
sudo dd if=/mnt/external/root-partition.img of=/dev/sda2 bs=4M status=progress
# Update GRUB after restoration
sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
grub-install /dev/sda
update-grub
exit
sudo rebootRécupération d’instantanés de serveur cloud
Opérations pour diverses plates-formes cloud
# Alibaba Cloud - create a snapshot using CLI
aliyun ecs CreateSnapshot --DiskId d-xxx --SnapshotName pre-upgrade
# Tencent Cloud
tccli cbs CreateSnapshot --cli-input-json '{"DiskId":"disk-xxx","SnapshotName":"pre-upgrade"}'
# AWS
aws ec2 create-snapshot --volume-id vol-xxx --description "pre-upgrade"
# To restore: use "Roll Back Disk" or "Create Disk from Snapshot" in each platform's consoleRestauration partielle : résolution des problèmes de mise à niveau
Parfois, une restauration complète n’est pas nécessaire ; résoudre des problèmes spécifiques peut suffire.
Réparer les paquets cassés
# Configure unconfigured packages
sudo dpkg --configure -a
# Fix dependencies
sudo apt --fix-broken install
# Reinstall a problematic package
sudo apt install --reinstall package-name
# Force reinstall
sudo dpkg -i --force-overwrite /var/cache/apt/archives/package-name*.debDémarrer avec un noyau plus ancien
# Select "Advanced options for Ubuntu" from the GRUB menu
# Choose an older kernel version to boot
# If the GRUB menu doesn't appear (countdown too short)
# Hold Shift during boot (BIOS) or press Esc (UEFI)
# After entering the system, fix kernel issues
sudo apt install --reinstall linux-image-$(uname -r)
sudo update-grubMode de récupération
# Select Recovery Mode from GRUB
# Available options:
# - dpkg fix broken packages
# - fsck check filesystem
# - network enable networking
# - root enter root shell
# In the root shell
mount -o remount,rw /
apt --fix-broken install
dpkg --configure -a
rebootRésumé des mesures préventives
La préparation préalable à la mise à niveau détermine directement la faisabilité d’une restauration :
- Doit faire : Sauvegarde complète des données (bases de données, configurations, fichiers utilisateur)
- Fortement recommandé : instantané du système (Timeshift, LVM, Btrfs)
- Serveurs cloud : créer un instantané de disque
- Machines virtuelles : créer un instantané de VM
- Systèmes critiques : effectuez d’abord la mise à niveau dans un environnement de test pour validation
Flux de décision de restauration
Issue found after upgrade
|-- Is the issue fixable?
| |-- Yes -> Fix the specific issue (package repair, config adjustment)
| +-- No -> Continue assessment
|
|-- Is there a system snapshot?
| |-- Yes -> Restore snapshot (Timeshift/LVM/Btrfs)
| +-- No -> Continue assessment
|
|-- Is there a disk image?
| |-- Yes -> dd restore
| +-- No -> Continue assessment
|
+-- Last resort
+-- Reinstall system + restore data and configs from backupLe point le plus important à retenir : Toujours sauvegarder avant la mise à niveau – ne comptez pas uniquement sur la restauration.