LinuxはどのUSBハードドライブがどのように認識されるのですか?


24

現在、PCにLinux Mintがインストールされており、USBハードドライブパーティションがとしてマウントされてい/homeます。これはうまく機能しています。

2台目のUSBハードドライブをインストールした場合、Linuxが2つを混同し/home、起動時に2台目のハードドライブのパーティションをマウントしようとする可能性はありますか?それは悪いだろう。

Windowsから来て、ドライブ文字が正しく「記憶」されず、あらゆる種類の問題を引き起こすことがよくあります。

どのようにLinuxは、実際にハードドライブがあるUSB知っている:私は、メインの質問があると思います/dev/sdbし、これは/media/misha/my_2nd_drive


USBハードドライブパーティションを次のようにマウントし/homeます。
AL

Linux Mintのインストール中にやった。その時点では非常に簡単です。SSDはsdaとして表示され、USBハードドライブはsdbとして表示されました。私は置く/swap上のSDA、および/home上のSDB。しかし、私は既存のインストールのマウントを変更する方法を知りません/home、そのためにはあまりにも新しいです!
misha256

答えはあなたがすべきことを言うが、私は彼らが直接sd[a-z]検出順序で名前が付けられていると直接言うとは思わない。名前を同じに保つことはまったく試みられていません。通常、決定論的です(同じHW上の同じカーネルは同じ名前を付けます)が、SATAコントローラードライバーが更新された新しいカーネルは、逆の順序でSATAドライブをスキャンする可能性があります。ブロックデバイスの名前を変更しようとする代わりに(nameif通常はudevルールを使用してイーサネットデバイス名を使用するか、またはw / eを使用して)、UUID、ラベル、およびID(ドライブシリアル番号による)名が存在します。
ピーターコーデス

私は、再起動は通常の異なる順序につながるSASディスクを持つサーバーを見てきましたsd[a-z]:ディスクのプロービングを同時に行う(並列)とどのようなディスクが最初に検出されることを起こるとなっているsdaなど、
wurtel

回答:


26

通常、USBポート(バス/デバイス)の場所によって、検出される順序が決まります。ただし、これに依存しないでください。

各ファイルシステムには、普遍的に一意の識別子を表すUUIDがあります(FATNTFSは少し異なるスキームを使用しますが、UUIDとして使用できる識別子もあります)。(Linux)UUIDに依存して一意にすることができます。UUIDの詳細については、このウィキペディアの記事を参照してください

ディスクUUIDをマウント引数として使用します。UUIDを確認するには、次を実行します。

$ sudo blkid /dev/sdb1

blkidデバイスを読み取る必要があるため、ルート権限が必要sudoです。したがって、すでにルートになっている場合sudoは不要です。)

次に、/etc/fstabこのUUIDを次のように使用できます。

UUID=7e839ad8-78c5-471f-9bba-802eb0edfea5 /home ext4 defaults 0 2

これにより、/ homeにマウントするディスクについて混乱することはありません。

手動マウントの場合は、次を使用できます /dev/disk/by-uuid/.....


1
素晴らしい、私はfstab今までも知りませんでした(Linuxが初めてです)。私は自分のfstabファイルを見ましたが、すべてはすでにUUIDで識別されています。Linux Mintインストーラーはうまくいきました。
misha256

この答えを改善するには、UUIDとは何か、なぜUUIDがユニークなのかを簡単に説明して、信頼できる識別子にします。
AL

11

fstab参照がとしてパーティション化されている場合/dev/sdx、新しいドライブを追加するとシステムが混乱する可能性があります。ただし、最近の慣例では、パーティションUUIDを使用してパーティションを識別しています。

システムがudevインストールされている場合(2.6+ Linuxカーネルの場合が必要)、で永続的な命名を使用できますfstab。デフォルトでは、パーティションはUUIDを介して識別されます。

/dev/disk/by-uuid/31f8eb0d-612b-4805-835e-0e6d8b8c5591

ただし「home」のような意味のあるパーティションラベルを作成し、次のようにパーティションを参照できます。

/dev/disk/by-label/home

これらのIDは、の代替として使用することができます/dev/sdxの中でfstab


私もあなたの答えを正解にしたいです。ウルテルは以前に触れました。とにかくありがとう、私の+1を得る。
misha256

@ misha256皮肉は(からの出力があるため、私も私のシステムでUUIDを使用しないことであるdfmount読めなくなります)。内蔵HDDは、最初に検出される可能性が非常に高く、毎回同じ順序で検出されます。
ドミトリーグリゴリエフ

1
ラベルを使用する場合LABEL=home、fstabで使用できます。私t-homeは、テスラと呼ばれる私のマシンのホームディレクトリのようなラベルを使用するのが好きです。したがって、ディスクを別のシステムに固定すると、同じラベルを持つ2つのファイルシステムは存在しません。これが、LinuxインストーラーがランダムなUUIDを生成してfstabで使用する理由です。ほとんどのシステムにFSの同じラベルを与えるデフォルトのラベルを使用するのではありません。@ misha256、FSにラベルを付ける場合は、このことを考えてください。
ピーターコーデス

1
@PeterCordes私は実際にラベスを使用していますが、これらのラベルを一意にするための命名スキームを持っています。
ドミトリーグリゴリエフ

1
UUIDは素晴らしく、回答に記載されているとおりに機能します。しかし、それらは人間に優しいものではありません。(どこでも)パーティションを作成するときはいつでも、私にとって意味のある人間が読み取れるユニークなラベルを付けます。これは、複数のドライブを扱うバックアップスクリプトを作成する場合に特に役立ちます。偶然に送信元と送信先を逆にしたくないのです!また、パーティションを再フォーマットするたびに新しいUUIDを取得し、そのUUIDを使用したものを編集する必要がありますが、以前と同じラベルを使用でき、何も変更する必要はありません。
ジョー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.