LinuxでGPT形式のディスクや大容量ディスクのパーティションを操作したいときは、partedコマンドを使用します。
前回解説したmkfsコマンドは、作成済みのパーティションにファイルシステムを作成するコマンドでした。
一方、partedは、ディスクのパーティションテーブルを確認したり、パーティションを作成・削除・サイズ変更したりするためのコマンドです。
fdiskでもパーティション操作はできますが、partedはGPTや大容量ディスクを扱う場面でよく使われます。
ただし、partedはディスクのパーティション情報を変更できる強力なコマンドです。操作を間違えるとデータを失う可能性があります。
この記事では、Linux初心者でも安全に理解できるように、partedコマンドの基本、parted -lでの確認、対話モードでのprint、mklabel、mkpart、resizepartの使い方、fdiskとの違い、作業時の注意点まで実例付きで解説します。
- partedコマンドとは
- partedとfdiskの違い
- partedを使う前の重要な注意点
- 対象ディスクを確認する方法
- partedコマンドの基本構文
- parted -lでディスク一覧を確認する方法
- partedの出力項目の見方
- 対話モードを起動する方法
- 対話モードでヘルプを表示する方法
- 対話モードでパーティション情報を表示する方法
- 表示単位を変更する方法
- GPTのパーティションテーブルを作成する方法
- MBR形式のパーティションテーブルを作成する方法
- 新しいパーティションを作成する方法
- コマンド一発でパーティションを作成する方法
- パーティション作成後に必要な作業
- パーティションを削除する方法
- パーティションサイズを変更する方法
- パーティションにフラグを設定する方法
- partedの対話モードを終了する方法
- partedコマンドの主な操作一覧
- partedで追加ディスクを使えるようにする流れ
- partedとmkfsの違い
- partedとmountの違い
- partedとlsblk・blkidの違い
- partedコマンドでよくある注意点
- partedコマンドでよくあるエラー
- よくある質問
- まとめ
partedコマンドとは
partedは、Linuxでディスクのパーティションテーブルを確認・編集するためのコマンドです。
パーティションとは、1つのディスクを複数の領域に分けたものです。
たとえば、追加ディスク/dev/sdbに、データ用のパーティション/dev/sdb1を作成するような場面で使います。
/dev/sdb
└─/dev/sdb1
partedでは、主に次のような操作ができます。
- ディスクやパーティション情報を表示する
- GPTやMBRのパーティションテーブルを作成する
- 新しいパーティションを作成する
- 既存パーティションを削除する
- パーティションサイズを変更する
- パーティションのフラグを設定する
確認だけでなく編集もできるため、作業前には必ず対象ディスクを確認しましょう。
partedとfdiskの違い
partedとfdiskは、どちらもパーティション操作で使うコマンドです。
ただし、得意な用途が少し違います。
| コマンド | 主な用途 | 特徴 |
|---|---|---|
fdisk |
パーティション情報の確認・作成・削除 | 基本的なパーティション操作でよく使う |
parted |
GPTや大容量ディスクを含むパーティション操作 | 大容量ディスクやスクリプト処理にも向く |
最近のLinux環境ではfdiskもGPTに対応していますが、GPTや大容量ディスクを明確に扱う場面ではpartedが使われることがあります。
初心者は、まずlsblkやfdisk -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 TableがgptならGPT、msdosならMBR形式です。
unknownと表示される場合は、まだパーティションテーブルが作成されていない可能性があります。
partedの出力項目の見方
| 項目 | 意味 |
|---|---|
Model |
ディスクのモデル情報 |
Disk |
対象ディスク名とサイズ |
Sector size |
セクタサイズ |
Partition Table |
GPTやMBRなどのパーティションテーブル種類 |
Number |
パーティション番号 |
Start |
開始位置 |
End |
終了位置 |
Size |
パーティションサイズ |
File system |
ファイルシステム種類 |
Flags |
bootなどのフラグ |
初心者がまず見るべき項目は、Disk、Partition Table、Number、Start、End、Sizeです。
対話モードを起動する方法
特定のディスクを操作するには、次のように実行します。
sudo parted /dev/sdb
対話モードが起動すると、次のようなプロンプトが表示されます。
(parted)
この状態で、printやmklabel、mkpartなどのコマンドを入力して操作します。
対話モードでヘルプを表示する方法
対話モード内で使用できるコマンドを確認するには、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
開始位置や終了位置を分かりやすく指定したい場合は、MiBやGiBを使うと扱いやすいです。
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でパーティションを作成しただけでは、まだファイル保存には使えません。
作成後は、通常次の作業が必要です。
- パーティション情報を再読み込みする
- ファイルシステムを作成する
- マウントポイントを作成する
- マウントする
- 必要なら
/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はパーティション領域を変更するだけです。
ファイルシステム自体の拡張は、別途resize2fsやxfs_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の違い
partedとmkfsは、どちらもディスク初期設定で使いますが、役割が違います。
| コマンド | 役割 |
|---|---|
parted |
パーティションを作成・削除・変更する |
mkfs |
パーティションにファイルシステムを作成する |
簡単にいうと、partedは「ディスクに領域を作る」、mkfsは「その領域をファイル保存できる形式にする」コマンドです。
partedとmountの違い
partedはパーティションを作るコマンドです。
mountは、作成済みのファイルシステムをディレクトリへ接続するコマンドです。
| コマンド | 役割 |
|---|---|
parted |
パーティションを操作する |
mount |
ファイルシステムをディレクトリへ接続する |
partedでパーティションを作成しただけでは、通常のファイル保存先としては使えません。
mkfsとmountまで行う必要があります。
partedとlsblk・blkidの違い
lsblkやblkidは確認用のコマンドです。
partedは確認もできますが、パーティションを変更できる操作系コマンドです。
| コマンド | 主な用途 |
|---|---|
lsblk |
ディスク構成を確認する |
blkid |
UUIDやファイルシステム種類を確認する |
parted |
パーティションを確認・作成・削除・変更する |
安全のため、partedを実行する前後でlsblkやlsblk -fを使って確認しましょう。
partedコマンドでよくある注意点
対象ディスクを間違えない
partedで最も危険なのは、対象ディスクを間違えることです。
作業前に必ず確認します。
lsblk
sudo parted -l
システムディスクである/dev/sdaや/dev/nvme0n1を誤って操作しないようにしましょう。
mklabelは既存データに大きく影響する
mklabel gptやmklabel 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で対話モードに入り、mklabelやmkpartを実行する場合は注意が必要です。
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はパーティション領域を変更するだけです。ファイルシステム側はresize2fsやxfs_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は便利ですが、操作を間違えるとデータを失う危険があります。作業前には必ずlsblkやparted -lで対象ディスクを確認し、必要なデータはバックアップしてから操作しましょう。




コメント