ストレージの順序でパーティションを一覧表示するには?

ストレージの順序でパーティションを一覧表示するには?

一般情報(容量、セクタサイズなど)を説明した後、fdisksdXY、起動、開始、終了、セクタ番号、サイズ、フラグ、タイプなど8つの列が表示されます。

パーティションは名前のYに基づいてソートされますsdXY。時々(つまり、これが真の場合)、保存順序にリストされていないことを示すメモが以下に追加されます。

起動セクタに基づいてソートされたブロック指向デバイスのパーティションを一覧表示するにはどうすればよいですかfdisk(または他の適切なツール)。つまり、3番目の列です。

ベストアンサー1

これを行うプログラムはわかりませんが、必要なものがパーティションリストだけであれば、ソートは簡単です。たとえば、私のシステムでは次のようになります。

$ sudo fdisk -l
Disk /dev/nvme0n1: 953.87 GiB, 1024209543168 bytes, 2000409264 sectors
Disk model: SAMSUNG MZVLB1T0HBLR-000L7              
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 97ED36D9-B503-42C1-ACE5-3E2E49212F20

Device              Start        End    Sectors   Size Type
/dev/nvme0n1p1       2048     534527     532480   260M EFI System
/dev/nvme0n1p2     534528     567295      32768    16M Microsoft reserved
/dev/nvme0n1p3     567296  390625000  390057705   186G Microsoft basic data
/dev/nvme0n1p4 1998360576 2000408575    2048000  1000M Windows recovery environment
/dev/nvme0n1p5  390625280  509251583  118626304  56.6G Linux filesystem
/dev/nvme0n1p6  509253632 1935546367 1426292736 680.1G Linux filesystem
/dev/nvme0n1p7 1935546368 1998360575   62814208    30G Linux swap

Partition table entries are not in disk order.


Disk /dev/mapper/home: 680.1 GiB, 730253492224 bytes, 1426276352 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

以下を使用してソートできます。

$ sudo fdisk -l | grep -E '^(Devi|/dev)' | sort -nk2,2
Device              Start        End    Sectors   Size Type
/dev/nvme0n1p1       2048     534527     532480   260M EFI System
/dev/nvme0n1p2     534528     567295      32768    16M Microsoft reserved
/dev/nvme0n1p3     567296  390625000  390057705   186G Microsoft basic data
/dev/nvme0n1p5  390625280  509251583  118626304  56.6G Linux filesystem
/dev/nvme0n1p6  509253632 1935546367 1426292736 680.1G Linux filesystem
/dev/nvme0n1p7 1935546368 1998360575   62814208    30G Linux swap
/dev/nvme0n1p4 1998360576 2000408575    2048000  1000M Windows recovery environment

使用されるコマンドは

  • grep -E '^(Devi|/dev)'-E:「or」を使用できる拡張正規表現()を使用します|。正規表現は^()またはまたはでDevi始まるすべての行と一致します/dev
  • sort -nk2,2-n:2番目のフィールド()と2番目のフィールド()のみを数字で並べ替え、-k2,2残りの行は無視します。

おすすめ記事