Notebook

これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。

HTML ファイル生成日時: 2024/10/19 22:04:30.268 (台灣標準時)

QCOW2 image file を Debian/GNU Linux で mount する方法

NBD (Network Block Device) を有効にする

まず、 NBD (Network Block Device) を有効にする必要があるようでござる。


# modprobe nbd max_part=8

もしも、 partition の数が多いのならば、 max_part に与える数字を大きく すればよいようでござる。


# modprobe nbd max_part=16

QCOW2 image file を NBD として見えるようにする

次に、 QCOW2 image file を NBD として見えるようにするでござる。ここで は、 /vm/netbsd01/netbsd01.img という QCOW2 image file を取り扱うでご ざる。


# file /vm/netbsd01/netbsd01.img 
/vm/netbsd01/netbsd01.img: QEMU QCOW2 Image (v3), 68719476736 bytes
# qemu-nbd --connect=/dev/nbd0 /vm/netbsd01/netbsd01.img

以下のようにしてもよいようでござる。


# qemu-nbd -c /dev/nbd0 /vm/netbsd01/netbsd01.img

fdisk で partition を確認する

そして、 NBD として見えるようになった QCOW2 image file の partition を fdisk を使って確認するでござる。


# fdisk /dev/nbd0 -l
Disk /dev/nbd0: 64 GiB, 68719476736 bytes, 134217728 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: ABCDEFGH-0123-4567-89AB-000000000000

Device          Start       End   Sectors Size Type
/dev/nbd0p1        64 125829116 125829053  60G NetBSD FFS
/dev/nbd0p2 125829120 134217694   8388575   4G NetBSD swap

partition の構造や大きさだけであれば、 lsblk コマンドを使うこともでき るようでござる。


# lsblk /dev/nbd0
NAME     MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nbd0      43:0    0  64G  0 disk 
├─nbd0p1  43:1    0  60G  0 part 
└─nbd0p2  43:2    0   4G  0 part 

mount コマンドを使ってマウントする

これで、 mount コマンドを使ってマウントすることができるようになったで ござる。 mount したいのは、 NetBSD の FFS パーティションなので、以下の ようにすればマウントできるでござる。


# mount -t ufs -r -o ufstype=ufs2 /dev/nbd0p1 /mnt

マウントできたかどうか確認する

マウントできたかどうか確認するでござる。


# df -m /mnt
Filesystem     1M-blocks  Used Available Use% Mounted on
/dev/nbd0p1        59567 30823     25767  55% /mnt
# ls /mnt/
altroot   cdrom  lib      nas0                                 rescue  usr
amd       dev    libdata  net                                  root    var
bin       etc    libexec  netbsd                               sbin
boot      home   METALOG  netbsd.1000000000.NB01_GEN_20230430  stand
boot.cfg  kern   mnt      proc                                 tmp

試しに、ファイルの中身を見てみるでござる。


# cat /mnt/etc/resolv.conf 
;
; BIND data file
; Created by NetBSD sysinst on Thu Nov 17 13:48:38 2022
;
search astro.ncu.edu.tw
nameserver 8.8.8.8

これで、必要なファイルを参照したり、複製を作ることができるでござる。

後片付け

必要な作業が済んだら、後片付けをする必要があるでござる。まず、 umount コマンドを使ってアンマウントするでござる。


# umount /mnt

次に、 QCOW2 image file を NBD から切り離すでござる。


# qemu-nbd --disconnect /dev/nbd0
/dev/nbd0 disconnected

以下のようにしてもよいようでござる。


# qemu-nbd -d /dev/nbd0
/dev/nbd0 disconnected

最後に、 NBD を終了させるでござる。


# rmmod nbd

これで、全て完了でござる。

参考文献



Frequently accessed files

  1. Computer___Python/20220518_0.html
  2. Computer___Network/20230726_00.html
  3. Computer___Network/20230516_00.html
  4. Misc___Taiwan/20240207_00.html
  5. Computer___FreeBSD/20220621_0.html
  6. Computer___Python/20220715_0.html
  7. Food___Taiwan/20220429_0.html
  8. Computer___Network/20230508_00.html
  9. Computer___NetBSD/20220817_3.html
  10. Computer___Python/20220410_0.html
  11. Computer___Network/20240416_00.html
  12. Computer___Debian/20210223_1.html
  13. Computer___Network/20240130_00.html
  14. Computer___Python/20210124_0.html
  15. Computer___NetBSD/20220428_0.html
  16. Computer___NetBSD/20230119_00.html
  17. Computer___NetBSD/20220818_1.html
  18. Computer___Python/20221013_0.html
  19. Science___Math/20220420_0.html
  20. Computer___NetBSD/20240101_02.html
  21. Computer___TeX/20230503_00.html
  22. Computer___NetBSD/20230515_00.html
  23. Computer___NetBSD/20220808_0.html
  24. Science___Astronomy/20220503_0.html
  25. Computer___Python/20240101_00.html
  26. Computer___NetBSD/20210127_0.html
  27. Computer___Network/20220413_1.html
  28. Travel___Taiwan/20220809_2.html
  29. Computer___NetBSD/20210204_0.html
  30. Computer___Python/20220816_1.html


HTML file generated by Kinoshita Daisuke.