qemuやKVMでよく使われるqcow2イメージのマウントを行いました.
イメージの確認
$ sudo qemu-img info /var/lib/libvirt/images/Debian.qcow2 image: /var/lib/libvirt/images/Debian.qcow2 file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 20G cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: true refcount bits: 16 corrupt: false
nbd モジュールの読み込み
$ sudo modprobe nbd
qcow2 イメージのバインド
$ sudo qemu-nbd -c /dev/nbd0 /var/lib/libvirt/images/Debian.qcow2 $ sudo fdisk -l /dev/nbd0 ディスク /dev/nbd0: 20 GiB, 21474836480 バイト, 41943040 セクタ 単位: セクタ (1 * 512 = 512 バイト) セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト ディスクラベルのタイプ: dos ディスク識別子: 0x3c0808c8 デバイス 起動 開始位置 終了位置 セクタ サイズ Id タイプ /dev/nbd0p1 * 2048 499711 497664 243M 83 Linux /dev/nbd0p2 501758 41940991 41439234 19.8G 5 拡張領域 /dev/nbd0p5 501760 41940991 41439232 19.8G 83 Linux
kpartx でデバイスマッピング
$ sudo kpartx /dev/nbd0 nbd0p1 : 0 497664 /dev/nbd0 2048 nbd0p2 : 0 2 /dev/nbd0 501758 nbd0p5 : 0 41439232 /dev/dm-1 2
dm-crypt で暗号化されているのでデバイスをオープン
$ sudo cryptsetup open /dev/nbd0p5 crypt Enter passphrase for /dev/nbd0p5:
lvm領域なのでスキャンする
$ sudo lvmdiskscan : /dev/mapper/crypt [ <19.76 GiB] LVM physical volume /dev/nbd0p5 [ <19.76 GiB] /dev/debian-vg/root [ 18.75 GiB] /dev/debian-vg/swap_1 [ 1.00 GiB] :
マウントして内容確認
$ sudo mount -o ro /dev/debian-vg/root /mnt $ ls /mnt/ bin dev home initrd.img.old lib64 media opt root sbin sys usr vmlinuz boot etc initrd.img lib lost+found mnt proc run srv tmp var vmlinuz.old
Table of Contents
環境
$ dpkg-query -W kpartx qemu-utils fdisk cryptsetup lvm2 mount linux-image-`uname -r` cryptsetup 2:2.0.4-2 fdisk 2.32.1-0.1 kpartx 0.7.7-1 linux-image-4.18.0-1-amd64 4.18.8-1 lvm2 2.02.176-4.1 mount 2.32.1-0.1 qemu-utils 1:2.12+dfsg-3 $ lsb_release -d Description: Debian GNU/Linux unstable (sid) $ uname -m x86_64