追加ドライブの自動マウント
このガイドでは、systemd マウントファイルや /etc/ にある fstab ファイルを使って、ブート時に追加のドライブをマウントする基本的な方法を説明します。パーティションや UUID の調べ方、各オプションの意味、さらに詳しく知りたい場合の参考資料についても紹介しています。
- ルートまたは sudo 権限
(安全&初心者向け) systemd マウントファイルでドライブをマウントする
Section titled “(安全&初心者向け) systemd マウントファイルでドライブをマウントする”fstab にはないメリットとして、systemd ならマウントファイルに不具合があっても、起動不能になりません。fstab では一歩間違えると、システムが起動しなくなるおそれがあります。
1. パーティション UUID の確認
Section titled “1. パーティション UUID の確認”lsblk -fNAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTSzram0 [SWAP]nvme0n1├─nvme0n1p1 vfat FAT32 E04D-9F05├─nvme0n1p2├─nvme0n1p3 ntfs 08A24E90A24E81E4 715.4G 50%├─nvme0n1p4 vfat FAT32 E09C-D4DA 628.1M 39% /boot├─nvme0n1p5 ext4 1.0 187a9f06-9411-48d9-b941-f03c2e605812 203.6G 47% /└─nvme0n1p6 ntfsnvme1n1└─nvme1n1p1 ext4 4e55896f-3f1f-4bc5-aa8a-fec099689cd9 931.5G 0%今回の例では、マウントしたいのは ext4 で新しくフォーマットされた 1TB のドライブで、まだなにもデータが入っていない状態であるとします。このとき出力内容から、マウントするパーティションは nvme1n1p1、UUID は 4e55896f-3f1f-4bc5-aa8a-fec099689cd9 であると判断できます。
2. パーティションを特定する
Section titled “2. パーティションを特定する”通常は lsblk -f の出力を見ればマウントするための情報は十分ですが、正しいパーティションかどうか確信が持てない場合は、以下のコマンドを実行してください。
sudo fdisk -lデバイス 開始位置 終了位置 セクタ サイズ タイプ/dev/nvme0n1p1 2048 206847 204800 100M EFI システム/dev/nvme0n1p2 206848 239615 32768 16M Microsoft 予約領域/dev/nvme0n1p3 239616 2997384182 2997144567 1.4T Microsoft 基本データ/dev/nvme0n1p4 2997385216 2999482367 2097152 1G EFI システム/dev/nvme0n1p5 2999482368 3905454079 905971712 432G Linux root (x86-64)/dev/nvme0n1p6 3905454080 3907026943 1572864 768M Windows リカバリ環境/dev/nvme1n1p1 2048 1953523711 1953521664 931.5G Linux ファイルシステム今回の例ではすでに UUID を把握していますが、fdisk -l を使うとパーティションの正確なサイズ (931.5G) と種類 (Linux ファイルシステム) が表示されるため、より確実に把握することができます。
これにより、マウントしたいパーティションが先ほど確認した、UUID が 08A24E90A24E81E4 の nvme0n1p3 であることが正確にわかりました。本来はここまでする必要はありませんが、念の為確認してミスを防ぐことができます。
正しいパーティションを特定できたら UUID をコピーしてください。ターミナルでのコピーは通常 Ctrl+Shift+C で行うことができます。
3. systemd マウントファイルを作成する
Section titled “3. systemd マウントファイルを作成する”このドライブをゲーム目的に使用したいとします。systemd マウントファイルの名前がマウントパスによって決まるため、マウントする場所はホームディレクトリ内がおすすめです。お好みの場所に自由に設定することができますが、今回はわかりやすいよう /home/user を例とします (user を Linux のユーザーネームに置き換えてください)。このドライブはゲーム用なので、ユーザーホームディレクトリ内のゲームフォルダ /home/user/games にマウントしたいとします。
この場合、systemd マウントファイルの名前は home-$USER-games.mount (スラッシュ / をハイフン - に置き換えてください) となります。配置先は /etc/systemd/system です。
お好きなテキストエディタを使用してください。ここでは micro を例として使用します。
micro /etc/systemd/system/home-$USER-games.mount以下のテンプレートを貼り付けてください。
[Unit]Description=
[Mount]What=Where=Type=Options=
[Install]WantedBy=multi-user.target以下はそれぞれの項目の説明です。
説明を自由に書いて、わかりやすくしておくことができます。
先ほどコピーした UUID を指定してください。今回の例では UUID=4e55896f-3f1f-4bc5-aa8a-fec099689cd9 になります。
マウント場所を指定する部分です。存在しないフォルダが指定された場合は自動で作成されます。今回の例では /home/user/gamesになります。ホームフォルダ内でマウントする場合は、“user” をユーザーネームに置き換えてください。
ファイルシステムのタイプを指定する部分です。今回は ext4 です。
マウントオプションを指定する部分です。必要に応じたオプションを記入してください。今回の例では defaults,exec,rw,noatime になります。スペースの有無は影響しません。
今回の例にしたがって記入すると、マウントファイルは以下の通りです。
[Unit]Description=ゲーム用ドライブ (/home/user/games)
[Mount]What=UUID=4e55896f-3f1f-4bc5-aa8a-fec099689cd9Where=/home/user/gamesType=ext4Options=defaults,exec,rw,noatime
[Install]WantedBy=multi-user.target4. 仕上げ
Section titled “4. 仕上げ”エントリを作成したドライブを今すぐマウントするには、以下のコマンドを実行してください。
sudo systemctl daemon-reloadsudo systemctl enable --now home-$USER-games.mountこれで、マウントする場所としてえらんだフォルダにマウントされているはずです。systemctl status home-$USER-games.mount でマウントの状態を確認することができます。
● home-user-games.mount - ゲーム用ドライブ (/home/user/games) Loaded: loaded (/proc/self/mountinfo; enabled; preset: disabled) Active: active (mounted) since Sat 2026-05-02 13:02:31 CDT; 23h ago Invocation: e52ef8fe3d754c64a3825bc1ee89e7da Where: /home/user/games What: /dev/nvme1n1p1 Tasks: 0 (limit: 74118) Memory: 316K (peak: 3.9M) CPU: 5ms CGroup: /system.slice/home-user-games.mount
May 02 13:02:31 cachyos systemd[1]: Mounting ゲーム用ドライブ (/home/user/games)...May 02 13:02:31 cachyos systemd[1]: Mounted ゲーム用ドライブ (/home/user/games).- パーティションの UUID を確認
lsblk -f- マウントファイルを作成
micro /etc/systemd/system/mnt-foo.mountmnt-foo の部分にマウントする場所の完全パスを、/ を - に置き換えて記入してください。
- マウントファイルを書く
[Unit]Description=ドライブ
[Mount]What=UUID=<パーティション UUID>Where=/mnt/fooType=somefsOptions=defaults
[Install]WantedBy=multi-user.target<パーティション UUID>, /mnt/foo, somefs をそれぞれ UUID、ディレクトリ名、ファイルシステム (例: ext4) に置き換えてください。NAS には _netdev、重要でないドライブには nofail など、必要に応じてオプションを追加してください。
- デーモンをリロード
sudo systemctl daemon-reload- ドライブをマウント&起動時に自動でマウントするように設定
sudo systemctl enable --now mnt-foo.mount(上級者向け) /etc/fstab にエントリを追加する
Section titled “(上級者向け) /etc/fstab にエントリを追加する”1. パーティション UUID の確認
Section titled “1. パーティション UUID の確認”lsblk -fNAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTSzram0 [SWAP]nvme0n1├─nvme0n1p1 vfat FAT32 E04D-9F05├─nvme0n1p2├─nvme0n1p3 ntfs 08A24E90A24E81E4 715.4G 50%├─nvme0n1p4 vfat FAT32 E09C-D4DA 628.1M 39% /boot├─nvme0n1p5 ext4 1.0 187a9f06-9411-48d9-b941-f03c2e605812 203.6G 47% /└─nvme0n1p6 ntfs今回の例では、マウントしたいのは Windows パーティション (ntfs 形式)で、空き容量がおよそ半分ある状態だとします。このとき出力内容から、マウントするパーティションは nvme0n1p3、UUID は 08A24E90A24E81E4、ファイルシステムは ntfs であると判断できます。
2. パーティションを特定する
Section titled “2. パーティションを特定する”通常は lsblk -f の出力を見れば /etc/fstab にマウントするための情報は十分ですが、正しいパーティションかどうか確信が持てない場合は、以下のコマンドを実行してください。
sudo fdisk -lデバイス 開始位置 終了位置 セクタ サイズ タイプ/dev/nvme0n1p1 2048 206847 204800 100M EFI システム/dev/nvme0n1p2 206848 239615 32768 16M Microsoft 予約領域/dev/nvme0n1p3 239616 2997384182 2997144567 1.4T Microsoft 基本データ/dev/nvme0n1p4 2997385216 2999482367 2097152 1G EFI システム/dev/nvme0n1p5 2999482368 3905454079 905971712 432G Linux root (x86-64)/dev/nvme0n1p6 3905454080 3907026943 1572864 768M Windows リカバリ環境今回の例ではすでに UUID を把握していますが、fdisk -l を使うとパーティションの正確なサイズ (1.4T) と種類 (Microsoft 基本データ) が表示されるため、より確実に把握することができます。
これにより、マウントしたいパーティションが先ほど確認した、UUID が 08A24E90A24E81E4 の nvme0n1p3 であることが正確にわかりました。本来はここまでする必要はありませんが、念の為確認してミスを防ぐことができます。
正しいパーティションを特定できたら UUID をコピーしてください。ターミナルでのコピーは通常 Ctrl+Shift+C で行うことができます。
3. /etc/fstab にエントリを追加する
Section titled “3. /etc/fstab にエントリを追加する”UUID を取得できたので、fstab ファイルを開きましょう。
この例では nano を使いますが、お好みのテキストエディターを使ってもかまいません。fstab ファイルを編集するには、ルートとして開く必要があります。
sudo nano /etc/fstab矢印キーでファイルの末尾に移動し、空行に新しいエントリを追加してください。
UUID=08A24E90A24E81E4 /media/windows ntfs3 defaults,nofail,uid=1000,gid=1000,rw,user,exec,umask=000 0 0各項目の説明は以下のとおりです。
-
UUID=08A24E90A24E81E4はマウントしたいファイルシステムを UUID で指定しています。ファイルシステムを識別する方法はほかにもありますが、UUID が最も安全です。その他の方法はこちらをご覧ください。 -
/media/windowsはドライブのマウントポイントです。Linux ファイルシステム階層規格では/media/がリムーバブルドライブのマウント先として適切とされています。windowsはマウント先のディレクトリ名です。マウントしたいドライブごとに専用のディレクトリが必要です。 -
ntfs3は使用するファイルシステムの種類です。この例では明示的に ntfs3 カーネルドライバを使用しています。ほかにはext4,xfsなどがあります。autoに置き換えると mount コマンドが自動で判断するようになります。 -
defaults,nofail,uid=1000,gid=1000,rw,user,exec,umask=000はマウントオプションです。-
defaults:rw, suid, dev, exec, auto, nouser, asyncを含む標準的なオプションセットです。 -
nofail: このマウントが失敗してもブートを続行します。 -
uid=1000とgid=1000: マウントされたファイルのユーザーとグループの所有権を ID 1000 に設定します。 -
rw: ファイルシステムを読み書き可能としてマウントします。 -
user: ルート以外のユーザーがファイルシステムをマウントできるようにします。 -
exec: マウントされたファイルシステム上のバイナリの実行を許可します。 -
umask=000: 全ユーザーに読み取り、書き込み、実行権限を付与するファイルパーミッションマスクを設定します。 -
最初の 0: dump は現代のシステムでは通常廃止されています。0 のままにしても問題ありません。詳細はこちらをご覧ください。 -
2番目の 0: ブート時のファイルシステムチェックの順序を設定します。ルートパーティションの場合は 1 ですが、btrfs の場合は 0 にしてください。fstab 内のそのほかのファイルシステムは 0 (無効) または 2 に設定してください。詳細はこちらをご覧ください。
-
各オプションの詳細は fstab のマニュアルページと mount のマニュアルページをご覧ください。
ファイルシステムの種類以降のオプションはすべて、デフォルト値から変更しない場合は省略できます。つまり、
UUID=<パーティション UUID> /media/foo somefs
と
UUID=<パーティション UUID> /media/foo somefs defaults 0 0
の2つは同じ意味を表します。somefs の後に何も指定しない場合、自動的に somefs defaults 0 0 として扱われます。
4. 仕上げ
Section titled “4. 仕上げ”エントリを作成したドライブを今すぐマウントするには、以下の2つのコマンドを実行してください。
sudo systemctl daemon-reloadsudo mount -aドライブが /media/windows に表示され、再起動後も自動的にマウントされるようになります。
ls /media/windows# '$Recycle.Bin' Linux SteamLibrary# AMD Modding swapfile.sys# Apps pagefile.sys 'System Volume Information'# bootTel.dat PerfLogs Users# Development ProgramData WiiU# 'Documents and Settings' 'Program Files' Windows# DumpStack.log.tmp 'Program Files (x86)' XboxGames# FanControl Recovery xiv_modding# Games RetroArch-Win64# Intel 'Ship of Harkinian'ホームディレクトリに新しくマウントしたドライブへのリンクを作成したい場合は、以下を実行してください。
ln -s /media/windows ~/Windows以下のコマンドで作成できたか確認できます。
ls ~/Windows# '$Recycle.Bin' Linux SteamLibrary# AMD Modding swapfile.sys# Apps pagefile.sys 'System Volume Information'# bootTel.dat PerfLogs Users# Development ProgramData WiiU#'Documents and Settings' 'Program Files' Windows# DumpStack.log.tmp 'Program Files (x86)' XboxGames# FanControl Recovery xiv_modding# Games RetroArch-Win64# Intel 'Ship of Harkinian'- パーティションの UUID の確認
lsblk -f/etc/fstabを開く
sudo nano /etc/fstab- ファイルの末尾にエントリを追加する
UUID=<パーティション UUID> /media/foo somefs defaults 0 0<パーティション UUID>, foo, somefs をそれぞれの UUID、ディレクトリ名、ファイルシステム (例: ext4) に置き換えてください。NAS には _netdev、重要でないドライブには nofail など、必要に応じてオプションを追加してください。
- デーモンをリロードする
sudo systemctl daemon-reload- ドライブをマウントする
sudo mount -aドライブがマウントされ、以降のブート時にも自動的にマウントされます。