同じデバイスファイルで表示される複数のデバイスを自動的に別のマウントポイントにマウントできますか?

同じデバイスファイルで表示される複数のデバイスを自動的に別のマウントポイントにマウントできますか?

Ubuntuでは、異なるブロックデバイス(外付けハードディスクやフラッシュドライブなど)が同じデバイスファイル(たとえば)で表示されていても、自動的に異なるマウントポイント(および)/dev/sdb1にマウントされます。これはどのように達成されますか? Ubuntuはどのように各デバイスの「名前」を知り、その「名前」を使用してマウントポイントの名前を指定しますか? (これらのプラグインデバイスは含まれていません。)/media/b/mydrive/media/b/myflashdrive/etc/fstab

これをどのようにシミュレートできますか?ブロックデバイスを手動でマウントするときは、次の手順を実行します。

sudo mkdir /media/b/mountingpoint1
sudo mount -t ntfs /dev/sdb1 /media/b/mountingpoint1
sudo umount /media/b/mountingpoint1
sudo rmdir /media/b/mountingpoint1

デバイスを取り外して別のブロックデバイスを接続すると、新しいデバイスは再び同じデバイスファイルとして表示され、上記のコマンド/dev/sdb1はそれを同じマウントポイントにマウントします/media/b/mountingpoint1。デバイスごとに、マウントポイントの名前を異なる方法で指定する方法が必要です。

答え1

同じデバイスファイル(例:/dev/sdb1)として表示されます。

秘密は彼らいいえ同じデバイスファイルとして表示:カーネルが管理する文字と数字を含むデフォルトのデバイスファイルに加えて、ファイル/dev/disk/by-*システムのボリューム名、ハードドライブのベンダー、モデルなどを含むシンボリックリンクもあります。またはデバイスパスです。

/etc/fstabこれらのシンボリックリンクは、内部ではなく/dev/sdb1内部で使用する必要があります。

答え2

(例:/media/b/mydrive/media/b/myflashdrive)。これはどのように達成されますか? Ubuntuはどのように各デバイスの「名前」を知り、その「名前」を使用してマウントポイントの名前を指定しますか? (/etc/fstabこれらのプラグインデバイスは含まれていません。)

リムーバブルデバイスのマウントはUDiskによって実行され、UDiskは常に(Ubuntuから)フォーマットのマウントポイントを作成します/media/<user>/<unique_id>。最後の部分はファイルシステムラベル、またはファイルシステムにラベルがない場合はUUIDです。リムーバブルディスクとドライブは通常事前にフォーマットされており、パーティションにはベンダーからラベルが付けられています(たとえば、KingstonフラッシュドライブにはVFATパーティションラベルがありますKINGSTON)。

を使用してデバイスのタグ(およびUUID)を取得できますlsblk -f

GUIを介さずにデバイスを手動でインストールして同じ効果を得るには、を使用できますudisksctl mount -b /dev/sdb1

(今後)自動マウントを使用する場合は、代わりにfstab常にUUID()を使用する必要があります。UUID=/dev/sdb1

関連情報