Outils personnels

Incompatibilité noyau linux - HyperV

De wikiGite

Incompatibilité de certaines versions de noyau linux, en machines virtuelles utilisant LVM, sur hyperviseur MS HyperV

Problème

La machine virtuelle (sur hyperviseur Microsoft HyperV) ne boote plus avec le message :

Volume group "VolGroup00" not found
 ...
Kernel panic - not syncing : Attempted to kill int

Raison

Certaines versions du noyau linux ne prennent pas en compte le fait que l'hyperviseur est HyperV. Les modules nécessaires, notamment pour la gestion des disques, ne sont pas prévus au démarrage. Exemple, les versions 2.6.18-194 ou 2.6.18-348 32 bits du noyau d'une CentOS5.

Solution

Redémarrer d'abord sur un ancien noyau, linux en laisse toujours quelques-uns "au cas où" lorsqu'il met à jour le noyau, il suffit de le sélectionner au démarrage.

Où, démarrer sur une image de CD Live, monter les différentes partitions du disque dans un répertoire et chrooter dans ce répertoire. Chroot n'est pas l'objet de la présente procédure, Google IYF.

Reconstruire l'image mémoire ("initrd") sur laquelle linux démarre, en forçant l'intégration des modules HyperV :

mkinitrd --preload hv_storvsc --preload hv_vmbus --preload hv_utils -f /boot/initrd-2.6.18-348.4.1.el5.img 2.6.18-348.4.1.el5

(le tout sur une seule ligne). Il reste à rebooter pour vérifier que ça fonctionne.