Elsaの技術日記(徒然なるままに)

主に自分で作ったアプリとかの報告・日記を記載

MENU

ループバックマウントって結局なに?

先日、otgデバイスモードでファイル共有を行う方法をまとめました。
elsammit-beginnerblg.hatenablog.com

そこでループバックマウントを実行していますが、
そもそもループバックマウントって何ぞや??
ということを書けていなかったので、ここで紹介したいと思います!!
f:id:Elsammit:20210130222442p:plain



■ループバックマウントってなんぞや?

ループバックデバイスとも言いますが、、、

一般的なファイルを,あたかもハード・ディスクなどのブロック型デバイスであるかのように扱うための機能です。
パソコン上でイメージ・ファイルを直接操作したい場合などに使います。

例えば、HDDやCDなどをイメージ化したデータをパソコン上で表示、操作したい時に用いる技術になります。

ループバックマウントを用いなかった場合、
ddコマンドのようなディスクへの書き込みコマンドを用いない限りイメージファイルを見ることが出来ないです。
ループバックマウントにより、上記のようなddコマンド等による書き込みを行うことなく、イメージファイルの表示、操作が可能になります。

■ループバックマウントの基本的な操作

ではコマンドによりループバックマウントの方法についてまとめていきたいと思います。

まずはマウント用のイメージファイルの作成を行ってみます。
こちらです。

dd if=/dev/zero of=testImg.img bs=1M count=100

では、ループバックマウントを行ってみます。
コマンドはこちら.

sudo losetup /dev/loop0 testImg.img 
sudo mkfs.ext4 /dev/loop0
sudo mount -t ext4 /dev/loop0 /mnt

この3行ですが、

sudo losetup /dev/loop0 testImg.img 

作成したtestImg.img とループバックデバイス(/dev/loop0)を関連させ、

sudo mkfs.ext4 /dev/loop0

にてext4でフォーマット。
そして最後は、

sudo mount -t ext4 /dev/loop0 /mnt

マウントです。

逆にマウントを解除する場合ですが、

sudo losetup -d /dev/loop0

でOKです。

■ループバックマウントの活用

ループバックデバイスは先ほど記載した通り、マウントすれば書き込むことなくイメージファイル内のデータの閲覧が出来ます。
マウントさえ出来てしまえば、イメージファイル内のフォルダ、ファイルを通常のファイルシステムと同様に操作することが可能になります。
また、マウントさえ出来てしまえばファイル操作も可能になります。保存されるのはイメージファイル内です。

■最後に

今回はループバックマウントについて記載いたしました。
実はLinuxを勉強したての時、このループバックマウントに躓きました。
パッと理解できなかったんですよね?
どんな動き?と考えてしまって。

使っていくと分かる技術かと思います。
写経でよいので上記コードをまねていじってみると色々分かるかもです!!