partedコマンドとは?LinuxでGPT・大容量ディスクのパーティションを操作する方法

Linux

LinuxでGPT形式のディスクや大容量ディスクのパーティションを操作したいときは、partedコマンドを使用します。

前回解説したmkfsコマンドは、作成済みのパーティションにファイルシステムを作成するコマンドでした。

一方、partedは、ディスクのパーティションテーブルを確認したり、パーティションを作成・削除・サイズ変更したりするためのコマンドです。

fdiskでもパーティション操作はできますが、partedはGPTや大容量ディスクを扱う場面でよく使われます。

ただし、partedはディスクのパーティション情報を変更できる強力なコマンドです。操作を間違えるとデータを失う可能性があります。

この記事では、Linux初心者でも安全に理解できるように、partedコマンドの基本、parted -lでの確認、対話モードでのprintmklabelmkpartresizepartの使い方、fdiskとの違い、作業時の注意点まで実例付きで解説します。

  1. partedコマンドとは
  2. partedとfdiskの違い
  3. partedを使う前の重要な注意点
  4. 対象ディスクを確認する方法
  5. partedコマンドの基本構文
  6. parted -lでディスク一覧を確認する方法
  7. partedの出力項目の見方
  8. 対話モードを起動する方法
  9. 対話モードでヘルプを表示する方法
  10. 対話モードでパーティション情報を表示する方法
  11. 表示単位を変更する方法
  12. GPTのパーティションテーブルを作成する方法
  13. MBR形式のパーティションテーブルを作成する方法
  14. 新しいパーティションを作成する方法
  15. コマンド一発でパーティションを作成する方法
  16. パーティション作成後に必要な作業
  17. パーティションを削除する方法
  18. パーティションサイズを変更する方法
  19. パーティションにフラグを設定する方法
  20. partedの対話モードを終了する方法
  21. partedコマンドの主な操作一覧
  22. partedで追加ディスクを使えるようにする流れ
    1. 1. ディスク構成を確認する
    2. 2. partedでGPTパーティションを作成する
    3. 3. パーティション情報を再読み込みする
    4. 4. ファイルシステムを作成する
    5. 5. マウントポイントを作成する
    6. 6. マウントする
    7. 7. 状態を確認する
    8. 8. 必要ならfstabへ登録する
  23. partedとmkfsの違い
  24. partedとmountの違い
  25. partedとlsblk・blkidの違い
  26. partedコマンドでよくある注意点
    1. 対象ディスクを間違えない
    2. mklabelは既存データに大きく影響する
    3. partedは変更が即時反映される場合がある
    4. パーティション作成後はmkfsが必要
    5. サイズ変更はファイルシステム側の作業も必要
  27. partedコマンドでよくあるエラー
    1. Permission denied
    2. No such file or directory
    3. unrecognised disk label
    4. partition is being used
    5. パーティションを作ったのに/dev/sdb1が見えない
  28. よくある質問
    1. partedコマンドは何に使いますか?
    2. partedとfdiskの違いは何ですか?
    3. parted -lは安全ですか?
    4. mklabel gptは何をしますか?
    5. partedでパーティションを作ったらすぐ使えますか?
    6. partedで操作するのは/dev/sdbですか?/dev/sdb1ですか?
    7. partedの変更はwで保存するのですか?
    8. resizepartだけでファイルシステムも拡張されますか?
    9. UbuntuやCentOS Streamでも使えますか?
  29. まとめ

partedコマンドとは

partedは、Linuxでディスクのパーティションテーブルを確認・編集するためのコマンドです。

パーティションとは、1つのディスクを複数の領域に分けたものです。

たとえば、追加ディスク/dev/sdbに、データ用のパーティション/dev/sdb1を作成するような場面で使います。

/dev/sdb
└─/dev/sdb1

partedでは、主に次のような操作ができます。

  • ディスクやパーティション情報を表示する
  • GPTやMBRのパーティションテーブルを作成する
  • 新しいパーティションを作成する
  • 既存パーティションを削除する
  • パーティションサイズを変更する
  • パーティションのフラグを設定する

確認だけでなく編集もできるため、作業前には必ず対象ディスクを確認しましょう。

partedとfdiskの違い

partedfdiskは、どちらもパーティション操作で使うコマンドです。

ただし、得意な用途が少し違います。

コマンド 主な用途 特徴
fdisk パーティション情報の確認・作成・削除 基本的なパーティション操作でよく使う
parted GPTや大容量ディスクを含むパーティション操作 大容量ディスクやスクリプト処理にも向く

最近のLinux環境ではfdiskもGPTに対応していますが、GPTや大容量ディスクを明確に扱う場面ではpartedが使われることがあります。

初心者は、まずlsblkfdisk -lで構成を確認し、必要に応じてpartedを使う流れで覚えると分かりやすいです。

partedを使う前の重要な注意点

partedは、ディスクのパーティション情報を変更できるコマンドです。

対象を間違えると、OSが起動しなくなったり、必要なデータへアクセスできなくなったりする可能性があります。

作業前には、次の点を必ず確認してください。

  • 対象ディスクが本当に作業対象か
  • システムディスクを操作していないか
  • 必要なデータのバックアップがあるか
  • 対象パーティションがマウント中ではないか
  • 実行するコマンドの意味を理解しているか

partedでは、操作内容によっては変更がすぐ反映される場合があります。

fdiskのように最後にwでまとめて保存する感覚とは違うため、慎重に操作しましょう。

対象ディスクを確認する方法

まず、lsblkでディスク構成を確認します。

lsblk

実行結果の例です。

NAME   SIZE TYPE MOUNTPOINTS
sda     50G disk
├─sda1   1G part /boot
└─sda2  49G part /
sdb    100G disk

この例では、sdaがシステムディスク、sdbが追加ディスクです。

ファイルシステムやUUIDも確認したい場合は、次のように実行します。

lsblk -f

マウント状態を確認したい場合は、findmntも使えます。

findmnt

対象ディスクを間違えないことが最重要です。

partedコマンドの基本構文

partedコマンドの基本構文は次のとおりです。

parted [オプション] ディスク名

ディスク一覧を確認する場合は、-lオプションを使います。

sudo parted -l

特定のディスクを操作する場合は、ディスク名を指定します。

sudo parted /dev/sdb

/dev/sdb1ではなく、通常は/dev/sdbのようなディスク本体を指定します。

parted -lでディスク一覧を確認する方法

接続されているディスクやパーティション情報を一覧表示するには、次のように実行します。

sudo parted -l

実行結果の例です。

Model: ATA Virtual Disk (scsi)
Disk /dev/sda: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  1075MB  1074MB  xfs
 2      1075MB  53.7GB  52.6GB  xfs

Model: ATA Virtual Disk (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:

Partition TablegptならGPT、msdosならMBR形式です。

unknownと表示される場合は、まだパーティションテーブルが作成されていない可能性があります。

partedの出力項目の見方

項目 意味
Model ディスクのモデル情報
Disk 対象ディスク名とサイズ
Sector size セクタサイズ
Partition Table GPTやMBRなどのパーティションテーブル種類
Number パーティション番号
Start 開始位置
End 終了位置
Size パーティションサイズ
File system ファイルシステム種類
Flags bootなどのフラグ

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

対話モードを起動する方法

特定のディスクを操作するには、次のように実行します。

sudo parted /dev/sdb

対話モードが起動すると、次のようなプロンプトが表示されます。

(parted)

この状態で、printmklabelmkpartなどのコマンドを入力して操作します。

対話モードでヘルプを表示する方法

対話モード内で使用できるコマンドを確認するには、helpを入力します。

(parted) help

特定のコマンドについて確認したい場合は、コマンド名を続けます。

(parted) help mkpart

操作に迷った場合は、無理に進めずヘルプを確認しましょう。

対話モードでパーティション情報を表示する方法

現在のディスク情報を確認するには、printを使用します。

(parted) print

実行結果の例です。

Model: ATA Virtual Disk (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size   File system  Name  Flags

操作前には必ずprintで現在の状態を確認してください。

表示単位を変更する方法

partedでは、unitコマンドで表示単位を変更できます。

たとえば、MiB単位で表示したい場合です。

(parted) unit MiB
(parted) print

GB単位で表示したい場合は次のようにします。

(parted) unit GB
(parted) print

開始位置や終了位置を分かりやすく指定したい場合は、MiBGiBを使うと扱いやすいです。

GPTのパーティションテーブルを作成する方法

空のディスクにGPTパーティションテーブルを作成するには、mklabel gptを使用します。

(parted) mklabel gpt

コマンド形式で一度に実行する場合は、次のようにも書けます。

sudo parted /dev/sdb mklabel gpt

mklabelを実行すると、既存のパーティションテーブルが作り直されます。既存データにアクセスできなくなる可能性が高いため、対象ディスクを必ず確認してください。

MBR形式のパーティションテーブルを作成する方法

MBR形式にしたい場合は、msdosを指定します。

(parted) mklabel msdos

ただし、現在のLinux環境や大容量ディスクではGPTを使うことが多いです。

特別な理由がなければ、追加ディスクにはGPTを検討するとよいでしょう。

新しいパーティションを作成する方法

GPTパーティションテーブルを作成したあと、新しいパーティションを作成します。

対話モードで次のように実行します。

(parted) mkpart primary ext4 1MiB 100%

この例では、1MiBからディスク末尾までを使うパーティションを作成しています。

作成後、確認します。

(parted) print

実行結果の例です。

Number  Start   End    Size   File system  Name     Flags
 1      1.00MiB 102400MiB 102399MiB        primary

作成したパーティションは、Linux上では/dev/sdb1のように認識されます。

コマンド一発でパーティションを作成する方法

partedは、対話モードを使わずにコマンドとして実行することもできます。

sudo parted -s /dev/sdb mklabel gpt
sudo parted -s /dev/sdb mkpart primary ext4 1MiB 100%

-sはスクリプト向けの非対話モードです。

ただし、確認なしで処理が進みやすいため、初心者はまず対話モードで動きを理解してから使うのがおすすめです。

パーティション作成後に必要な作業

partedでパーティションを作成しただけでは、まだファイル保存には使えません。

作成後は、通常次の作業が必要です。

  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

partedはパーティションを作るコマンドであり、ファイルシステムを作るコマンドではありません。

ファイルシステム作成には、前回解説したmkfsを使います。

パーティションを削除する方法

パーティションを削除するには、rmを使用します。

まず現在の状態を確認します。

(parted) print

削除したいパーティション番号を確認します。

Number  Start   End    Size   File system  Name
 1      1MiB    100GB  100GB               primary

番号1のパーティションを削除する場合は、次のように実行します。

(parted) rm 1

パーティションを削除すると、そのパーティション内のデータへ通常アクセスできなくなります。必ず対象番号を確認してください。

パーティションサイズを変更する方法

パーティションの終了位置を変更するには、resizepartを使用します。

(parted) resizepart 1 100%

この例では、1番パーティションの終了位置をディスク末尾まで拡張しています。

ただし、resizepartはパーティション領域を変更するだけです。

ファイルシステム自体の拡張は、別途resize2fsxfs_growfsなどが必要になる場合があります。

ファイルシステム 拡張に使う代表的なコマンド
ext4 resize2fs
xfs xfs_growfs

サイズ変更はデータに影響する可能性があるため、必ずバックアップを取ってから実施しましょう。

パーティションにフラグを設定する方法

パーティションにフラグを設定するには、setを使用します。

たとえば、1番パーティションにbootフラグを付ける場合です。

(parted) set 1 boot on

フラグを外す場合は、offを指定します。

(parted) set 1 boot off

通常のデータ用ディスクでは、特別なフラグ設定が不要なことも多いです。

partedの対話モードを終了する方法

対話モードを終了するには、quitを入力します。

(parted) quit

partedでは、操作内容によって変更がその場で反映されます。

fdiskのようにwで最後にまとめて書き込む方式とは違うため注意してください。

partedコマンドの主な操作一覧

操作 意味
print パーティション情報を表示する
unit MiB 表示単位をMiBにする
mklabel gpt GPTパーティションテーブルを作成する
mklabel msdos MBR形式のパーティションテーブルを作成する
mkpart 新しいパーティションを作成する
rm 番号 指定した番号のパーティションを削除する
resizepart パーティションの終了位置を変更する
set パーティションフラグを設定する
quit 対話モードを終了する

partedで追加ディスクを使えるようにする流れ

追加ディスクを/dataとして使えるようにする流れを整理します。

1. ディスク構成を確認する

lsblk

2. partedでGPTパーティションを作成する

sudo parted /dev/sdb

対話モードで実行します。

(parted) mklabel gpt
(parted) mkpart primary ext4 1MiB 100%
(parted) print
(parted) quit

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
lsblk -f

8. 必要ならfstabへ登録する

sudo blkid /dev/sdb1
sudo cp /etc/fstab /etc/fstab.bak
sudo vi /etc/fstab
sudo mount -a

このように、partedは追加ディスクを使えるようにする流れの中で、パーティション作成を担当します。

partedとmkfsの違い

partedmkfsは、どちらもディスク初期設定で使いますが、役割が違います。

コマンド 役割
parted パーティションを作成・削除・変更する
mkfs パーティションにファイルシステムを作成する

簡単にいうと、partedは「ディスクに領域を作る」、mkfsは「その領域をファイル保存できる形式にする」コマンドです。

partedとmountの違い

partedはパーティションを作るコマンドです。

mountは、作成済みのファイルシステムをディレクトリへ接続するコマンドです。

コマンド 役割
parted パーティションを操作する
mount ファイルシステムをディレクトリへ接続する

partedでパーティションを作成しただけでは、通常のファイル保存先としては使えません。

mkfsmountまで行う必要があります。

partedとlsblk・blkidの違い

lsblkblkidは確認用のコマンドです。

partedは確認もできますが、パーティションを変更できる操作系コマンドです。

コマンド 主な用途
lsblk ディスク構成を確認する
blkid UUIDやファイルシステム種類を確認する
parted パーティションを確認・作成・削除・変更する

安全のため、partedを実行する前後でlsblklsblk -fを使って確認しましょう。

partedコマンドでよくある注意点

対象ディスクを間違えない

partedで最も危険なのは、対象ディスクを間違えることです。

作業前に必ず確認します。

lsblk
sudo parted -l

システムディスクである/dev/sda/dev/nvme0n1を誤って操作しないようにしましょう。

mklabelは既存データに大きく影響する

mklabel gptmklabel msdosは、パーティションテーブルを作成し直す操作です。

既存のパーティション情報が失われ、データへアクセスできなくなる可能性があります。

空のディスクや初期化してよいディスクに対して使いましょう。

partedは変更が即時反映される場合がある

fdiskでは、対話モード内で最後にwを押すまで変更が保存されない流れでした。

一方、partedでは操作内容によって変更がその場で反映されます。

試しに入力する感覚で危険な操作をしないよう注意してください。

パーティション作成後はmkfsが必要

partedでパーティションを作成しただけでは、まだファイル保存には使えません。

通常はmkfsでファイルシステムを作成します。

sudo mkfs.ext4 /dev/sdb1

サイズ変更はファイルシステム側の作業も必要

resizepartでパーティション領域を広げても、ファイルシステムが自動で広がるとは限りません。

ext4ならresize2fs、xfsならxfs_growfsなどが必要になる場合があります。

partedコマンドでよくあるエラー

Permission denied

Error: Could not stat device /dev/sdb - Permission denied.

権限が不足しています。

通常はsudoを付けて実行します。

sudo parted -l
sudo parted /dev/sdb

No such file or directory

Error: Could not stat device /dev/sdb - No such file or directory.

指定したデバイスが存在しない可能性があります。

デバイス名を確認してください。

lsblk

unrecognised disk label

Error: /dev/sdb: unrecognised disk label

対象ディスクにパーティションテーブルがない場合などに表示されます。

新しい空ディスクであれば、mklabel gptでパーティションテーブルを作成することがあります。

(parted) mklabel gpt

ただし、既存データがあるディスクでは慎重に判断してください。

partition is being used

Error: Partition(s) on /dev/sdb are being used.

対象パーティションがマウント中、または使用中の可能性があります。

状態を確認します。

lsblk
findmnt

必要に応じてアンマウントします。

sudo umount /data

パーティションを作ったのに/dev/sdb1が見えない

カーネルがパーティション情報をまだ認識していない可能性があります。

partprobeを実行します。

sudo partprobe /dev/sdb
lsblk

それでも表示されない場合は、操作対象や作成内容を再確認してください。

よくある質問

partedコマンドは何に使いますか?

ディスクのパーティション情報を確認したり、パーティションテーブルやパーティションを作成・削除・変更したりするために使います。

partedとfdiskの違いは何ですか?

どちらもパーティション操作に使えます。fdiskは基本的な確認・操作でよく使われ、partedはGPTや大容量ディスク、スクリプト処理などで使われることがあります。

parted -lは安全ですか?

parted -lは情報表示なので、基本的には確認用として使えます。ただし、parted /dev/sdbで対話モードに入り、mklabelmkpartを実行する場合は注意が必要です。

mklabel gptは何をしますか?

対象ディスクにGPTのパーティションテーブルを作成します。既存のパーティション情報に大きく影響するため、空のディスクや初期化してよいディスクでのみ慎重に使いましょう。

partedでパーティションを作ったらすぐ使えますか?

いいえ。通常はmkfsでファイルシステムを作成し、mountでマウントする必要があります。

sudo mkfs.ext4 /dev/sdb1
sudo mount /dev/sdb1 /data

partedで操作するのは/dev/sdbですか?/dev/sdb1ですか?

パーティションを作成・削除する場合は、通常/dev/sdbのようなディスク本体を指定します。/dev/sdb1は作成されたパーティションです。

partedの変更はwで保存するのですか?

fdiskとは異なり、partedでは操作内容によって変更がその場で反映されます。wで最後に保存する方式ではないため注意してください。

resizepartだけでファイルシステムも拡張されますか?

通常、resizepartはパーティション領域を変更するだけです。ファイルシステム側はresize2fsxfs_growfsなどで別途拡張が必要になる場合があります。

UbuntuやCentOS Streamでも使えますか?

はい。Ubuntu、Debian、CentOS Stream、Rocky Linux、AlmaLinuxなど、多くのLinuxディストリビューションで利用できます。

まとめ

partedコマンドは、Linuxでディスクのパーティション情報を確認・作成・削除・変更するためのコマンドです。

ディスク一覧を確認する場合は、次のように実行します。

sudo parted -l

特定のディスクを操作する場合は、ディスク本体を指定します。

sudo parted /dev/sdb

対話モードでは、printで確認、mklabel gptでGPTパーティションテーブル作成、mkpartでパーティション作成、rmで削除、quitで終了できます。

(parted) print
(parted) mklabel gpt
(parted) mkpart primary ext4 1MiB 100%
(parted) quit

partedでパーティションを作成しただけでは、まだファイル保存には使えません。

通常はmkfsでファイルシステムを作成し、mountでマウントします。

sudo mkfs.ext4 /dev/sdb1
sudo mkdir -p /data
sudo mount /dev/sdb1 /data

partedは便利ですが、操作を間違えるとデータを失う危険があります。作業前には必ずlsblkparted -lで対象ディスクを確認し、必要なデータはバックアップしてから操作しましょう。

コメント

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