Linuxでディスクのパーティション情報を確認したり、新しいパーティションを作成したりしたいときは、fdiskコマンドを使用します。
前回までに、lsblkでディスク構成を確認する方法、blkidでUUIDやファイルシステム情報を確認する方法、mountや/etc/fstabでマウントする方法を解説しました。
fdiskは、それらよりも一段深い「パーティションそのもの」を確認・操作するコマンドです。
ただし、fdiskは使い方を間違えると、ディスク上のデータを失う可能性があります。初心者はまずfdisk -lで確認する使い方から覚え、作成・削除などの操作は十分に注意して行いましょう。
この記事では、Linux初心者でも安全に理解できるように、fdiskコマンドの基本構文、fdisk -lの見方、lsblkとの違い、対話モードの基本操作、パーティション作成・削除時の注意点、よくあるエラーまで実例付きで解説します。
- fdiskコマンドとは
- fdiskコマンドの基本構文
- fdiskを使う前に確認すべきこと
- パーティション情報を一覧表示する方法
- fdisk -lの出力項目の見方
- 特定のディスクだけ確認する方法
- lsblkとfdiskの違い
- blkid・df・mountとの違い
- MBRとGPTの違い
- fdiskの対話モードを開く方法
- fdisk対話モードの主なコマンド
- パーティションを確認する方法
- 新しいパーティションを作成する流れ
- パーティション作成後に必要な作業
- パーティションを削除する流れ
- 変更を書き込まずに終了する方法
- パーティションタイプを変更する方法
- GPTディスクを扱う場合の注意点
- fdiskコマンドの主なオプション
- fdiskでよく使う確認コマンド
- 追加ディスクを使えるようにする全体の流れ
- fdiskコマンドでよくある注意点
- fdiskコマンドでよくあるエラー
- よくある質問
- まとめ
fdiskコマンドとは
fdiskは、Linuxでディスクのパーティションテーブルを確認・編集するためのコマンドです。
パーティションとは、1つのディスクを複数の領域に分けたものです。
たとえば、1台のディスク/dev/sdaの中に、次のようなパーティションが作られていることがあります。
/dev/sda
├─/dev/sda1 /boot
└─/dev/sda2 /
fdiskでは、主に次のようなことができます。
- ディスクのパーティション情報を表示する
- パーティションテーブルの種類を確認する
- 新しいパーティションを作成する
- 既存のパーティションを削除する
- パーティションタイプを変更する
- 変更内容をディスクへ書き込む
確認だけなら比較的安全ですが、作成・削除・書き込み操作はデータに影響するため慎重に扱う必要があります。
fdiskコマンドの基本構文
fdiskコマンドの基本構文は次のとおりです。
fdisk [オプション] ディスク名
ディスク一覧やパーティション情報を表示する場合は、-lオプションを使用します。
sudo fdisk -l
特定のディスクを操作する場合は、ディスク名を指定します。
sudo fdisk /dev/sdb
/dev/sdb1のようなパーティションではなく、通常は/dev/sdbのようにディスク本体を指定します。
fdiskを使う前に確認すべきこと
fdiskはディスクのパーティションを扱うコマンドです。
作業前には、必ず対象ディスクを確認してください。
lsblk
実行結果の例です。
NAME SIZE TYPE MOUNTPOINTS
sda 50G disk
├─sda1 1G part /boot
└─sda2 49G part /
sdb 100G disk
この例では、sdaがシステムディスク、sdbが追加ディスクです。
間違って/dev/sdaを操作すると、OSが起動しなくなる可能性があります。
fdiskで作業する前に、対象が本当に操作したいディスクかを必ず確認しましょう。
パーティション情報を一覧表示する方法
ディスクとパーティション情報を一覧表示するには、次のコマンドを使います。
sudo fdisk -l
実行結果の例です。
Disk /dev/sda: 50 GiB, 53687091200 bytes
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Disklabel type: gpt
Device Start End Sectors Size Type
/dev/sda1 2048 2099199 2097152 1G Linux filesystem
/dev/sda2 2099200 104857566 102758367 49G Linux filesystem
Disk /dev/sdb: 100 GiB, 107374182400 bytes
Disklabel type: gpt
fdisk -lは確認用として非常によく使います。
fdisk -lの出力項目の見方
| 項目 | 意味 |
|---|---|
Disk /dev/sda |
対象ディスク名 |
Disk model |
ディスクのモデル名 |
Units |
表示単位 |
Disklabel type |
パーティションテーブルの種類 |
Device |
パーティション名 |
Start |
開始セクタ |
End |
終了セクタ |
Sectors |
使用セクタ数 |
Size |
パーティションサイズ |
Type |
パーティション種別 |
初心者がまず見るべき項目は、Disk、Disklabel type、Device、Size、Typeです。
特定のディスクだけ確認する方法
すべてのディスクではなく、特定のディスクだけ確認したい場合は、ディスク名を指定します。
sudo fdisk -l /dev/sdb
実行結果の例です。
Disk /dev/sdb: 100 GiB, 107374182400 bytes
Disklabel type: gpt
Device Start End Sectors Size Type
/dev/sdb1 2048 209715166 209713119 100G Linux filesystem
追加ディスクを確認するときは、全体一覧よりも対象ディスクを指定した方が分かりやすい場合があります。
lsblkとfdiskの違い
lsblkとfdiskは、どちらもディスク関連の確認で使いますが、用途が違います。
| コマンド | 主な用途 | 安全性 |
|---|---|---|
lsblk |
ディスク・パーティション構成を見やすく確認する | 確認用で安全 |
fdisk -l |
パーティションテーブル情報を詳しく確認する | 確認用で安全 |
fdisk /dev/sdX |
パーティションを作成・削除・編集する | 注意が必要 |
普段の確認では、まずlsblkを使います。
lsblk
パーティションテーブルの詳細を確認したい場合は、fdisk -lを使います。
sudo fdisk -l
パーティションを作成・削除する場合に、sudo fdisk /dev/sdbのような対話モードを使います。
blkid・df・mountとの違い
ディスク管理では、fdisk以外にも複数のコマンドを使います。
| コマンド | 確認・操作できること |
|---|---|
fdisk |
パーティション情報の確認・作成・削除 |
lsblk |
ディスクとパーティション構成の確認 |
blkid |
UUIDやファイルシステム種類の確認 |
df |
マウント済みファイルシステムの空き容量確認 |
mount |
ファイルシステムをマウントする |
追加ディスクを使えるようにする場合は、次のような流れになります。
lsblk
sudo fdisk /dev/sdb
sudo mkfs.ext4 /dev/sdb1
sudo mount /dev/sdb1 /data
df -h /data
fdiskは、主にパーティションを扱う段階で使うコマンドです。
MBRとGPTの違い
fdisk -lの出力には、Disklabel typeが表示されます。
Disklabel type: gpt
代表的なパーティションテーブルには、MBRとGPTがあります。
| 種類 | 特徴 |
|---|---|
MBR |
古くから使われる方式。制限が多い |
GPT |
現在よく使われる方式。大容量ディスクに向いている |
最近のLinux環境やVPSでは、GPTが使われていることも多いです。
パーティションテーブルを新しく作成すると、既存データに大きく影響するため注意してください。
fdiskの対話モードを開く方法
パーティションを作成・削除する場合は、ディスクを指定して対話モードを開きます。
sudo fdisk /dev/sdb
実行すると、次のようなプロンプトが表示されます。
Command (m for help):
ここでコマンドを入力しながら操作します。
このとき指定するのは、/dev/sdb1ではなく/dev/sdbのようなディスク本体です。
fdisk対話モードの主なコマンド
| コマンド | 意味 |
|---|---|
m |
ヘルプを表示する |
p |
現在のパーティションテーブルを表示する |
n |
新しいパーティションを作成する |
d |
パーティションを削除する |
t |
パーティションタイプを変更する |
l |
利用可能なパーティションタイプを一覧表示する |
w |
変更内容をディスクへ書き込んで終了する |
q |
変更内容を書き込まずに終了する |
wを実行するまでは、変更はディスクへ書き込まれません。
操作を間違えた場合は、qで終了すれば変更を書き込まずに抜けられます。
パーティションを確認する方法
対話モード内で、現在のパーティション情報を確認するにはpを入力します。
Command (m for help): p
実行結果の例です。
Disk /dev/sdb: 100 GiB
Disklabel type: gpt
Device Start End Sectors Size Type
/dev/sdb1 2048 209715166 209713119 100G Linux filesystem
操作前には、必ずpで現在の状態を確認しましょう。
新しいパーティションを作成する流れ
空のディスクに新しいパーティションを作成する基本的な流れです。
まず対象ディスクを確認します。
lsblk
次に、fdiskを開きます。
sudo fdisk /dev/sdb
対話モードでnを入力します。
Command (m for help): n
パーティション番号、開始位置、終了位置を聞かれます。
ディスク全体を1つのパーティションとして使う場合は、多くの場面でデフォルト値のままEnterで進めます。
Partition number: 1
First sector: Enter
Last sector: Enter
作成内容を確認します。
Command (m for help): p
問題なければ、wで書き込みます。
Command (m for help): w
wを実行すると、変更がディスクへ書き込まれます。対象ディスクが正しいか、必ず確認してから実行してください。
パーティション作成後に必要な作業
fdiskでパーティションを作成しただけでは、まだ通常のファイル保存には使えません。
作成後は、次のような作業が必要になります。
- カーネルにパーティション情報を再読み込みさせる
- ファイルシステムを作成する
- マウントポイントを作成する
- マウントする
- 必要なら
/etc/fstabに登録する
例です。
sudo partprobe /dev/sdb
sudo mkfs.ext4 /dev/sdb1
sudo mkdir -p /data
sudo mount /dev/sdb1 /data
df -h /data
mkfs.ext4はファイルシステムを作成するコマンドです。実行すると対象パーティション内のデータは初期化されるため、十分に注意してください。
パーティションを削除する流れ
パーティションを削除する場合は、対話モードでdを使います。
sudo fdisk /dev/sdb
現在の状態を確認します。
Command (m for help): p
削除コマンドを実行します。
Command (m for help): d
複数のパーティションがある場合は、削除する番号を聞かれます。
Partition number: 1
削除後の状態を確認します。
Command (m for help): p
問題なければ、wで書き込みます。
Command (m for help): w
パーティションを削除すると、その中のファイルシステムやデータへ通常アクセスできなくなります。削除対象を間違えないようにしてください。
変更を書き込まずに終了する方法
操作中に不安になった場合や、間違えた可能性がある場合は、qで終了します。
Command (m for help): q
qは、変更内容を書き込まずに終了するコマンドです。
wを実行する前であれば、変更はディスクへ保存されません。
パーティションタイプを変更する方法
パーティションタイプを変更する場合は、対話モードでtを使います。
Command (m for help): t
利用できるタイプ一覧を表示するにはlを使います。
Command (m for help): l
通常のLinuxファイルシステムでは、デフォルトのままで問題ないことが多いです。
swap領域など、用途が明確な場合に変更します。
GPTディスクを扱う場合の注意点
現在のfdiskはGPTにも対応しています。
ただし、GPTディスクを本格的に操作する場合、環境や作業内容によってはpartedやgdiskが使われることもあります。
単純な確認や基本的なパーティション作成であればfdiskでも対応できますが、複雑な構成を扱う場合は、作業前に十分確認しましょう。
fdiskコマンドの主なオプション
| オプション | 説明 |
|---|---|
-l |
ディスクやパーティション情報を一覧表示する |
-x |
より詳細な情報を表示する |
-s パーティション |
指定したパーティションサイズを表示する |
-v |
バージョン情報を表示する |
-h |
ヘルプを表示する |
初心者がよく使うのは、ほぼsudo fdisk -lとsudo fdisk /dev/sdXです。
fdiskでよく使う確認コマンド
すべてのディスク情報を確認する
sudo fdisk -l
特定ディスクだけ確認する
sudo fdisk -l /dev/sdb
ディスク構成を見やすく確認する
lsblk
ファイルシステムやUUIDを確認する
lsblk -f
sudo blkid
マウント状態を確認する
findmnt
df -h
追加ディスクを使えるようにする全体の流れ
追加ディスクをLinuxで使えるようにする流れは、次のようになります。
1. ディスクを確認する
lsblk
2. パーティションを作成する
sudo fdisk /dev/sdb
3. パーティション情報を再読み込みする
sudo partprobe /dev/sdb
4. ファイルシステムを作成する
sudo mkfs.ext4 /dev/sdb1
5. マウントポイントを作成する
sudo mkdir -p /data
6. マウントする
sudo mount /dev/sdb1 /data
7. マウント状態を確認する
df -h /data
findmnt /data
8. 必要ならfstabへ登録する
sudo blkid /dev/sdb1
sudo cp /etc/fstab /etc/fstab.bak
sudo vi /etc/fstab
sudo mount -a
この流れのうち、fdiskはパーティション作成の段階で使います。
fdiskコマンドでよくある注意点
対象ディスクを間違えない
/dev/sdaはシステムディスクであることが多いです。
追加ディスクだと思ってシステムディスクを操作すると、OSが起動しなくなる可能性があります。
lsblk
sudo fdisk -l
必ず複数のコマンドで対象を確認しましょう。
fdiskで作っただけではファイル保存できない
fdiskでパーティションを作成しても、そのままファイルを保存できるわけではありません。
通常はmkfsでファイルシステムを作成し、mountでマウントします。
sudo mkfs.ext4 /dev/sdb1
sudo mount /dev/sdb1 /data
wを押すまで変更は保存されない
fdiskの対話モードでは、wを実行するまで変更はディスクへ書き込まれません。
不安な場合は、qで終了します。
Command (m for help): q
マウント中のパーティション操作は避ける
マウント中のパーティションに対して作成・削除などの操作を行うのは危険です。
必要に応じて、事前にアンマウントします。
findmnt /data
sudo umount /data
fdiskコマンドでよくあるエラー
Permission denied
fdisk: cannot open /dev/sdb: Permission denied
権限が不足しています。
通常はsudoを付けて実行します。
sudo fdisk -l
sudo fdisk /dev/sdb
No such file or directory
fdisk: cannot open /dev/sdb: No such file or directory
指定したデバイスが存在しません。
デバイス名を確認します。
lsblk
Device or resource busy
Device or resource busy
対象ディスクやパーティションが使用中の可能性があります。
マウント状態を確認します。
findmnt
lsblk
必要に応じてアンマウントします。
sudo umount /data
Re-reading the partition table failed
Re-reading the partition table failed
パーティションテーブルの再読み込みに失敗した場合に表示されることがあります。
対象が使用中の場合や、カーネルがすぐに変更を認識できない場合があります。
まず状態を確認します。
lsblk
findmnt
必要に応じてpartprobeを実行します。
sudo partprobe /dev/sdb
状況によっては再起動が必要になる場合もあります。
パーティションを作ったのにlsblkに出ない
カーネルがパーティション情報をまだ認識していない可能性があります。
sudo partprobe /dev/sdb
lsblk
それでも表示されない場合は、対象ディスクや操作内容を再確認してください。
よくある質問
fdiskコマンドは何に使いますか?
ディスクのパーティション情報を確認したり、パーティションを作成・削除したりするために使います。
fdisk -lは安全ですか?
fdisk -lは情報を表示するだけなので、基本的には確認用として安全に使えます。ただし、対話モードで作成・削除・書き込みを行う場合は注意が必要です。
fdiskとlsblkの違いは何ですか?
lsblkはディスク構成を見やすく確認するコマンドです。fdiskはパーティション情報の詳細確認や作成・削除を行うコマンドです。
fdiskでパーティションを作ったらすぐ使えますか?
いいえ。通常はmkfsでファイルシステムを作成し、mountでマウントする必要があります。
fdiskの変更はいつ保存されますか?
対話モードでwを実行したときにディスクへ書き込まれます。保存せずに終了したい場合はqを使います。
fdiskで操作するのは/dev/sdbですか?/dev/sdb1ですか?
パーティションを作成・削除する場合は、通常/dev/sdbのようなディスク本体を指定します。/dev/sdb1は作成されたパーティションです。
GPTディスクでもfdiskは使えますか?
現在の多くのLinux環境では、fdiskでGPTディスクも扱えます。ただし、複雑な作業ではpartedやgdiskが使われることもあります。
パーティションを削除するとデータは消えますか?
通常アクセスできなくなり、データを失う可能性が高いです。削除対象を間違えないよう、必ず事前にバックアップと確認を行ってください。
UbuntuやCentOS Streamでも使えますか?
はい。Ubuntu、Debian、CentOS Stream、Rocky Linux、AlmaLinuxなど、多くのLinuxディストリビューションで利用できます。
まとめ
fdiskコマンドは、Linuxでディスクのパーティション情報を確認・作成・削除するためのコマンドです。
パーティション情報を確認するだけなら、次のコマンドを使います。
sudo fdisk -l
特定のディスクだけ確認する場合は、ディスク名を指定します。
sudo fdisk -l /dev/sdb
パーティションを作成・削除する場合は、ディスク本体を指定して対話モードを開きます。
sudo fdisk /dev/sdb
対話モードでは、pで確認、nで作成、dで削除、wで書き込み、qで保存せず終了できます。
fdiskでパーティションを作成しただけでは、まだファイル保存には使えません。通常は、mkfsでファイルシステムを作成し、mountでマウントします。
sudo mkfs.ext4 /dev/sdb1
sudo mkdir -p /data
sudo mount /dev/sdb1 /data
fdiskは強力なコマンドですが、操作を間違えるとデータを失う可能性があります。まずlsblkやfdisk -lで対象ディスクを確認し、作業前には必ずバックアップを取ってから操作しましょう。




コメント