Linuxコマンド辞典 partedコマンド(デバイス)

パーティションの作成/削除/サイズ変更を行う「parted」コマンドの概要と使い方を記載しています。

RHEL Fedora CentOS Vine Ubuntu Plamo

概要・使用方法

書式

$ parted デバイスファイル名
$ parted [オプション] [デバイスファイル名[サブコマンド [オプションを]]]

partedはパーティションの作成/削除/サイズ変更を行うことができます。2TB越えるHDDでパーティション分割する場合はfdiskではなく、parted、gdiskコマンドを使うのが一般的です。「対話シェル」と「コマンド実行」の2パターンの実行方法があります。コマンドを指定しないとシェルが起動し、mkpartなどのコマンドを対話的に実行できます。対話的シェルにならないようにオプションを指定すれば、シェルスクリプトなどに利用できます。サイズの変更前にはデータをバックアップしておきます。

パーティション作成後は、mkfsコマンドなどを使ってファイルシステムを作成します。

旧来のMBRを使ってパーティションテーブルでは、1つのディスクを最大4つのプライマリパーティション(基本パーティション)に分割し、そのうちの1つを拡張パーティションとし、拡張パーティション内に複数の論理パーティションを作成できます。UEFIで使用可能なGUIDパーティションテーブル(GPT)では、最大128のプライマリパーティションを作成できます。

オプション

-l, –listパーティション構成を表示する
-s, –script対話的なプロンプトを出さない

サブコマンド

mklabel ラベル新しいラベルを作成する。2TB以上のディスクの場合は「gpt」を指定してGPT、それ以下の場合は「msdos」を指定してMBRにパーティション構成を
格納する。loop/bsd/macなども使用できる。
mkpart パーティションタイプ開始場所,終了場所パーティションタイプはprimary(基本パーティション)、extend(拡張パーティション)、logicalを指定する。
指定した開始から終了までの領域でパーティションを作成する
(例:0MBから150MB、0%から15%などのように指定する)
mkfs 番号 ファイルシステム指定したパーティション番号に指定したファイルシステムを作成する。ファイルシステムにはfat16/fat32/ext2/linux-swapなどが選択できる。
それ以上のファイルシステムは別コマンドを利用する必要がある
printパーティション情報を表示する
quitpartedを終了する
resize パーティション番号開始 終了指定した番号のパーティションを開始、終了で指定する領域にサイズ変更する。ファイルシステムが既に作られている必要がある
rm パーティション番号指定した番号のパーティションを削除する
select デバイス指定したデバイスを対象に扱う
unit 単位デフォルトのサイズ単位を指定する。TB/TiB/GB/GiB/MB/MiBなどを指定できる
set パーティション番号 フラグ 状態指定したフラグを設定する。フラグは「boot」、「root」、「swap」など、状態を「on」「off」を指定する
help利用できるコマンドを表示する

現在のパーティション構成を表示する

$ parted -l

実行結果

[root@localhost ~]# parted -l
モデル: Msft Virtual Disk (scsi)
ディスク /dev/sda: 42.9GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ: 

番号  開始    終了    サイズ  タイプ   ファイルシステム  フラグ
 1    1049kB  1075MB  1074MB  primary  xfs               boot
 2    1075MB  42.9GB  41.9GB  primary                    lvm


モデル: Msft Virtual Disk (scsi)
ディスク /dev/sdb: 1074MB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ: 

番号  開始    終了    サイズ  タイプ   ファイルシステム  フラグ
 1    1049kB  1074MB  1073MB  primary


[root@localhost ~]# 

パーティションを作成する

$ parted デバイスファイル名

実行結果

[root@localhost ~]# parted /dev/sdb #←/dev/sdbを操作対象として起動する
GNU Parted 3.2
/dev/sdb を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) mklabel msdos                                                    
警告: いま存在している /dev/sdb のディスクラベルは破壊され、このディスクの全データが失われます。続行しますか?
はい(Y)/Yes/いいえ(N)/No? y                                               
(parted) mkpart primary 0% 100%   #←パーティションを作成する。primaryタイプで0%~100%を指定する
(parted) print                      #←パーティションテーブルをテーブルを確認すると追加されていることが確認できる                                               
モデル: Msft Virtual Disk (scsi)
ディスク /dev/sdb: 1074MB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ: 

番号  開始    終了    サイズ  タイプ   ファイルシステム  フラグ
 1    1049kB  1074MB  1073MB  primary                    lba

(parted)                  

デフォルトの単位をGBに変更する

unitサブコマンドの説明を表示し、デフォルトの単位をGBに指定する

$ parted

実行結果

[root@localhost ~]# parted
GNU Parted 3.2
/dev/sda を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) help unit                                                        
  unit UNIT                     デフォルトの単位を UNIT にする

        UNIT は次のうちから選びます: s, B, kB, MB, GB, TB, compact, cyl, chs, %, kiB, MiB, GiB, TiB
(parted) unit GB     #←単位をGBにする                                                     
(parted)           

論理パーティションを追加する

「mkpart extended」サブコマンドを使用して論理パーティションを追加

$ parted デバイスファイル名

実行結果

(parted) mkpart extended 161MB 200MB      #←論理パーティションを161MB-200MB範囲で拡張                                  
(parted) p                                                                
モデル: Msft Virtual Disk (scsi)
ディスク /dev/sdb: 1074MB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ: 

番号  開始    終了   サイズ  タイプ    ファイルシステム  フラグ
 1    1049kB  161MB  160MB   primary                     lba
 2    161MB   200MB  38.8MB  extended                    lba

(parted)      

論理パーティションを追加する(非対話的)

mkpart logical サブコマンドを使用して論理パーティションを追加

$ parted デバイス名 mkpart logical 開始 終了

実行結果

[root@localhost ~]# parted /dev/sdb mkpart logical 200MB 300MB