fdisk -lで大量出現!?/dev/loopXの正体とは?

Linuxコマンドラインを触っていると、ディスクのパーティション情報を確認するためにfdisk -l(またはlsblk)コマンドを使うことがありますよね。HDDやSSDを示す/dev/sda/dev/sdbといった見慣れたデバイス名の中に、突如として/dev/loop0/dev/loop1/dev/loop2と、まるで無限に増殖しているかのような謎のデバイスが大量に表示されて、戸惑ったことはありませんか?

「一体これは何者なんだ?」「私のPCにそんなにたくさんのドライブがあるの?」と不安になった方もいるかもしれません。ご安心ください!今回は、この/dev/loopXというデバイスの正体と、それが何のために使われているのかを、分かりやすく解説していきます。


1. /dev/loopXの正体は「ループデバイス(Loop Device)」!

/dev/loopXと表示されるデバイスは、その名の通り「ループデバイス(Loop Device)」と呼ばれます。これは、ファイルシステムを含む通常のファイル(ISOイメージファイルなど)を、あたかもブロックデバイス(HDDやSSDのような物理的なストレージデバイス)であるかのように扱うための仮想デバイスです。

もう少し簡単に言うと、あなたのPCのどこかにある「ファイル」を、PCに「これはあたかもディスクドライブであるかのように扱ってくれ!」と命令するための、一種の「仮想的なマウントポイント」のようなものです。

2. なぜループデバイスが必要なのか?─その活用シーン

ループデバイスは、主に以下のような状況で利用されます。

シーン1:ISOイメージファイルのマウント(最も一般的!)

Linuxでは、OSのインストールメディアやソフトウェアの配布に使われる「ISOイメージファイル」を、物理的なCD/DVDに焼かずに、直接システムにマウントして中身を閲覧したり、そこからソフトウェアをインストールしたりできます。この際に使われるのがループデバイスです。

例えば、UbuntuのISOファイルをダウンロードして、PCにマウントすると、/dev/loop0として認識され、その中身をフォルダのようにアクセスできるようになります。

シーン2:仮想ディスクイメージの利用

仮想マシンVirtualBoxVMwareなど)が使用する仮想ディスクファイル(.vdi, .vmdk など)や、暗号化されたディスクイメージファイル(.dm-crypt など)を、一時的にシステムにマウントして中身を操作する際にもループデバイスが使われます。

シーン3:開発やテスト環境

ファイルシステムを作成するためのテスト環境や、ディスクイメージを操作する開発環境などでも、実際の物理ディスクを汚さずに仮想的なディスクとしてファイルを扱うためにループデバイスが利用されます。

シーン4:Snapパッケージの動作(特にUbuntu系)

最近のUbuntuなどのLinuxディストリビューションでは、「Snap」という新しいパッケージ管理システムが採用されています。Snapアプリケーションは、それぞれが独立したコンテナのような形式で提供され、そのコンテナファイル(.snapファイル)が、システム上でループデバイスとしてマウントされて動作します。

fdisk -llsblkで大量の/dev/loopXが見える場合、その多くはSnapパッケージが実行されていることによって生成されたものである可能性が高いです。

3. /dev/loopXが表示されても心配無用!

fdisk -lを実行した時に/dev/loopXが大量に表示されても、PCのストレージに異常があるわけではありません。むしろ、それはシステムが正常に動作しており、ISOファイルやSnapパッケージなどを効率的に利用している証拠です。

これらのループデバイスは、必要に応じて自動的に作成・削除される一時的なものです。PCを再起動したり、Snapアプリケーションを閉じたりすると、その多くは消滅します。

4. lsblkコマンドでループデバイスの正体を探る

fdisk -lでもループデバイスは確認できますが、その元になっているファイルが何かを確認するには、lsblkコマンドの方がより適しています。

ターミナルで以下のコマンドを実行してみてください。

lsblk

 

通常、/dev/loopXの行の右側に「MOUNTPOINT(マウントポイント)」と、そのループデバイスがどのファイルから作成されているかを示す「SOURCE」または「ORIGIN」のパスが表示されます。

例えば、

 

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0         7:0    0   5.9G  1 loop /snap/snap-store/638
loop1         7:1    0    62M  1 loop /snap/core20/2264
...

 

このように表示されていれば、/dev/loop0はSnap StoreというSnapアプリケーションのイメージがマウントされていることが分かります。

まとめ:/dev/loopXLinuxの賢い仕組み!

/dev/loopXという謎のデバイスが大量に表示されても、それはPCの故障ではなく、Linuxがファイルベースのイメージを物理デバイスのように扱っている賢い仕組み「ループデバイス」の働きによるものです。

ISOファイルのマウントやSnapパッケージの動作など、私たちの目には見えないところで、PCの効率的な運用を支えてくれています。これで、次にfdisk -llsblkを実行して/dev/loopXを目にしても、その正体と役割を理解し、安心してLinuxシステムを使いこなせるでしょう!