| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| sysadmin:linux:virtualisation:kvm:monter-image-disque-qemu [2026/02/23 21:32] – yoann | sysadmin:linux:virtualisation:kvm:monter-image-disque-qemu [2026/06/03 16:08] (Version actuelle) – yoann |
|---|
| ====== Monter un disque virtuel QEMU sur le système hôte ====== | ====== Monter un disque virtuel QEMU sur le système hôte ====== |
| |
| Il est possible d'accéder au contenu d'un disque virtuel directement depuis le système hôte en montant la ou les partitions présentent dans l'image disque. Dans les cas évoqués ici, le système invité ne s'exécute pas. | Il est possible d'accéder au contenu d'un disque virtuel directement depuis le système hôte en montant la ou les partitions présentes dans l'image disque d'une VM. Pour les cas évoqués dans cette note, le système invité ne s'exécute pas. |
| |
| Plusieurs possibilités : | Plusieurs possibilités : |
| |
| <note> | <note> |
| Une image de type **RAW** pourra être utilisée par les outils ''guestfish'' et ''guestmount'' ou montée directement avec ''mount''. A contrario, la commande mount ne pourra pas utiliser directement une image **QCOW2**. Le format **QCOW2** intègre des fonctionnalités avancées comme les snapshots, le COW et la compression et ne peut pas être utilisé directement par mount ou losetup. | Une image de type **RAW** pourra être utilisée par les outils ''guestfish'' et ''guestmount'' ou montée directement avec ''mount''. A contrario, la commande mount ne pourra pas utiliser directement une image **QCOW2**. Le format **QCOW2** intègre des fonctionnalités avancées comme les snapshots, le **COW**((**C**opy **O**n **W**rite)) et la compression et ne peut pas être utilisé directement par mount ou losetup. |
| </note> | </note> |
| | |
| |
| Pour les systèmes s'appuyant sur **FUSE**((**F**ilesystem in **U**ser **S**pac**E**)) | Pour les systèmes s'appuyant sur **FUSE**((**F**ilesystem in **U**ser **S**pac**E**)) |
| | |
| | |
| | ===== Dépannage ===== |
| | |
| | ==== guestfish : Erreur systématique au montage des systèmes de fichiers ==== |
| | |
| | Lors de toute tentative de montage d'un système de fichier avec guesfish, on obtient le message d'erreur suivant : |
| | |
| | <file> |
| | libguestfs : erreur : /usr/bin/supermin s'est terminé avec l'état d'erreur 1. |
| | To see full error messages you may need to enable debugging. |
| | Do: |
| | export LIBGUESTFS_DEBUG=1 LIBGUESTFS_TRACE=1 |
| | and run the command again. For further information, read: |
| | http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs |
| | You can also run 'libguestfs-test-tool' and post the *complete* output |
| | into a bug report or message to the libguestfs mailing list. |
| | </file> |
| | |
| | En relancant guestfish avec les variables proposées : |
| | <code bash> |
| | LIBGUESTFS_DEBUG=1 LIBGUESTFS_TRACE=1 guestfish |
| | </code> |
| | |
| | Parmi les traces, on peut voir le message d'erreur suivant : |
| | |
| | <code> |
| | cp: cannot open '/boot/vmlinuz-6.17.0-29-generic' for reading: Permission denied |
| | supermin: cp -p '/boot/vmlinuz-6.17.0-29-generic' '/var/tmp/.guestfs-1000/appliance.d.jukqktdx/kernel': command failed, see earlier errors |
| | libguestfs : erreur : /usr/bin/supermin s'est terminé avec l'état d'erreur 1, voir les messages de débogage ci-dessus |
| | </code> |
| | |
| | Dans le cas reporté ici, l'utilisateur exécutant guestfish n'a pas le droit de lecture sur le fichier ''/boot/vmlinuz-6.17.0-29-generic''. On peut [[sysadmin:linux:permissions-acces-avancees-via-acl|utiliser les ACL]] pour autoriser spécifiquement le droit de lecture à notre utilisateur : |
| | |
| | <code bash> |
| | setfacl -m 'u:username:r' /boot/vmlinuz-6.17.0-29-generic |
| | </code> |
| | |
| | |
| | |
| |
| |
| * [[https://www.baeldung.com/linux/mount-qcow2-image|Monter une image au format QCOW2 (baeldung.com) (en)]] | * [[https://www.baeldung.com/linux/mount-qcow2-image|Monter une image au format QCOW2 (baeldung.com) (en)]] |
| * [[https://www.qemu.org/2021/08/22/fuse-blkexport/|Présenter l'image disque d'un système invité comme un fichier raw via FUSE (qemu.org) (en)]] | * [[https://www.qemu.org/2021/08/22/fuse-blkexport/|Présenter l'image disque d'un système invité comme un fichier raw via FUSE (qemu.org) (en)]] |
| | * https://computingforgeeks.com/how-to-modify-vm-images-with-guestfish/ |