[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Restauration du MBR + table des partitions qui ne fonctionne pas sous KVM



Bonjour,

Selon la méthode d'installation de grub, cele peut être :

1) Le fichier /boot/grub/core.img qui est copié dans les premier secteurs entre le mbr et le début de la première partition.

dd if=/dev/mapper/vm-1-disk of=/root/tmpl-mbr_part bs=512 count=62

2) Le fichier /boot/grub/core.img est lu directement depuis le filesystem, mais sont ofset est ecrit en dur dans le boot sector, donc quand tu recréer la partition, le fichier n'est plus a la place attendue. Une solution est alors de faire une partition /boot et de l'inclure dans l'image.



On 21/06/2011 20:05, Gmaurice wrote:
Bonjour tout le monde,

Je suis nouveau sur la liste parce que je cherche une réponse un peu spécifique et je pense qu'ici je pourrais la trouver. En gros, je veux pouvoir faire du provisioning de guest KVM de manière automatique et je teste une méthode et je ne vois pas pourquoi ça bloque.

Dans un premier temps, je crée une VM (en vue d'établir mon template), je l'installe, elle boote, elle est utilisable. Elle est sur un disque qui ne contient qu'une partition ( / en l'occurence).
Les disques de mes vm sont dans des logical volumes.

Donc, VM éteinte, j'en extraie le MBR et la table de partitions avec un :
dd if=/dev/mapper/vm-1-disk of=/root/tmpl-mbr_part bs=512 count=1

Je créé une archive du "/" en montant la partition de la VM au niveau de l'hôte KVM (avec kpartx + mount).

Pour la création d'une nouvelle VM à partir de mon template, je fais :
dd if=/root/tmpl-mbr_part of=/dev/mapper/vm-2-disk bs=512 count=1
## je précise que le disque de la VM 2 et créé de la même manière et avec les mêmes caractéristiques que la VM 1.

Je vérifie que la table de partition est bonne, et que la première partition est bien bootable (via fdisk), ok.

Ensuite, je formate en ext3 et monte la partition "/" au niveau de l'hôte KVM et j'y extraie les fichiers de l'OS. Sachant que grub identifie les partitions avec leur UUID, sur mon FS "/" je réaffecte l'UUID utilisé lors du template via tune2fs. Je démonte le tout, supprime les mappings fait par kpartx et à cette étape, pour moi, j'ai :
- le mbr
- la table de partitions
- ma partition système (avec le flag boot)
- les fichiers système

Je lance la VM, ça semble booter, mais rien ne se passe, il ne me dit pas que le périphérique n'est pas bootable.

Pour que mon install fonctionne finalement, je suis obligé d'utiliser une distrib live, je monte un chroot sur le disque de la VM et je fais un grub-setup "(hd0)". Et là, Ô miracle, ça fonctionne bien au redémarrage de la VM.


La question est : que fait grub-setup de plus que je ne fais pas ?


Précision : les MBR et table de partitions avant et après le grub-setup sont identiques. (via hexdump du dd et des diff sur les deux versions)

Voilà, il n'y avait peut-être pas besoin d'un long message, mais en tout cas j'ai fais en sorte que vous ayez tout.
Merci par avance pour vos avis ou aide.
Germain



Reply to: