ディスクのパーティション構成を確認する場面は意外と多くあります。容量追加作業の前、OS再インストールの前、または「このサーバーのディスク構成ってどうなっていたっけ?」という棚卸し時など。最速で全体像をつかむなら lsblk、パーティションテーブルの詳細が欲しければ fdisk -l、GPTディスクをきれいに見たいなら parted -l と使い分けるのが現代の実務での定石です。
まず結論:root権限なしでパーティション構成を一覧する
最も手軽な確認方法は lsblk です。sudo なしで実行でき、ディスク→パーティション→マウントポイントの関係をツリー形式で一覧できます。
lsblk
実行例(Ubuntu Server 24.04 / NVMe + SATA 混在環境):
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 500G 0 disk
├─sda1 8:1 0 1G 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 498G 0 part
└─ubuntu--vg-ubuntu--lv
252:0 0 498G 0 lvm /
nvme0n1 259:0 0 1.8T 0 disk
└─nvme0n1p1 259:1 0 1.8T 0 part /data
TYPE 列の disk がディスク本体、part がパーティション、lvm が LVM 論理ボリュームです。UUID とファイルシステム種別も一緒に確認したい場合は -f オプションを追加します。
lsblk -f
パーティションテーブルの詳細を確認する
各パーティションの開始・終了セクタ、サイズ、パーティション種別まで詳しく調べるには fdisk -l を使います。実行には sudo が必要です。
# すべてのディスクを一覧
sudo fdisk -l
# ディスクを指定して確認
sudo fdisk -l /dev/sda
出力例(GPT ディスク):
Disk /dev/sda: 500 GiB, 536870912000 bytes, 1048576000 sectors
Disk model: SAMSUNG MZNLN512
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: A1B2C3D4-E5F6-7890-ABCD-EF1234567890
Device Start End Sectors Size Type
/dev/sda1 2048 2099199 2097152 1G EFI System
/dev/sda2 2099200 4196351 2097152 1G Linux filesystem
/dev/sda3 4196352 1048575966 1044379615 498G Linux filesystem
古いドキュメントでよく見かける「シリンダ」単位の表示は現代の fdisk では廃止されており、現在はデフォルトでセクタ単位です。Disklabel type が gpt か dos(MBR)かで、ディスクのパーティションスキームを判別できます。
GPT形式のディスクは parted で確認する
fdisk は GPT にも対応していますが、parted のほうがパーティション番号・開始・終了位置が読みやすく、フラグ(boot・esp・lvm など)も一目でわかります。GPT ディスクが多い環境では parted -l を標準の確認コマンドにしておくと便利です。
sudo parted -l
出力例:
Model: ATA SAMSUNG MZNLN512 (scsi)
Disk /dev/sda: 537GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 1075MB 1074MB fat32 EFI System Partition boot, esp
2 1075MB 2149MB 1074MB ext4
3 2149MB 537GB 535GB
Number 列の番号が /dev/sda1、/dev/sda2 に対応します。Flags 列に esp が表示されているパーティションが UEFI ブート用の EFI システムパーティションです。
デバイス名の体系を把握する
旧来の記事では /dev/hda(IDE インターフェース)が登場しますが、現在の環境ではほぼ使われません。接続方式によってデバイス名が異なるため、環境に応じた読み方を把握しておく必要があります。
| デバイス名 | 接続方式・用途 |
|---|---|
/dev/sda、/dev/sdb | SATA/SAS/USB ストレージ(最も一般的) |
/dev/nvme0n1、/dev/nvme1n1 | NVMe SSD(パーティションは nvme0n1p1 のように末尾に p が付く) |
/dev/vda、/dev/vdb | KVM/QEMU 仮想ディスク(VirtIO) |
/dev/xvda | Xen 仮想ディスク(AWS EC2 旧世代など) |
NVMe のパーティション名は /dev/nvme0n1p1 のように末尾に p が入るため、/dev/sda1 とはパターンが異なります。シェルスクリプトでデバイス名を動的に組み立てる処理を書く際は、この違いに注意が必要です。
LVM構成のディスクを確認する
lsblk の TYPE 列に lvm が表示される場合、パーティションの上に LVM(Logical Volume Manager)が構成されています。LVM 環境では fdisk -l だけではディスク全体の論理的な構造が把握できないため、以下のコマンドを合わせて使います。
# 物理ボリューム(PV)の一覧
sudo pvdisplay
# ボリュームグループ(VG)の一覧
sudo vgdisplay
# 論理ボリューム(LV)の一覧
sudo lvdisplay
Ubuntu Server や RHEL 系(Rocky Linux、AlmaLinux)のデフォルトインストールでは LVM 構成が標準となっています。ある運用現場では「fdisk -l でパーティションを確認したが残り容量の計算が合わない」という問い合わせがあり、原因が LVM の論理ボリュームサイズとパーティションサイズの混同だったというケースがあります。lsblk で TYPE 列を先に確認する習慣をつけておくと、こうした混乱を防げます。
確認作業での注意点と落とし穴
fdisk と parted は確認目的でも root 権限が必要です。lsblk は一般ユーザーで実行できますが、-f オプションで UUID を表示する際は環境によって一部の情報が制限されることがあります。
fdisk をオプションなしで起動してしまうと対話モードに入り、誤操作でパーティションテーブルを書き換えるリスクがあります。確認目的では必ず -l オプションを付けて実行してください。
# 正:確認専用(読み取りのみ)
sudo fdisk -l /dev/sda
# 危険:対話モードに入り、誤ってパーティションを変更するリスクがある
# sudo fdisk /dev/sda
クラウド環境(AWS EC2、GCP Compute Engine)では、コンソール上で表示されるディスク名と OS 上のデバイス名が一致しないケースがあります。AWS では /dev/xvdf として追加したはずのボリュームが、OS 上では /dev/nvme1n1 として認識されていることがあります。マウント作業の前に必ず lsblk で OS 側の認識名を確認してから進めるのが安全です。
「コマンドは打てる。次は”現場で通用する型”を最短で身につけたい」——そんなあなたへ。
ネットの断片的なTipsをコピペするだけでは、体系的な運用スキルはなかなか積み上がりません。リナックスマスター.JPの無料メルマガ「リナマガ」では、現場で実際に使うLinuxサーバー運用の考え方を、順を追って実務目線でお届けしています。いま登録された方には、安全なサーバー構築の「型」をまとめた『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼント中です。
>> 図解60P『Linux入門マニュアル』を無料で受け取る
(メルマガ登録は10秒・いつでも解除OK)
※ 「独学の時間がもったいない」「プロから現場の技術を最短で学びたい」という本気の方には、2日で実務レベルが身につく初心者向けハンズオンセミナーもご用意しています。
