Skip to content

Instantly share code, notes, and snippets.

@m-tmatma
Last active January 24, 2021 01:14
Show Gist options
  • Save m-tmatma/d6ef575fcf1a2c5aed5a10e439bc7f12 to your computer and use it in GitHub Desktop.
Save m-tmatma/d6ef575fcf1a2c5aed5a10e439bc7f12 to your computer and use it in GitHub Desktop.
image-mount-test.sh
#!/bin/sh -e
# イメージファイルのファイル名
FILENAME=$1
# マウントポイント
MOUNT_POINT=$2
# 引数で指定したイメージをループバックデバイスに関連づける。ループバックデバイス名は変数 LOOPBACK_DEVICE に割り当てる。
LOOPBACK_DEVICE=$(sudo losetup -P --show -f ${FILENAME})
# ループバックデバイス一覧を表示する
losetup -l
# 複数パーティションを含むイメージデータをマウントするときの肝
# 複数パーティションを含むイメージデータをループバックデバイスにマウントすると
# パーティション1 は /dev/loopXXXp1
# パーティション2 は /dev/loopXXXp2
# というように p数字 という suffix がついたデバイスが作られる。
LOOPBACK_DEVICE_P2=${LOOPBACK_DEVICE}p2
# 割り当てたイメージファイルの各パーティションに対応するループバックデバイス名一覧を表示する。
sudo ls -l ${LOOPBACK_DEVICE}*
# 割り当てたループバックデバイスをマウントする
sudo mount ${LOOPBACK_DEVICE_P2} ${MOUNT_POINT}
# マウントしたファイルシステムの中身を確認する
# 必要に応じて書き換えることが可能
sudo ls -l ${MOUNT_POINT}
# マウント解除する。
sudo umount ${MOUNT_POINT}
# ループバックデバイスを解放する。
sudo losetup -d ${LOOPBACK_DEVICE}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment