qcow2 Images mounten
Eigentlich mag ich keine VMs in Imagedateien. Klar, das ist einfach und handlich, aber irgendwie mag ich es nicht einen riesigen Binary-Blob zu haben, an dessen Innereien man nur schwer herankommt. Aber manchmal führt halt kein Weg an ihnen vorbei. Und so ganz stimmt es auch nicht, dass man nicht an die Innereien gelangt, es ist nämlich durchaus möglich sie einfach zu mounten.
Technisch gesehen ist qcow2
ein network block device
(nbd
). Daher benötigt man das nbd
Kernelmodul um auf sie zugreifen zu können:
modprobe nbd max_part=8
Die Option max_part
gibt an wie viele Partitionen unser Block Device verarbeiten kann.
Nun können wir Qemu unser Block Device erzeugen lassen:
qemu-nbd --connect=/dev/nbd0 /qemu/images/VM.qcow2
Der Pfad /qemu/images/VM.qcow2
muss natürlich entsprechend angepasst werden. Die im qcow2-Image enthaltenen Partitionen können nun über /dev/nbd0p1
, /dev/nbd0p2
, /dev/nbd0p5
, usw. angesprochen werden:
mkdir -p /mnt/VM/p1
mount /dev/nbd0p1 /mnt/VM/p1
Um das Image wieder zu schließen werden die folgenden Befehle verwendet:
umount /mnt/VM/p1
qemu-nbd --disconnect /dev/nbd0