0
$ cat /proc/partitions 
major minor  #blocks  name

   8        0  976762584 sda
   8        1   99998720 sda1
   8        2          1 sda2
   8        3  103561216 sda3
   8        4  291514368 sda4
   8        5    1998848 sda5
   8       16   31506432 sdb
   8       17   31505439 sdb1

出力から物理ディスク ( /dev/sda) と論理ディスク ( )を区別したい。/dev/sda1/proc/partitions

  1. 私が見る簡単な方法の1つは、整数で終わるかどうかを正規表現パターンで確認することです
  2. 私のマシンの出力を見ると、すべてのエントリsdaよりもマイナー値が最小ですsdaN
  3. の存在を確認するので、(失敗する) ディレクトリと(成功する) ディレクトリ/sys/block/[NAME]を読み込もうとします。/sys/block/sdaN/sys/block/sda

どれが信頼できるかわかりませんが、他に方法はありますか?

また、次のようなツリー構造を確実に作成するにはどうすればよいですかsda : {sda1, sda2, sda3, sda4, sda4}, sdb : {sdb1}

  1. その名前だけで
  2. マイナー番号による
  3. もう一度調べて/sys/block
  4. 位置順 (sda1 は常に sda の後に来ることが確認されていますか? たとえば、論理パーティションのエントリは常に物理ディスクのエントリの後に来るのでしょうか?)
4

1 に答える 1

1

プライマリ パーティションとセカンダリ パーティションをうまく区別していないようです。

通常、パーティションのタイプは、プライマリ (最大 4 つ)、拡張 (最大 1 つ)、または論理 (拡張パーティション内に含まれる) のいずれかです。各パーティションには、コードを含むタイプ フィールドがあります。これにより、コンピューターのオペレーティング システムまたはパーティションのファイル システムが決まります。

Primary (max 4)        1-4, 
Extended (max 1)       1-4, 
Logical                5-

パーティションの命名に関しては、通常、ハード ディスク デバイスは、ハードウェア構成に応じて、x を付けた /dev/hdx または /dev/sdx という名前になっていることがわかります。

1 からカウントを開始するパーティション番号。したがって、4 つの (可能性のある) プライマリ パーティションには 1 から 4 の番号が付けられます。 /dev/hdb5 は、2 番目の ATA ハードディスク デバイスの最初の論理パーティションです。SCSI の場合も同様で、/dev/sdb3 は 2 番目の SCSI ディスクの 3 番目のパーティションです。

ディスクに新しいパーティションを作成するにfdiskは、常にあなたの友人であり、最後に取得したブロックから始まるスペースを追加するだけで、fdisk -l、またはcat /proc/partitions

fdiskまたはpartedツールを使用してデバイスを作成できない場合は、それについて言及しましたか?!

于 2014-12-02T20:49:27.907 に答える