Linuxの仕組みとの関係
Linuxではストレージはそのままは使用できず、マウントして初めて使える。マウントによって、異なるストレージも1つのディレクトリ構造として扱える。
すべてのストレージはディレクトリツリーに統合される。
/mediaは自動マウント用
/mntは手動マウント用(管理者向け)
ディレクトリの概要
/media
/mediaは、USBメモリや外付けHDDなどのリムーバブルメディアを(主にデスクトップ環境で)自動マウントされる場所。ユーザがデバイス接続したときに使われる。
- USBメモリやSDカードのマウント先
- 外付けのストレージの一時的な接続場所
- GUI環境での自動マウント先ディレクトリ
※マウントとは、ストレージの中身をLinuxのディレクトリとしてアクセスできるようにすること。(デバイスをフォルダとして扱えるようにする仕組み)
/mnt
/mntは、一時的にストレージを手動でマウントするためのディレクトリ。主に管理者が検証や作業目的で使う「作業用のマウントポイント」。
- 手動でディスクやISOをマウントする場所
- 一時的な検証/作業用のマウントポイント
- 自動マウント(/media)とは別の管理者用エリア
※ISOとはCD/DVDなどの光ディスクの中身を、構造ごと1つのファイルにまとめたディスクイメージ
よくある中身
/media
/media/ユーザー名/USB名USBを挿すと自動で作られるディレクトリ。中にファイルが見える/media/ユーザー名/SDカード名SDカードも同様に自動マウントされる/media/ユーザー名/外付けHDD名大容量ストレージもここに接続される/media/cdromCD/DVDドライブ用のマウントポイント/media/floppyフロッピーディスク(古..)
/mnt
基本的に固定の中身はなく、用途に応じて自由に作る。
/mnt/backupバックアップ用ディスクをマウントして使う/mnt/test新しいディスクや設定の検証用/mnt/isoISOファイルをマウントして中身を確認する/mnt/data一時的に外部ストレージを接続
検証してみる
/mnt
%dd if=/dev/zero of=sample.img bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.00820565 s, 1.3 GB/s
ddバイト単位でそのままコピーするコマンドif=/dev/zero入力:0を出し続ける特殊デバイスof=sample.img出力:sample.imgに書くbs=1M一回に1MB書くcount=1010回書く
(つまり中身が全部0の10MBのファイルができる)
%mkfs.ext4 sample.img
mke2fs 1.47.0 (5-Feb-2023)
Discarding device blocks: done
Creating filesystem with 2560 4k blocks and 2560 inodes
Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
mkfs.ext4ext4のシステム構造を書き込む
%sudo mount -o loop sample.img ~/mnt_test/
mountファイルシステムをディレクトリに接続
マウント対象:sample.img、マウントポイント:~/mnt_test
-o loopファイルをデバイスとして扱うためのオプション
流れ:
sample.imgを読む ↓
中にあるext4ファイルシステムを認識
↓
loopデバイスに割り当て(カーネルが仮想デバイスを作る)
↓
/mnt_test に接続
※GUI上にもmountされたmnt_testが表示された

%sudo mount -o loop sample.img ~/mnt_test/
%ls ~/mnt_test/
lost+found
%sudo touch ~/mnt_test/hello.txt
%ls ~/mnt_test/
hello.txt lost+found
※~/mnt_testに書き込んでいるように見えるが、実際にはsample.imgの中にデータが保存されている。
%sudo umount ~/mnt_test
%ls ~/mnt_test/
(何もない)
アンマウントすると仮想デバイスが切断され、~/mnt_testの中身が見えなくなる
%sudo mount -o loop sample.img ~/mnt_test/
%ls ~/mnt_test/
hello.txt lost+found
再マウントするとさっき作ったhello.txtが見える
/media
%sudo mkdir -p /media/$USER/testusb
%sudo mount -o loop sample.img /media/$USER/testusb
%ls /media/$USER/testusb
hello.txt lost+found
/media/$USER/testusbディレクトリを作成し、さっき作ったsample.imgをマウント
中身を確認すると、先程作成したhello.txtが入っている。
%sudo umount /media/$USER/testusb
%ls /media/$USER/testusb
アンマウント後にもう一度media/$USER/testusbディレクトリを確認すると中身が見えなくなる。