Linuxのマウントとは?ファイルシステム接続の仕組みとmountコマンドを初心者向けに解説
生徒
「Linuxのマウントって、HDDやSSDをパソコンにつなぐことですか?」
先生
「物理的につなぐこととは少し違います。Linuxでは、ストレージ上のファイルシステムをディレクトリ構造の中から利用できるように接続することをマウントといいます。」
生徒
「接続すると、どこからファイルを見られるようになるんですか?」
先生
「マウントポイントというディレクトリから利用できるようになります。ストレージ、パーティション、ファイルシステムとの関係も含めて順番に見ていきましょう。」
Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。
試して理解 Linuxのしくみを見る※ Amazonアソシエイト広告リンク
1. Linuxのマウントとは?
Linuxの読み方はLinux(リナックス)です。マウントは英語でmount(マウント)といい、ストレージやパーティション上にあるファイルシステムを、Linuxのディレクトリ構造の特定の場所へ接続して利用できるようにする仕組みです。
HDDやSSDをパソコンへ接続しただけでは、Linuxのいつものディレクトリから自動的に中身を利用できるとは限りません。Linuxがストレージを認識し、その中のパーティションやファイルシステムを確認したうえで、ディレクトリ構造のどこへつなぐかを決めます。この接続作業がマウントです。
初心者の方は、別の建物へ入るための入口を作るイメージで考えるとわかりやすいでしょう。ストレージの中にデータがあっても、Linuxのディレクトリ構造から入る入口がなければ普段のファイル操作ができません。マウントによって入口を用意すると、そのディレクトリから保存されたファイルを参照できるようになります。
Linuxではルートディレクトリを頂点とした一つのディレクトリツリーを基本としているため、追加したディスクやUSBメモリなども、どこかのディレクトリへマウントして利用します。この考え方はLinuxのファイルシステムとストレージ管理を学ぶうえで重要です。
2. マウントポイントとは?ファイルシステムを接続する場所
マウントポイントの読み方はmount point(マウントポイント)です。マウントポイントとは、ファイルシステムを接続する先として使うディレクトリのことです。たとえば追加ストレージを/dataへマウントすると、そのストレージの中身を/dataから利用できるようになります。
Linuxでは/を頂点にして、/home、/var、/mnt、/mediaなど多くのディレクトリがつながっています。別のファイルシステムも、この木のような階層構造の途中へ接続できます。
/mntは一時的なマウント先として使われることがあるディレクトリで、/mediaはデスクトップ環境などで取り外し可能なメディアを自動的にマウントするときに使われることがあります。ただし、実際のマウント場所はLinuxディストリビューションやシステム構成によって異なります。
現在のルートディレクトリがどのファイルシステムから提供されているかは、findmntコマンドで確認できます。findmntの読み方はfindmnt(ファインドマウント)です。
findmnt -T /
TARGET SOURCE FSTYPE OPTIONS
/ /dev/sda2 ext4 rw,relatime
この例では/dev/sda2にあるext4ファイルシステムが、ルートディレクトリへマウントされています。実際のデバイス名やファイルシステムは環境によって異なります。
3. ストレージとパーティションとファイルシステムの関係
マウントを理解するには、ストレージ、パーティション、ファイルシステムという三つの用語を区別することが大切です。ストレージの読み方はstorage(ストレージ)で、HDDやSSDなどデータを保存する装置を指します。
パーティションの読み方はpartition(パーティション)です。一台のストレージを複数の領域へ分けて利用するときの区画です。そしてファイルシステムの読み方はfile system(ファイルシステム)で、ファイル名、ディレクトリ、空き領域などを管理するための仕組みです。
初心者の方は、ストレージが土地、パーティションが土地を分けた区画、ファイルシステムが区画内の整理方法、マウントポイントがその区画へ入る入口だと考えると理解しやすくなります。
Linuxでは、パーティションにext4やXFSなどのファイルシステムが存在し、それを/や/home、/dataなどへマウントして使う構成が一般的です。パーティションを作ることと、ファイルシステムを作ることと、マウントすることは、それぞれ別の作業です。
どのブロックデバイスにどのファイルシステムがあり、どこへマウントされているかはlsblk -fで確認できます。
lsblk -f
NAME FSTYPE MOUNTPOINTS
sda
sda2 ext4 /
FSTYPEにはファイルシステムの種類、MOUNTPOINTSにはマウント先が表示されます。ストレージ構成を調べるときに非常に便利なLinux基本コマンドです。
4. mountコマンドでファイルシステムを接続する
Linuxでファイルシステムを手動でマウントするときに使う代表的なコマンドがmountです。mountコマンドの読み方はmount(マウント)です。基本的には、マウントしたいデバイスと接続先のディレクトリを指定します。
たとえば、すでに適切なファイルシステムが作成されている/dev/sdb1を/mnt/dataへマウントする場合は、次のような形になります。実際のデバイス名は環境ごとに異なるため、確認せずにそのまま実行しないでください。
mount /dev/sdb1 /mnt/data
この操作は通常、管理者権限が必要です。また、接続先となる/mnt/dataディレクトリが事前に存在している必要があります。デスクトップ環境ではUSBメモリなどが自動的にマウントされることもあるため、すべての場面で手動のmountが必要なわけではありません。
初心者の段階では、いきなり書き込みや構成変更を行うより、まずlsblk -fやfindmntで現在の状態を確認する習慣を付けることが大切です。間違ったデバイスを指定すると、意図しないファイルシステムを扱ってしまう可能性があります。
5. findmntコマンドで現在のマウント状態を確認する
現在どのファイルシステムがどのディレクトリへマウントされているか詳しく確認したい場合は、findmntが便利です。引数を付けずに実行すると、現在のマウント構成を階層的に表示できます。
特定のディレクトリだけを調べたい場合は、-Tオプションを使うと簡単です。たとえば/homeがどのファイルシステム上にあるか確認できます。
findmnt -T /home
TARGET SOURCE FSTYPE OPTIONS
/ /dev/sda2 ext4 rw,relatime
この例では/homeがルートファイルシステムの中にあり、/dev/sda2から提供されていることがわかります。もし/homeが別パーティションとしてマウントされていれば、別のSOURCEが表示されます。
Linuxサーバーでは、ルート、ホーム、ログ保存領域、データ保存領域などを別々のファイルシステムへ分ける構成もあります。findmntを使うと、見た目は一つのディレクトリツリーでも、実際には複数のストレージやファイルシステムが接続されていることを確認できます。
6. dfコマンドでマウント済みファイルシステムの容量を確認する
マウントされたファイルシステムの容量や空き容量を確認するときは、dfコマンドがよく使われます。dfの読み方はdf(ディーエフ)です。-hを付けると、人が読みやすい容量単位で表示できます。
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 120G 34G 86G 29% /
/dev/sdb1 500G 120G 380G 25% /data
Mounted onにはマウントポイントが表示されます。この例では/dev/sda2が/へ、/dev/sdb1が/dataへマウントされています。
Sizeはファイルシステムの全体容量、Usedは使用済み容量、Availは利用可能な容量、Useは使用率を示します。Linuxサーバーではファイルシステムの容量不足がトラブルにつながることがあるため、df -hは日常的なディスク容量確認でもよく使われます。
なお、dfが表示しているのは主にマウントされているファイルシステムの使用状況です。物理ディスク全体の構成を調べたい場合は、lsblkなども合わせて確認すると理解しやすくなります。
7. アンマウントとは?ファイルシステムの接続を解除する
マウントしたファイルシステムの接続を解除する操作をアンマウントといいます。アンマウントの読み方はunmount(アンマウント)です。Linuxではumountコマンドを使います。コマンド名はunmountではなくumountなので注意しましょう。
たとえば/mnt/dataへマウントされているファイルシステムを解除する場合は、次のような形で実行します。
umount /mnt/data
アンマウントは、USBメモリや外付けストレージを安全に取り外すときにも重要です。ファイルを書き込んでいる途中や、プロセスがそのファイルシステムを使用している状態では、アンマウントできないことがあります。
Linuxでは書き込みデータが一時的にメモリ上へ保持される場合もあるため、ストレージを使用中のまま物理的に取り外すのは避ける必要があります。デスクトップ環境では取り外し操作がアンマウントを含めて処理してくれる場合がありますが、コマンドライン環境ではマウント状態を確認してから安全に解除することが大切です。
使用中のストレージを不用意に取り外すと、書き込み中のデータが失われたりファイルシステムへ問題が起きたりする可能性があります。取り外し前にはマウント状態と使用状況を確認しましょう。
8. fstabとは?起動時にファイルシステムを自動マウントする設定
Linuxでは、再起動するたびに毎回手作業でマウントしなくてもよいように、起動時などのマウントに利用される設定があります。代表的なのが/etc/fstabです。fstabの読み方はfstab(エフエスタブ)です。
fstabには、どのファイルシステムを、どのマウントポイントへ、どのような設定でマウントするかといった情報を記述できます。Linuxサーバーで追加ディスクを継続的に利用するときなどに重要な設定ファイルです。
内容を確認するだけなら、一般ユーザーでも次のようにcatコマンドで読める環境が多くあります。
cat /etc/fstab
UUID=aaaa-bbbb / ext4 defaults 0 1
UUID=cccc-dddd /data ext4 defaults 0 2
UUIDの読み方はUUID(ユーユーアイディー)です。ストレージやファイルシステムを識別するために利用される値で、デバイス名が変化する可能性がある環境でも対象を識別しやすくするために使われます。
/etc/fstabの記述を間違えると、起動時のマウントに失敗したり、システム起動へ影響したりする可能性があります。初心者のうちは内容を確認して仕組みを理解することから始め、編集するときはバックアップを取り、設定内容を十分に確認することが大切です。
9. Linux初心者がマウントで覚えておきたいポイント
Linuxのマウントを理解するときは、「ストレージを物理的につなぐこと」と「ファイルシステムをLinuxのディレクトリ構造へ接続すること」を分けて考えるのがポイントです。マウントは後者を意味します。
Linuxではルートディレクトリを頂点とする一つのディレクトリツリーへ、複数のファイルシステムを接続できます。追加したHDDやSSDのファイルシステムを/dataへ接続すれば、利用者からは/dataの中にファイルがあるように見えます。この統一されたディレクトリ構造がLinuxの特徴の一つです。
マウントと一緒に覚えたい用語には、ストレージ、ブロックデバイス、パーティション、ファイルシステム、マウントポイント、アンマウントがあります。HDDやSSDなどのストレージをLinuxがブロックデバイスとして認識し、その中のパーティションにあるファイルシステムをマウントポイントへ接続するという流れで理解すると整理しやすくなります。
確認に使う基本コマンドとしては、lsblk -fでブロックデバイスとファイルシステムを調べ、findmntでマウント先を確認し、df -hでマウント済みファイルシステムの容量を確認できます。これらは読み取り中心の確認操作なので、Linux初心者がストレージ構成を学ぶときにも役立ちます。
実際に手動でファイルシステムを接続するときはmount、解除するときはumountを利用します。これらはシステムの状態を変更する操作なので、対象となるデバイス名とマウントポイントを事前に確認することが重要です。
また、Linuxでは起動時などにファイルシステムを自動的にマウントするために/etc/fstabが利用されます。デスクトップLinuxではUSBメモリなどが自動的にマウントされることもあり、利用者がmountコマンドを直接実行しなくても、内部ではファイルシステムをディレクトリへ接続する仕組みが働いています。
Linuxのマウントは、ファイルシステム、ディスク管理、USBメモリ、外付けHDD、サーバーの追加ストレージなど幅広い場面に関係します。まずは自分の環境でlsblk -fやfindmntを使い、どのデバイスがどのディレクトリへ接続されているか確認すると、マウントの仕組みを実感しながら理解できます。
Linuxのマウントは、ファイルシステムをディレクトリ構造の特定の場所へ接続して利用できるようにする仕組みです。マウントポイント、mount、umount、findmnt、lsblk、df、/etc/fstabの関係を理解すると、Linuxのファイルシステム接続とストレージ管理の基本がわかりやすくなります。