bagneris.net


grub-probe: error: cannot find a device for /.

[ jeudi 19 novembre 2009 - geekstuff, debian]

Il y a quelques semaines, suite à un fort commun:

$ sudo aptitude full-upgrade

un certain nombre de paquets refusent de finir de s'installer, en particulier une nouvelle version du noyau et des parties de grub2. Le message d'erreur qui semble expliquer tous ces problèmes est fort clair:

grub-probe: error: cannot find a device for /.

Et la solution fort claire aussi, apparemment : il faut corriger le fichier /boot/grub/device.map afin que grub-probe retrouve ses petits. Sauf que mon device.map va fort bien, et contient sagement:

(hd0)   /dev/sda

ce qui est tout à fait correct sur la machine en question. Groumf. Il se trouve que cette machine (mon laptop professionnel) utilise lvm et crypt. Je cherche un peu et ne trouve rien de probant dans un premier temps. Je décide de voir ça plus tard car j'ai quand même un petit peu de travail, évidemment le soir j'oublie, et j'hiberne la machine comme d'habitude. Le lendemain matin elle se relance sans coup férir, je retente un full_upgrade en me disant, ok, ce petit bug d'unstable est réparé n'y pensons plus. Las. Les mêmes causes produisent les mêmes effets, à savoir impossible de terminer l'installation des mêmes paquets (tous les autres passent sans problème), mais rien de plus grave. En particulier, la machine reboote gentiment sans broncher. Je cherche encore un peu, pas mieux. Et puis comme la machine tourne et que j'ai (encore) deux trois bricoles à faire, le problème passe "sous la pile"... et ainsi de suite jusqu'à hier, où, allez savoir pourquoi, je décide que ça suffit comme ça. Je cherche à nouveau, retombe sur des messages et rapports de bug déjà lus, m'obstine, et fini par tomber sur ce bug debian. Avec la solution quelques dizaines de lignes plus bas:

Probable you're also affected by the change of dmsetup 2:1.02.36-1 that
made the files in /dev/mapper/* symlinks to /dev/dm-*. That was reverted
in 2:1.02.36-2.
See 543795, 542425 and 542435.
For some people just upgrading the package to -2 and even rebooting
doestn't fix it.
Check with `ls -l /dev/mapper/' to which /dev/dm-X device your root lv
links to and then run `echo change > /sys/block/dm-X/uevent'

Et donc:

$ sudo sh -c "echo change > /sys/block/dm-0/uevent"
$ sudo sh -c "echo change > /sys/block/dm-1/uevent"
$ sudo sh -c "echo change > /sys/block/dm-2/uevent"
$ sudo sh -c "echo change > /sys/block/dm-3/uevent"

suivi d'un petit full-upgrade, et tout roule. Yay.

Promouvoir et soutenir le logiciel libre

Tags

En cours

Le vaisseau ardent - Jean-Claude Marguerite

Le vaisseau ardent
Jean-Claude Marguerite


A Django site.