このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Linux】MBRとGPTで使用する:partedコマンド

partedコマンドの概要
parted
コマンドは、MBR (Master Boot Record) とGPT (GUID Partition Table) の両方に対応したパーティション操作ツールです。ディスクのパーティションテーブルの作成、修正、削除、表示などの操作を行うことができます。parted
はオプションなしで実行すると対話モードになり、ユーザーは対話的にコマンドを入力して操作できます。
【構文】parted デバイスファイル名 [-s サブコマンド]
デバイスファイル名
: パーティションを操作する対象のデバイスファイル名(例: /dev/sda)-s
: 非対話モードでサブコマンドを一括実行するオプション

partedコマンドのサブコマンドと説明
サブコマンド | 説明 |
---|---|
unit [s|B|kB|MB|GB...] | パーティション操作時の単位を指定します。 例: s=セクター, B=バイト, MB=メガバイト, GB=ギガバイト。 |
mklabel [gpt|msdos] | パーティションテーブルの形式を指定します。 gptはGPT, msdosはMBRを作成。 |
mkpart 種類 開始 終了 | パーティションを作成します。 種類を指定し、開始と終了位置を設定。 |
rm 番号 | 指定した番号のパーティションを削除します。 |
print , p | 現在のパーティションテーブルを表示します。 |
quit , q | parted を終了します。 |
コマンドの使用例と解説
以下は、4台目のディスクをparted
コマンドを使ってパーティションに分割する手順です。fdisk
コマンドおよび、gdisk
コマンドと同様に、パーティションの操作は対話モードで進めていきます。
1.「su -」コマンドを実行する。
・「su -
」コマンドを実行します。
パーティションの操作はシステム管理のコマンドになるため、rootユーザーに切り替えておく必要があります。パスワードの入力が求められたら、パスワードを入力します。
user01@ubuntu-vm:~$ su -
パスワード:
root@ubuntu-vm:~#
2.オプションを指定しないでpartedコマンドを実行する。
・「parted /dev/sdd
」コマンドを実行します。
parted
を実行し、「/dev/sdd
」の部分で4台目のディスクを指定しています。
root@ubuntu-vm:~# parted /dev/sdd
GNU Parted 3.4
/dev/sdd を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted)
3.単位をMBに指定する。
・「unit MB」と入力し、Enterキーを押します。
単位をMBに指定します。
(parted) unit MB
4.パーティションテーブルをGPTで作成する。
・「mklabel gpt」と入力し、Enterキーを押します。
パーティションテーブルをGPTで作成します。
(parted) mklabel gpt
5.名前を設定する。
・「mkpart part1」と入力し、Enterキーを押します。
パーティションの名前を指定します。
(parted) mkpart part1
6.ファイルシステムの種類を指定する。
・Enterキーを押します。
デフォルトのファイルシステムが選択されます。
ファイルシステムの種類? [ext2]?
7.開始位置を指定する。
・「1」と入力し、Enterキーを押します。
開始位置を指定します。
開始? 1
8.終了位置またはサイズを指定する。
・「1000」と入力し、Enterキーを押します。
終了位置を指定します。
終了? 1000
9.パーティションテーブルを表示する。
・「p」と入力し、Enterキーを押します。
作成したパーティションを確認します。
(parted) p
モデル: ATA VBOX HARDDISK (scsi)
ディスク /dev/sdd: 10737MB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ:
番号 開始 終了 サイズ ファイルシステム 名前 フラグ
1 1.05MB 1000MB 999MB ext2 part1
10.終了する。
・「q」と入力し、Enterキーを押します。
parted
を終了します。
(parted) q
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください
11.デバイスファイルを確認する。
・「ls /dev/sd*
」コマンドを実行します。
新しいパーティション「/dev/sdd1」が作成されていることを確認します。
root@ubuntu-vm:~# ls /dev/sd*
/dev/sda /dev/sda2 /dev/sdb1 /dev/sdc1 /dev/sdd1
/dev/sda1 /dev/sdb /dev/sdc /dev/sdd
コマンドライン上で一括実行
parted
コマンドの-s
オプションを使用すると、対話モードではなく、コマンドライン上で処理を一括実行できます。これにより、シェルスクリプトでの自動化が可能となります。ただし、parted
はサブコマンド実行後すぐに変更を反映するため、慎重に操作する必要があります。
例) 1GBのパーティションを作成する場合parted /dev/sdd -s unit MB -s mkpart part2 1000 2000
parted /dev/sdd
: 4台目のディスクを対象とする。-s unit MB
: 単位をMBに指定-s mkpart part2 1000 2000
: 名前がpart2のパーティションを1000MBから2000MBまで作成する。
以下のコマンドを実行します
- 「
parted /dev/sdd -s unit MB -s mkpart part2 1000 2000
」コマンド - 「
ls /dev/sd*
」コマンド
新しいパーティション「/dev/sdd2」が作成されていることを確認します。
root@ubuntu-vm:~# parted /dev/sdd -s unit MB -s mkpart part2 1000 2000
root@ubuntu-vm:~# ls /dev/sd*
/dev/sda /dev/sda2 /dev/sdb1 /dev/sdc1 /dev/sdd1
/dev/sda1 /dev/sdb /dev/sdc /dev/sdd /dev/sdd2
まとめ
parted
コマンドは、MBRとGPTの両方に対応しており、システムのパーティション操作を効率的に行うことができます。対話モードやスクリプトでの一括実行が可能であり、操作内容が即座に反映されるため、慎重な操作が求められます。