パーティション構成をMBRとして取り扱う方法と、GPTとして取り扱う方法があります。
それぞれ、fdiskコマンドやgdiskコマンドでパーティションの作成・操作が可能です。
GPTパーティションをラベルで取り扱う覚書を記録させて頂こうと思います。
GPTパーティションのラベル作成・マウント手順
GPTパーティションの作成
まずはgdiskコマンドでパーティションを作成したいと思います。
シングルボードコンピュータ(NanoPi M4V2)のUSB端子に、HDDを取り付けてみました。ブロックデバイスは/dev/sdaのようです。
sudo gdisk /dev/sda
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-1953525133, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-1953525133, default = 1953525133) or {+-}size{KMGTP}:
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
全領域を/dev/sda1のLinuxパーティションとして確保しました。
さて。問題はラベルです。既定では「Linux filesystem」になっています。
こちらを「usbhdd」に変えたいと思います。
Command (? for help): c
Using 1
Enter name: usbhdd
あとは「w」コマンドで書き込んで終了します。/dev/disk/by-partlabel/を確認すると、たしかに「usbhdd」というラベルで、/dev/sda1にアクセスできることがわかります。
ラベルによるパーティションのマウント
作成したパーティションに、ext4でファイルシステムを作成しました。
sudo /sbin/mkfs.ext4 /dev/disk/by-partlabel/usbhdd
外付けHDDは、/media/USBにマウントしたいと思います。ディレクトリを作成しておきます。
sudo mkdir -p /media/USB
/etc/fstabにエントリを追加しました。
cat <<EOF | sudo tee -a /etc/fstab
/dev/disk/by-partlabel/usbhdd /media/USB ext4 defaults 0 0
EOF
sudo mount /media/USB
問題なさそうです。
/dev/diskを見てみますと。
- by-id
- by-label
- by-partlabel
- by-partuuid
- by-path
- by-uuid
6種類のリンクが用意されています。
今回はラベルを使用しましたが、例えばもっと厳密に特定のパーティションをマウントする場合はby-partuuidを使用する等、別のリンクを使用してマウントすることも可能だと思います。
目的に応じたレベルで使えればよろしいかと思います。