fdiskコマンドとは?Linuxでパーティション情報を確認・作成する方法

Linux

Linuxでディスクのパーティション情報を確認したり、新しいパーティションを作成したりしたいときは、fdiskコマンドを使用します。

前回までに、lsblkでディスク構成を確認する方法、blkidでUUIDやファイルシステム情報を確認する方法、mount/etc/fstabでマウントする方法を解説しました。

fdiskは、それらよりも一段深い「パーティションそのもの」を確認・操作するコマンドです。

ただし、fdiskは使い方を間違えると、ディスク上のデータを失う可能性があります。初心者はまずfdisk -lで確認する使い方から覚え、作成・削除などの操作は十分に注意して行いましょう。

この記事では、Linux初心者でも安全に理解できるように、fdiskコマンドの基本構文、fdisk -lの見方、lsblkとの違い、対話モードの基本操作、パーティション作成・削除時の注意点、よくあるエラーまで実例付きで解説します。

  1. fdiskコマンドとは
  2. fdiskコマンドの基本構文
  3. fdiskを使う前に確認すべきこと
  4. パーティション情報を一覧表示する方法
  5. fdisk -lの出力項目の見方
  6. 特定のディスクだけ確認する方法
  7. lsblkとfdiskの違い
  8. blkid・df・mountとの違い
  9. MBRとGPTの違い
  10. fdiskの対話モードを開く方法
  11. fdisk対話モードの主なコマンド
  12. パーティションを確認する方法
  13. 新しいパーティションを作成する流れ
  14. パーティション作成後に必要な作業
  15. パーティションを削除する流れ
  16. 変更を書き込まずに終了する方法
  17. パーティションタイプを変更する方法
  18. GPTディスクを扱う場合の注意点
  19. fdiskコマンドの主なオプション
  20. fdiskでよく使う確認コマンド
    1. すべてのディスク情報を確認する
    2. 特定ディスクだけ確認する
    3. ディスク構成を見やすく確認する
    4. ファイルシステムやUUIDを確認する
    5. マウント状態を確認する
  21. 追加ディスクを使えるようにする全体の流れ
    1. 1. ディスクを確認する
    2. 2. パーティションを作成する
    3. 3. パーティション情報を再読み込みする
    4. 4. ファイルシステムを作成する
    5. 5. マウントポイントを作成する
    6. 6. マウントする
    7. 7. マウント状態を確認する
    8. 8. 必要ならfstabへ登録する
  22. fdiskコマンドでよくある注意点
    1. 対象ディスクを間違えない
    2. fdiskで作っただけではファイル保存できない
    3. wを押すまで変更は保存されない
    4. マウント中のパーティション操作は避ける
  23. fdiskコマンドでよくあるエラー
    1. Permission denied
    2. No such file or directory
    3. Device or resource busy
    4. Re-reading the partition table failed
    5. パーティションを作ったのにlsblkに出ない
  24. よくある質問
    1. fdiskコマンドは何に使いますか?
    2. fdisk -lは安全ですか?
    3. fdiskとlsblkの違いは何ですか?
    4. fdiskでパーティションを作ったらすぐ使えますか?
    5. fdiskの変更はいつ保存されますか?
    6. fdiskで操作するのは/dev/sdbですか?/dev/sdb1ですか?
    7. GPTディスクでもfdiskは使えますか?
    8. パーティションを削除するとデータは消えますか?
    9. UbuntuやCentOS Streamでも使えますか?
  25. まとめ

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 パーティション種別

初心者がまず見るべき項目は、DiskDisklabel typeDeviceSizeTypeです。

特定のディスクだけ確認する方法

すべてのディスクではなく、特定のディスクだけ確認したい場合は、ディスク名を指定します。

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の違い

lsblkfdiskは、どちらもディスク関連の確認で使いますが、用途が違います。

コマンド 主な用途 安全性
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でパーティションを作成しただけでは、まだ通常のファイル保存には使えません。

作成後は、次のような作業が必要になります。

  1. カーネルにパーティション情報を再読み込みさせる
  2. ファイルシステムを作成する
  3. マウントポイントを作成する
  4. マウントする
  5. 必要なら/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ディスクを本格的に操作する場合、環境や作業内容によってはpartedgdiskが使われることもあります。

単純な確認や基本的なパーティション作成であればfdiskでも対応できますが、複雑な構成を扱う場合は、作業前に十分確認しましょう。

fdiskコマンドの主なオプション

オプション 説明
-l ディスクやパーティション情報を一覧表示する
-x より詳細な情報を表示する
-s パーティション 指定したパーティションサイズを表示する
-v バージョン情報を表示する
-h ヘルプを表示する

初心者がよく使うのは、ほぼsudo fdisk -lsudo 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ディスクも扱えます。ただし、複雑な作業ではpartedgdiskが使われることもあります。

パーティションを削除するとデータは消えますか?

通常アクセスできなくなり、データを失う可能性が高いです。削除対象を間違えないよう、必ず事前にバックアップと確認を行ってください。

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は強力なコマンドですが、操作を間違えるとデータを失う可能性があります。まずlsblkfdisk -lで対象ディスクを確認し、作業前には必ずバックアップを取ってから操作しましょう。

コメント

タイトルとURLをコピーしました