# Monter une ou des partitions contenues dans un fichier qcow2

J’ai des images disques qcow2 sur ma machine, qui servent à mes machines virtuelles que j’utilise pour développer.

Pour modifier des fichiers dessus sans avoir besoin de démarrer les VMs, on peut monter les images disques sur le système hôte.

## Installer l’outil nécessaire

```bash
sudo apt install libguestfs-tools
```

## Monter l’image disque

### Monter tout le système de fichier

L’outil `guestmount` va inspecter les disques à la recherche d’un système d’exploitation et va monter toutes les partitions comme elles seraient montées sur la machine virtuelle.

```bash
sudo guestmount -a /path/to/qcow2/image -i /path/to/mount/point
```

### Monter une partition en particulier

```bash
sudo guestmount -a /path/to/qcow2/image -m <device> /path/to/mount/point
```

Exemple réel :
```bash
guestmount -a ~luc/.vms/sympa.qcow2 -m /dev/sda1 /mnt/
```

- `~luc/.vms/sympa.qcow2` : le chemin vers l’image
- `/dev/sda1` : la partition de la VM à monter
- `/mnt/` : l’endroit où monter la partition

Si vous ne connaissez pas l’identifiant de la partition que vous souhaitez monter, vous pouvez mettre une partition fantaisiste (exemple: `/dev/trs`) et le message d’erreur vous indiquera les partitions existantes :
```
libguestfs : erreur  : mount_options: mount_options_stub: /dev/trs: No such file or directory
guestmount: ‘/dev/trs’ could not be mounted.
guestmount : Vouliez-vous monter l'un de ces systèmes de fichiers ?
guestmount:     /dev/sda1 (ext4)
guestmount:     /dev/sda5 (swap)
```

## Démonter l’image disque

```bash
umount /mnt/
```

---
Tiré de <https://www.xmodulo.com/mount-qcow2-disk-image-linux.html>.