Linux parted コマンド
一、parted コマンド概要
parted は Linux システムにおける強力なディスクパーティションツールです。GPT や MBR など複数のパーティションテーブルタイプをサポートし、ディスクパーティションの作成、削除、サイズ変更、管理ができます。従来の fdisk と比較して、parted は大容量ディスク(2TB超)や現代のパーティションニーズに特に適しています。
主な特徴
- 対話式と非対話式:コマンドライン直接操作と対話式操作の2つのモードをサポート
- 即時反映:ほとんどの操作は即座にディスクに書き込まれ、追加の確認は不要
- 複数のファイルシステムサポート:ext2/3/4、xfs、btrfs、fat、ntfs など
- 無損失でのサイズ変更:データを失わずにパーティションサイズを変更可能(ファイルシステムのサポートが必要)
二、インストールと基本構文
parted のインストール
ほとんどの Linux ディストリビューションには parted がプリインストールされています。インストールする場合:
# Debian/Ubuntu sudo apt install parted # CentOS/RHEL sudo yum install parted
基本コマンド構文
例
parted [オプション] [デバイス] [コマンド[引数]]
よく使うオプション
| オプション | 説明 |
|---|---|
-l |
すべてのブロックデバイスのパーティション情報を一覧表示 |
-s |
スクリプトモード(非対話式) |
-a |
アライメントタイプを設定(min/opt/none) |
-f |
一部の警告情報を抑制 |
三、対話式操作モード
対話モードに入る
例
sudo parted /dev/sdX
将 /dev/sdX実際のデバイス名に置き換えてください(例:/dev/sda)
対話モードのよく使うコマンド
ヘルプを表示
例
help [コマンド名]
パーティションテーブルを表示
例
print
単位を切り替え
例
unit GB # GB表示に切り替え
unit MB # MB表示に切り替え
unit MB # MB表示に切り替え
新しいパーティションを作成
例
mkpart [パーティションタイプ] [ファイルシステムタイプ] 開始位置 終了位置
例:
例
mkpart primary ext4 1GB 10GB
パーティションを削除
例
rm [パーティション番号]
パーティションサイズを変更
例
resizepart [パーティション番号] 終了位置
パーティションフラグを設定
例
set [パーティション番号] [フラグ] on/off
よく使うフラグ:boot, lvm, raid, swap 等
終了
例
quit
四、よく使う操作例
例1:すべてのディスクパーティションを表示
例
sudo parted -l
出力例:
Model: ATA ST1000DM010-2EP1 (scsi) Disk /dev/sda: 1000GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 538MB 537MB fat32 boot, esp 2 538MB 1000GB 999GB ext4
例2:新しいパーティションテーブルを作成(GPT形式)
例
sudo parted /dev/sdb mklabel gpt
例3:プライマリパーティションを作成(非対話式)
例
sudo parted -s /dev/sdb mkpart primary ext4 1MiB 10GiB
例4:パーティションサイズを変更
例
sudo parted -s /dev/sdb resizepart 2 20GiB
例5:起動フラグを設定
例
sudo parted -s /dev/sda set 1 boot on
五、高度な機能と注意事項
1. パーティションアライメントの最適化
現代のディスク(特にSSD)は、最適なパフォーマンスを得るために正しいパーティションアライメントが必要です:
例
sudo parted -a optimal /dev/sdb mkpart primary ext4 0% 100%
2. パーティションテーブルタイプの変換
例
sudo parted /dev/sdb mklabel msdos # MBRに変換
sudo parted /dev/sdb mklabel gpt # GPTに変換
sudo parted /dev/sdb mklabel gpt # GPTに変換
⚠️ 注意:これによりディスク上のすべてのパーティションが削除されます!
3. ファイルシステム操作
parted はパーティションのみを管理し、ファイルシステムの作成には追加のコマンドが必要です:
例
sudo mkfs.ext4 /dev/sdb1
4. 注意事項
- データの安全性:パーティション操作はデータ損失を引き起こす可能性があるため、必ず事前にバックアップを取ってください
- パーティション使用中:マウント済みのパーティションは変更できません
- サイズ単位:単位(GB/MBなど)を明示的に指定してください。指定しない場合、デフォルトでバイトが使用されます
- GPT vs MBR:2TBを超えるディスクはGPTパーティションテーブルを使用する必要があります
六、parted と fdisk/gdisk の比較
| 特徴 | parted | fdisk | gdisk |
|---|---|---|---|
| 対話モード | サポート | サポート | サポート |
| スクリプトモード | サポート | サポートなし | サポートなし |
| GPTサポート | である | 限定的サポート | である |
| 大容量ディスクサポート | である | いいえ(MBRのみ) | である |
| 即時書き込み | である | いいえ(wコマンドが必要) | いいえ(wコマンドが必要) |
| パーティションサイズの変更 | である | 否 | 否 |