USB自動マウント(fstab/UUID/nofail/automount)を初心者向けにまとめた記事。FAT32/exFAT/NTFS/ext4にも対応。
Ubuntu 22.04 LTSのCUI環境でUSBディスクを起動時に自動マウントする方法です。
fstab + UUID で安全に運用できるよう、確認→設定→検証の順で説明します。
まずはUSBが正しく認識されているか確認します。
lsblk
ファイルシステムやUUIDも確認します。
lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda1 ext4 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /
sdb2 vfat USB32 77C3826D79C07C0D
ここで UUID(例: 77C3826D79C07C0D) を控えます。
/dev/sdb2 は起動順で変わるため、UUID指定が推奨です。
USBをマウントするディレクトリを作成します。
sudo mkdir -p /mnt/usb
/mnt/usb は任意の名前でOKです。
起動時マウントは /etc/fstab に設定します。
sudo nano /etc/fstab
UUID=1A2B-3C4D /mnt/usb vfat defaults,nofail 0 0
UUID=1A2B-3C4D /mnt/usb exfat defaults,nofail 0 0
UUID=1A2B-3C4D /mnt/usb ntfs-3g defaults,nofail 0 0
UUID=1A2B-3C4D /mnt/usb ext4 defaults,nofail 0 0
nofail を付けるとUSB未接続でも起動が止まらない行の末尾0 0はとりあえず0 0を付ける。とすれば大丈夫です。
詳しくはfstabの <dump> <fsck>をご確認ください。NTFSの場合は sudo apt install ntfs-3g を実行してください。
反映後は sudo systemctl daemon-reload を実行すると安全です。
再起動前に必ずチェックします。
sudo mount -a
エラーが出なければOKです。
エラーが出たら再起動しないこと。
reboot
起動後にマウントを確認します。
lsblk
df -h
/mnt/usb が表示されていれば成功です。
ls /mnt/usb
sudo umount /mnt/usb
使用中で外せない場合:
lsof +D /mnt/usb
とくにuid,gid,umaskは良く使います。
UUID=1A2B-3C4D /mnt/usb vfat defaults,nofail,x-systemd.automount,x-systemd.idle-timeout=2h 0 0
UUID=1A2B-3C4D /mnt/usb vfat rw,uid=1000,gid=1000,umask=022,nofail 0 0
1A2B-3C4D/mnt/usbusernameUUID=1A2B-3C4D /mnt/usb vfat defaults,uid=username,gid=username,umask=007,nofail,x-systemd.automount,x-systemd.idle-timeout=2h 0 0
パーミッションumask 022 = 755 007 = 770
0 0 が抜けている、フォーマットの打ち間違いや指定ミス。ntfs-3g が未インストールの可能性sudo systemctl daemon-reloadmount -a でチェック。できなければsystemctl daemon-reloadも実行nofailと0 0 は必ずつける。uid=,gid=,umask