Tutoriel Linux

Fstab sous Linux : ajouter un montage automatique sans bloquer le démarrage

Débutant6 min de lecture
À retenirLinux n'est pas réservé aux experts. Le bon point de départ : une distribution accessible, une sauvegarde propre et quelques commandes comprises.

Modifier /etc/fstab peut rendre un serveur beaucoup plus pratique. Un disque de données, une partition dédiée, un partage réseau ou un volume ajouté au VPS peut se monter automatiquement au démarrage, sans commande manuelle après chaque reboot.

Mais c’est aussi le genre de fichier que je n’édite jamais à la légère. Une mauvaise ligne dans fstab peut ralentir fortement le démarrage, lancer un mode de secours, ou vous laisser devant une console que vous n’aviez pas prévue d’ouvrir. Rien d’insurmontable, mais il faut faire les vérifications dans le bon ordre.

Dans cet article, on va voir comment ajouter un montage automatique sous Linux avec un UUID, sauvegarder le fichier, utiliser nofail quand c’est pertinent, puis tester avec mount -a avant de redémarrer.

Tux vérifie un montage automatique Linux avec un serveur et un disque externe
Un montage fstab doit être testé avec mount -a avant le redémarrage, surtout sur un serveur distant.

Avant de modifier fstab, identifiez le bon disque

La première erreur consiste à écrire une ligne fstab à partir d’un nom comme /dev/sdb1. Ça peut marcher, mais ce nom peut changer selon l’ordre de détection des disques. Pour un montage durable, je préfère partir sur l’UUID.

Commencez par afficher les disques et les systèmes de fichiers :

lsblk -f

Vous pouvez aussi récupérer les UUID avec :

sudo blkid

Repérez trois informations : l’UUID, le type de système de fichiers et le point de montage souhaité. Par exemple, un disque en ext4 que vous voulez monter dans /mnt/data.

Si votre besoin est simplement de monter une clé USB ponctuellement, l’article sur les commandes pour monter une clé USB sous Linux sera plus adapté. Ici, on parle bien d’un montage automatique au démarrage.

Sauvegarder /etc/fstab avant d’ajouter une ligne

Avant d’ouvrir l’éditeur, faites une copie du fichier actuel. C’est rapide, et ça évite de bricoler dans l’urgence si une option est mal écrite.

sudo cp /etc/fstab /etc/fstab.bak-$(date +%F-%H%M)

Créez ensuite le point de montage si nécessaire :

sudo mkdir -p /mnt/data

Ouvrez le fichier avec votre éditeur habituel :

sudo nano /etc/fstab

Je vous conseille d’ajouter la nouvelle ligne en bas du fichier, avec un commentaire juste au-dessus. Pas besoin d’écrire un roman, mais dans six mois vous serez content de comprendre pourquoi ce montage existe.

Ajouter un montage automatique avec UUID

Une ligne fstab suit cette logique :

<source> <point_de_montage> <type> <options> <dump> <fsck>

Pour un volume ext4 local, vous pouvez partir sur une ligne de ce type :

# Disque de données
UUID=11111111-2222-3333-4444-555555555555 /mnt/data ext4 defaults,nofail,x-systemd.device-timeout=10 0 2

Remplacez évidemment l’UUID par celui obtenu avec lsblk -f ou blkid. Ne copiez pas cet exemple tel quel.

Les deux derniers champs sont souvent mal compris. Le 0 désactive l’ancien mécanisme dump, très rarement utilisé aujourd’hui. Le 2 indique que le système de fichiers peut être vérifié après la racine. Pour une partition système principale, on trouve plutôt 1. Pour certains montages réseau ou volumes spéciaux, on mettra souvent 0.

La page de manuel fstab(5) détaille la structure exacte du fichier. Elle est austère, mais utile quand vous avez un doute sur un champ.

Les options qui évitent de bloquer le démarrage

L’option defaults suffit pour beaucoup de cas simples. Elle regroupe des options classiques comme lecture-écriture, exécution autorisée, périphérique interprété et montage automatique.

J’ajoute souvent nofail pour un disque de données non critique, un disque USB branché ponctuellement, ou un volume qui peut être absent au démarrage. Avec nofail, la machine ne doit pas rester bloquée uniquement parce que ce montage secondaire n’est pas disponible.

Sur les distributions avec systemd, l’option suivante limite aussi l’attente :

x-systemd.device-timeout=10

C’est pratique pour un disque externe ou un volume qui peut répondre lentement. Pour un stockage vraiment indispensable, je serais plus strict : pas de nofail posé automatiquement, surveillance claire, et test de redémarrage pendant une fenêtre prévue.

Pour les montages réseau, notamment NFS ou SMB, ne reprenez pas aveuglément une ligne trouvée ailleurs. Les options changent selon le protocole, l’authentification, le réseau et le moment où la connexion devient disponible au boot.

Tester fstab sans redémarrer

Après avoir enregistré le fichier, ne redémarrez pas tout de suite. Testez d’abord la syntaxe et le montage avec :

sudo mount -a

Si la commande ne renvoie rien, ce n’est pas une garantie absolue, mais c’est déjà bon signe. Si elle affiche une erreur, corrigez la ligne maintenant, tant que votre système tourne encore.

Vérifiez ensuite que le montage est bien actif :

findmnt /mnt/data
df -h /mnt/data
mount | grep '/mnt/data'

Si systemd vous signale qu’il a encore une ancienne vision des unités de montage, rechargez sa configuration :

sudo systemctl daemon-reload

Vous pouvez ensuite relancer sudo mount -a. La page mount(8) reste la référence pour les options de montage classiques, et la documentation systemd.mount explique les options spécifiques à systemd.

Si le montage ne passe pas, lisez l’erreur avant de corriger

Une erreur fstab est souvent assez parlante : mauvais UUID, type de système de fichiers incorrect, point de montage absent, option inconnue, droits insuffisants ou paquet manquant pour un protocole réseau.

Pour vérifier le type exact :

lsblk -f
sudo blkid

Pour relire les erreurs récentes côté système :

journalctl -p warning..alert -b --no-pager
systemctl --failed

Si vous avez cassé le démarrage, utilisez la console de secours de l’hébergeur, un mode recovery ou un live USB. Montez la partition racine, ouvrez /etc/fstab, commentez la ligne ajoutée avec #, ou restaurez la sauvegarde créée au début.

sudo cp /etc/fstab.bak-YYYY-MM-DD-HHMM /etc/fstab

Sur un serveur distant, ne faites pas le premier reboot de test juste avant de partir. Gardez un accès console disponible, ou au minimum vérifiez que votre hébergeur propose un mode rescue facile à ouvrir.

Ma vérification avant de valider le montage automatique

Pour un disque de données simple, ma séquence ressemble à ça :

  • identifier le disque avec lsblk -f et confirmer l’UUID avec blkid ;
  • sauvegarder /etc/fstab avant toute modification ;
  • créer le point de montage avec un nom clair ;
  • ajouter une ligne basée sur l’UUID, pas sur /dev/sdX ;
  • lancer sudo mount -a et corriger toutes les erreurs avant reboot ;
  • vérifier avec findmnt, df -h et les logs ;
  • redémarrer seulement quand le montage est propre.

Fstab n’est pas compliqué, mais il ne pardonne pas toujours les approximations. Une ligne courte, un UUID fiable, nofail quand le volume est secondaire, puis un vrai test avec mount -a : c’est généralement ce qui évite les mauvaises surprises au prochain démarrage.

sudo apt update && sudo apt upgrade