KazuProg's notes

技術メモや備忘録などを自由気ままに書き連ねています

Linuxで、外部ディスクをfstabで自動マウント

作成日: ・ 更新日:

fstabを使うことで、Linuxの起動時にファイルシステムを自動的にマウントすることができるので、手順をまとめた

マウントしたいデバイスの確認

PCに外付けHDDやUSBメモリ等接続した状態で、以下のコマンドを実行

$ sudo fdisk -l
...(省略)

Disk /dev/sda: 931.51 GiB, 1000204885504 bytes, 1953525167 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

出力されたディスクサイズ等の情報から、デバイス名( /dev/sda 等)を判別する

次に、以下のコマンドでマウントしたい機器のUUIDとTYPEを確認する。

$ sudo blkid
/dev/mmcblk0p1: LABEL_FATBOOT="bootfs" LABEL="bootfs" UUID="44FC-6CF2" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="ec9bd908-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="93c89e92-8f2e-4522-ad32-68faed883d2f" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="ec9bd908-02"
/dev/sda: UUID="e93ced28-a092-48d6-ad7a-544f8d04aedc" BLOCK_SIZE="4096" TYPE="ext4"

今回私は、 dev/sda をマウントしたいので、UUIDは e93ced28-a092-48d6-ad7a-544f8d04aedc 、TYPEは ext4 になる

もし、ファイルシステム(TYPE)を別のものにしたい場合は、フォーマットの作業が必要になる。

マウントポイントの作成

マウント先のディレクトリを作成する。

一般的には /mnt/ 配下に分かりやすい名前のディレクトリを作成する。

今回私は /mnt/external/ をマウントポイントにする

$ sudo mkdir /mnt/external/

fstabの編集

マウントしたい機器のUUIDがわかったら、 /etc/fstab に、以下の内容を追記する

UUID=[先ほど調べたUUID] [マウントポイント] [先ほど調べたTYPE] defaults 0 0

例)

UUID=e93ced28-a092-48d6-ad7a-544f8d04aedc /mnt/external ext4 defaults 0 0

defaults の部分は、必要に応じて読み取り専用などの指定もできる。

一つ目の 0 は、ファイルシステムをdumpする必要があるか否か

二つ目の 0 は、fsckチェック(ディスクのチェック)を行うかどうか

設定の反映

再起動させれば設定を反映できるが、以下のコマンドで即時に反映させることができる。

$ systemctl daemon-reload
$ sudo mount -a

さいごに

ファイルシステムの種類やメリットデメリット、フォーマット方法なんかも調べたい(TODO)

fstabのオプションや数字部分についてもう少し理解したいなと思った(TODO)

参考