Toute commande indiquée sur cette page est à adapter à votre cas. Les noms et identifiants des volume group, volumes logiques, partitions seront différents selon votre configuration. Certaines commandes suivantes sont très dangereuses, n'entrez aucune commande sans avoir lu et compris la man page (commande man) qui la concerne.

La source du problème

La commande qui dysfonctionne est le grub-probe avec l'option "-t abstraction". Elle n'arrive pas à voir le type de partition :

grub-probe -t abstraction -d /dev/mapper/monvg-root

Donnera la même erreur.

La correction

La bonne nouvelle c'est qu'il est du coup très simple de le corriger, il suffit pour cela de faire une (ou plusieurs) nouvelles actions, n'importe laquelle, sur le groupe de volume LVM fautif, par exemple créer une partition de petite taille puis la supprimer :

lvcreate --size 100M --name non-au-bug /dev/monvg
lvremove /dev/monvg/non-au-bug

Après ceci vous devriez pouvoir voir quel type de partition est utilisé avec grub-probe :

grub-probe -t abstraction -d /dev/mapper/monvg-root

Devrait retourner "lvm". Cette commande pourra éventuellement être lancée avant la mise à jour noyau afin de s'assurer que l'on ne tombera pas dans le bug en cours de mise à jour.

Démonter la partition os-prober plantée

Petite remarque en passant, parfois grub monte des partitions pour voir quel système est installé dedans. Il peut donc être utile de faire un mount pour savoir si une partition de ce genre est déjà montée puis la démonter avec umount. Par exemple :

mount
[...]
grub-mount on /var/lib/os-prober/mount type fuse.grub-mount (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
umount /var/lib/os-prober/mount

Retour à la normale

Normalement vous pouvez maintenant régénérer la configuration de grub :

update-grub

Vérifiez que tout c'est bien passé puis vous devriez pouvoir rebooter comme d'habitude en espérant que tout aille bien.

Que faire si vous avez redémarré alors que le grub n'était pas régénéré correctement ?

Je n'ai pas été confronté à ce problème donc je ne pourrais pas vous dire ce qui se passe dans ce cas ni quoi faire. Toutefois, en général, ce genre de chose peut être décoincé depuis un LiveCD (ou LiveUSB, ou mode secours des hébergeurs) en montant les partitions nécessaires dans un dossier (ex : "/mnt") puis faire un chroot dessus pour réparer le problème.

Étant donné que ce sont des partitions LVM il faudra scanner les partitions avec "vgscan" puis les lister "lvdisplay" plutôt que "fdisk -l". Vous aurez aussi besoin du "/dev" dans votre chroot donc à priori faire mount --bind /dev/ /mnt/dev sera nécessaire. Une fois dans le chroot (chroot /mnt) il devrait être possible de récupérer la situation comme indiqué plus tôt.

Encore une fois je n'ai pas été confronté à ce problème donc je ne pourrais pas vous en dire plus que ces quelques pistes que je donnes totalement à titre indicatif.