/ dev / sdaと/ dev / sda1の違い


16

/ dev / sdaがrawデバイスであり、/ dev / sda1がパーティションまたは仮想デバイスであることを知っています。

しかし、なぜsda#が時々現れるのか、特定のシステムでのみ現れるのかについて、少し混乱しています。これが発生する原因は何ですか?おそらく、sda#ドライブが表示されないのは、パーティションが作成されていないときですか?それとも、ハードウェア間で同じではないでしょうか?

そして、なぜ両方をマウントできるのですか?(時々)パーティションはマウント可能であるべきではありませんか?

提供できるリソースや色は大歓迎です。前もって感謝します。


1
「そして、なぜ両方をマウントできるのですか?」[要出典]
イグナシオバスケス-エイブラムス

1
@ IgnacioVazquez-Abrams:引用は本当にありません。私は両方をDebianのボックスにマウントし、両方に書き込みと読み取りができました。理由がわかりません。実際にはハードウェアやシステム管理者ではないため、説明を求めていました。助けてくれたみんなに再び感謝します!
おとり

回答:


19

最新のシステムでは、パーティションが実際に存在する場合にのみパーティションデバイスが表示されます。

MBRパーティションテーブルがあるディスクでは、パーティション番号1〜4は、「プライマリ」パーティションと呼ばれるパーティションテーブルの4つのスロットに対応しています。連続して入力する必要はないため、たとえば、sda2を持ち、sda1を持たないようにすることができます。パーティション番号5以上は、拡張パーティションの「論理ドライブ」に対応し、それらには常に連続した番号が付けられるため、sda5がなければsda6を作成することはできません。

GPTパーティションテーブルがあるディスクでは、さらに多く(通常は最大128)のパーティションが存在する可能性があり、すべてが「プライマリ」です。そのため、たとえば、sda9のみのパーティションを持つディスクを使用できます。

ディスクにパーティションテーブルがない場合、もちろんパーティションデバイスはありません。

古いシステム(udevによって管理されるシステムではなく静的/ devを使用するシステム)には、パーティションが実際に存在するかどうかに関係なく、通常、可能なすべてのパーティション番号のデバイスノードがあります。(もちろん、存在しないパーティションのデバイスファイルを開こうとすると失敗します。)


パーティショニングをやめて、ファイルシステムを直接ディスクに置くことができます。ブロックデバイスをマウントすると、ファイルシステムドライバーは通常、デバイスの先頭から所定のオフセットでスーパーブロックを検索します。パーティションの先頭はディスク自体の先頭ではないため、パーティション内のファイルシステムのスーパーブロックは「ディスク全体」デバイスで作成されたファイルシステムのスーパーブロックとは異なるディスク上の場所にあります。

そのため、ディスクにファイルシステムだけがあり、パーティションを作成し、パーティションにファイルシステムを作成した場合、古いスーパーブロックはまだ存在する可能性があります。たとえば、最初のパーティションの開始前の小さなギャップに。そのため、ディスクはrawディスクデバイスとパーティションデバイスの両方にファイルシステムを保持しているように見えます。これは、どちらをマウントしようとしても、ファイルシステムドライバーがスーパーブロックを探すと1つを見つけるからです。

ただし、実際には両方のファイルシステムをマウントして使用することは安全ではありません。ディスク上で重複しているためです。一方は、もう一方が空き領域と考えている重要な簿記データを持っているかもしれません。だからこそ、ブロックデバイスの先頭をゼロにする、不要なスーパーブロックを削除する、RAWディスクをパーティション化されたディスクに変更する、またはその逆、またはパーティションで使用されるファイルシステムのタイプを変更するなどの方法が良いでしょう。


6

私の知る限りでは、カーネルがscsiのような(sataを含む)バス上で新しいブロックデバイスを検出すると、/devディスク全体にノードを追加するだけでなく、たとえば/dev/sdaパーティションテーブルがあるかどうかを確認しようとします。読み取り可能なパーティションがある場合、物理パーティションか論理パーティションかに応じて番号が付けられたパーティションノードが作成されます(論理パーティションは#5から始まると思います)。

ディスクノードが表示されているがパーティションノードがない場合、これはパーティションが検出されていないことを意味します。物理デバイスをマウントできるインスタンスは、パーティションテーブルなしで物理デバイスに直接書き込まれたファイルシステムがあることを意味するため、私は知りません。単一のパリティしか存在しないイベントでmountは、mount /dev/sdaコマンドを意味として解釈するかもしれ/dev/sda1ませんが、私はこれをテストしたことがありません。


2
あなたはできるパーティションテーブルなしで、ディスク自体に直接ファイルシステムを持っています。(取り外し可能なデバイスは、フロッピーディスクは、典型的には分配されなかったので、方法は、時には、「スーパーフロッピー」と呼ばれるように構成)
Wyzard --stopハニングMonica--

素晴らしい点。私はラップトップにUSBドライブを貼り付けてマウントできるという薄暗い記憶を持っていました/dev/sdcが、それを構成しているかどうかはわかりませんでした。
11:12

3

/ dev / sda-​​rawデバイス

/ dev / sda1-パーティションのような「仮想」デバイス。

興味深い違いの1つは、MBRデータがデバイス上のパーティションの外部にあるため、デバイスにパーティションがある場合(MBRデータまたはsthも同様)、どの仮想デバイスからもMBRデータを読み取れないことです。MBRは、デバイスの最初のセクター(CHS:0 0 1)にあります。デバイスの開始後、1MiBに最初のパーティションを作成することをお勧めします。

MBRデータを読み取るには、rawデバイス(/ dev / sda)を使用する必要があります。つまり:

dd if=/dev/sda of=mbr.bin bs=512 count=1

0

ああ、パーティションテーブルとデバイス名。それらと混同する準備をしてください。

HPサーバーにCompaq RAIDコントローラーが搭載されていますか?/ dev / sdaはありません。/dev/ccsisに挨拶します。

古いIDEインターフェイスを備えた古いデスクトップコンピューターをお持ちですか?/ dev / sdaはありません。/dev/hdaに挨拶します。

/ dev / sdaと表示される最新のサーバーがありますが、インストール後はほとんど表示されませんか?LVMに挨拶してください。OSをインストールすると、/ dev / sdaがLVM物理ボリュームとして作成され、その中にボリュームグループが作成され、その中に論理ボリュームが作成されます。

そのため、/ dev / sda1のようなものが表示されない場合は、LVMなどが使用されており、独自の「パーティション」が作成されている可能性があります。

この回答はお役に立ちましたか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.