IDEドライブに4つのプライマリパーティションがすべて存在する場合、次のように番号が付けられます。
プライマリパーティションが1つあるディスク上のパーティションもあり、唯一の拡張パーティションには次のように番号が付けられます。
この命名戦略は混乱を招きます。
名前の付け方:/dev/hda2
両方の場合:
問題を表現する別の方法:プライマリパーティションか拡張パーティションかを区別する方法
端末から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
fdisk -l /dev/hda
または同様のツール(sfdisk -l /dev/hda
、parted -l
、…)の出力を確認します。
パーティションがプライマリであるか拡張であるかは、その番号からはわかりません。従来のPCパーティションスキームでは、1、2、3、または4の番号が付けられた各パーティションをプライマリまたは拡張できます。 (複数の拡張パーティションを持つことは可能ですが、お勧めしません。Linux自体は気にしませんが、一部の管理ツールはそうします。)
ルートアクセスなしで確認するためのほぼ保証された方法があります。/proc/partitions
で各パーティションのサイズを調べることができます。拡張パーティションのサイズは常に単一のブロックとして報告されます。たとえば、次の例では、sda4
は拡張パーティションです。
major minor #blocks name
…
8 1 489951 sda1
8 4 1 sda4
いつでも試すことができますSudo cfdisk /dev/hda
すべてのパーティションを含むテーブルを表示します。また、プライマリパーティションか拡張パーティションかを示します。
プライマリパーティションのパスだけが欲しかったので、これを思いつきました。
Sudo fdisk -l 2> /dev/null | awk '$2 ~ /\*/ {print $1}'
fdisk -l
はパーティションを一覧表示し、2> /dev/null
エラーメッセージをリダイレクトして、印刷しないようにします。パーティションが物理ディスク上にないというメッセージが何度も表示されました。awk
にパイプして出力を処理します:$2
は2番目のワード(Boot
列の値)を参照し、$2 ~ /^\*$/
は、2番目の単語がアスタリスクのみである行のみに一致することを示します。{print $1}
は、前の式に一致する行の最初のWordを出力します。これはDevice
列です。