/dev/hda2がプライマリパーティションか拡張パーティションであるかを確認する方法

/dev/hda2がプライマリパーティションか拡張パーティションであるかを確認する方法

4つのデフォルトパーティションがすべてIDEドライブにある場合は、次のように番号が付けられます。

  • /dev/hda1
  • /dev/hda2
  • /dev/hda3
  • /dev/hda4

さらに、ディスクには、次のように番号付けされたプライマリパーティションと独自の拡張パーティションがあります。

  • /dev/hda1 (デフォルト)
  • /dev/hda2(拡張)


この命名戦略は命名方法の混乱を引き起こします。/dev/hda2 どちらの場合も:

  • 基本パーティション
  • 拡張パーティション

別の表現方法:主パーティションか拡張パーティションかを区別する方法

答え1

端末に次のように入力し、parted /dev/hda 結果print を入力してください。

Number  Start   End    Size   Type     File system  Flags     
 1      32.3kB  107MB  107MB  primary  ext3         boot, raid
 2      107MB   250GB  250GB  primary               raid 

答え2

fdisk -l /dev/hdasfdisk -l /dev/hda同様のツール(、、、…)の出力を確認してくださいparted -l

パーティション番号は、パーティションがプライマリパーティションか拡張パーティションであるかはわかりません。既存の PC パーティションスキームでは、1、2、3、または 4 で番号付けされた各パーティションは、プライマリパーティションまたは拡張パーティションにすることができます。 (複数の拡張パーティションが可能ですが、お勧めできません。Linux自体は気にしませんが、一部の管理ツールは気にしません。)

ルートアクセスなしで確認できるほぼ保証された方法があります。 .txtファイルで各パーティションのサイズを見つけることができます/proc/partitions。拡張パーティションのサイズは常に個々のブロックとして報告されます。たとえば、次の例はsda4拡張パーティションです。

major minor  #blocks  name
   8        1     489951 sda1
   8        4          1 sda4

答え3

sudo cfdisk /dev/hdaいつでもすべてのパーティションを含むテーブルを表示できます。また、プライマリパーティションか拡張パーティションでも表示されます。

答え4

私は基本パーティションへのパスが欲しかったと思いました。

sudo fdisk -l 2> /dev/null | awk '$2 ~ /\*/ {print $1}'
  • fdisk -lパーティションの一覧、
  • 2> /dev/null印刷されないようにエラーメッセージをリダイレクトします。パーティションが物理ディスクにないというメッセージが表示され続けます。
  • パイプによるawkプロセス出力:
    • $22番目の単語(列の値Boot)を表します。
    • $2 ~ /^\*$/2番目の単語がアスタリスクのみである行のみを一致させることを参照してください。
    • {print $1}Device前の式と一致する行(つまり列)の最初の単語を印刷します。

関連情報