作曲・指導・C言語・Linux

金沢音楽制作

金沢音楽制作では、楽曲・楽譜の制作と、作曲や写譜などレッスンを行っています。

パーティションをマウントする

Linuxのパーティションをマウントする方法のメモです。追加でストレージを追加したり、OSと別にデータ用のパーティションを用意した場合などに必要となります。たとえば、データ用のパーティションを作成し、それぞれのディストリビューターからマウントします。

環境:LMDE 4

マウントするパーティションを調べる

自分のマシンにどのようなパーティションがあるのかを、ブロックデバイスの一覧を表示するlsblkコマンドで確認します。

パーティションを操作するためのデバイスファイルは、/devディレクトリ配下に自動的に作成されます。たとえば、sda1ならば、/dev/sda1のように、パーティション名の前に/devを付けるとパスになります。

$ lsblk
NAME   MAJ:MIN  RM   SIZE RO TYPE MOUNTPOINT
sda      8:0     0 238.5G  0 disk 
|--sda1  8:1     0   512M  0 part /boot/efi
|--sda2  8:2     0    24G  0 part 
|--sda3  8:3     0    24G  0 part /
`--sda4  8:4     0   190G  0 part

第1フィールドNAMEを見ると、sdaから始まるパーティションが4つあることが分かります。第7フィールドMOUNTPOINTを見ると、/dev/sda1/boot/efiに、sda3/に、それぞれマウントされていることが分かります。

今回マウントするデータ用のパーティションは、sda4です。gdisk等のパーティション作成時に把握していると思います。なお、デバイス名はマシンによって異なります。今回の例だとsdaとありますが、次の例で示すように、別のマシンでは全く違う名前になる場合があります。

$ lsblk
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk  0    179:0    0 58.2G  0 disk 
|--mmcblk0p1 179:1    0  512M  0 part /boot/efi
`--mmcblk0p2 179:2    0 57.8G  0 part /
mmcblk0boot0 179:256  0    4M  1 disk 
mmcblk0boot1 179:512  0    4M  1 disk

パーティションをマウントする

パーティションをマウントするためのディレクトリを作成します。場所はどこでもいいですが、特にこだわりがないのであれば、/mnt配下 にします。今回、ディレクトリ名をdataと命名しましたが、好みで大丈夫です。

$ mkdir /mnt/data

これでマウントする準備ができたので、mountコマンドでマウントしてみます。

$ sudo mount /dev/sda4 /mnt/data

lsblkで確認すると、sda4/mnt/dataにマウントされていることが分かります。

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 238.5G  0 disk 
|--sda1  8:1    0   512M  0 part /boot/efi
|--sda2  8:2    0    24G  0 part 
|--sda3  8:3    0    24G  0 part /
`--sda4  8:4    0   190G  0 part /mnt/data

ちなみに筆者は、dataパーティションにDownloadsDocumentsといったXDGユーザーディレクトリと同名のディレクトリを作成しています。そして、これらのシンボリックリンクを$HOMEに設置しています。これなら設定を共有しなくても、複数のOSからXDGユーザーディレトクトリが共有できます。一応、$HOMEの機能をもたせたパーティションを作ることもできますが、OS間で重要な設定を不本意に共有してしまうかもしれないので、避けた方が懸命だと思います。

起動時に自動でマウントさせる

パーティションを毎回マウントするのは大変です。そこで、OSの起動時に自動でマウントさせたいと思います。

Linuxでマウントの情報は、/etc/fstabに記述します。fstabについては詳しくないので、詳細はArch LinuxのWikiに「fstab」が立項されていますので、調べてみてください。

fstabには、コメントアウトされた# /dev/sda4 /mnt/data以降を記述します。

$ sudo vi /etc/fstab
# UNCONFIGURED FSTAB FOR BASE SYSTEM
proc /proc proc defaults 0 0
# /dev/sda1
UUID=28AC-1951 /boot/efi vfat defaults 0 0
# /dev/sda3
UUID=5753ca61-60d8-47be-ac8b-5f8b7fe555b0 / ext4 rw,errors=remount-ro 0 1
# /dev/sda4 /mnt/data
UUID=53123f03-14d7-4f8b-b37b-e67c107c94ca /mnt/data ext4 rw,relatime,data=ordered 0 2

fstabは、パーティションのUUID、マウント先のパス、ファイルシステムの形式、オプション、ダンプ、パスの順で記述します。区切り文字は、スペースかタブで行います。

パーティションのUUIDと、ファイルシステムは、lsblk--fs-f)オプションをつけると確認できます。今回のsda4なら、UUID53123f03-14d7-4f8b-b37b-e67c107c94ca、ファイルシステムがext4です。そして、マウント先が/mnt/dataです。

$ lsblk --fs
NAME FSTYPE LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINT
sda                                                                     
|--sda1
     vfat         28AC-1951                               451M    12% /boot/efi
|--sda2
     ext4   arch  9c6a9d88-116b-429c-af70-efa2acb2c558                
|--sda3
     ext4   mint  5753ca61-60d8-47be-ac8b-5f8b7fe555b0   15.3G    30% /
`--sda4
     ext4   data  53123f03-14d7-4f8b-b37b-e67c107c94ca  174.1G     1% /mnt/data

残りの、オプション、ダンプ、パスを見てみます。

# /dev/sda4 /mnt/data
UUID=53123f03-14d7-4f8b-b37b-e67c107c94ca /mnt/data ext4 rw,relatime,data=ordered 0 2

オプションには、3つの設定、rw,relatime,data=orderedがされています。まず、rwは、Read Writeの略で読み書き可能な状態でマウントされていることを表します。つぎにrelatimeは、パフォーマンスを向上させるために、変更日時に合わせてinodeアクセス日時を更新するものです。そして、data=orderedは、metaデータとデータの中身の書き出し順を保証します(ext4の機能?)。なお、defaultに設定している人もみかける。

ダンプには、01を記述します。dumpユーティリティによって、バックアップを作成する場合は1に、しない場合は0に設定します。dumpユーティリティを利用していなかったり、分からない場合は0に設定すれば大丈夫です。

パスには、2を設定します。これは、ファイルシステムをチェックする優先度を決めるもので、120の3種類があります。1をrootファイルシステムに、2をその他のファイルシステムに設定します。0番はファイルシステムをチェックをしません。たとえば、/dev/sda1は、ブートローダーでファイルシステムをチェックする必要がないので、0に設定されています。

パーティションにラベルをつける

パーティションの役割を明示的にするために、ラベルをつけることができます。パーティションのフォーマット時に一緒につけてしまうことが多いと思います。

$ mkfs.ext4 /dev/sda3 -L mint

しかし、フォーマット時にラベルをつけても、OSのインストール時に再フォーマットされてしまい、ラベルが消えてしまうことがあります。だからといって、もう一度フォーマットする訳にはいかないので、e2labelコマンドを使ってラベルをつけます。

$ e2label /dev/sda3 mint

更新情報

  • 作成日:2020-04-08
  • 更新日:2022-05-02