Démarrage d’Ubuntu bloqué suite à un arrêt brutal (BTRFS)

Petite frayeur ce matin : après m’être à nouveau endormi sur mon pc portable, Ubuntu bloquait au boot, lors du splash screen (les petites bulles qui défilent habituellement).

Un appui sur Echap révèle le dernier message inscrit dans la sortie standard : « Scanning for btrfs file systems ».

Deux minutes plus tard, un nouveau message arrive, contenant « blocked for more than 120 seconds » suivi deux lignes plus bas par « kernel: « echo 0 > /proc/sys/kernel/hung_task_timeout_secs » disables this message. »

J’ai fini par trouver la solution dans les archives d’une mailing list : lorsqu’un arrêt risque d’endommager le système de fichier, BTRFS place la partition en sécurité. Hors pour effectuer une vérification complète, l’utilitaire semble avoir besoin de placer la partition en lecture seule.

La solution consiste à booter sur un Live CD / USB d’Ubuntu et à exécuter en root « btrfs check /dev/votre_partition_btrfs » et redémarrer. Voilà.