【Linux】partedコマンドの使い方|パーティション作成・削除・確認の基本

Linux

どーも!marusukeです!

ディスクのパーティション操作を行うコマンドpartedについて説明します!

partedコマンドでできること

parted [オプション] [デバイス]

partedは、ディスクのパーティションを操作するためのコマンドです。GPT(GUID Partition Table)・MBR(Master Boot Record)どちらの形式のディスクにも対応しており、対話モード/非対話モードの両方で、パーティションの作成・削除・リサイズなどを行うことができます。

主な機能

機能内容
パーティションの表示ディスク上の既存パーティションを一覧表示します
新しいパーティションの作成ディスク上に新しいパーティションを作成します
パーティションの削除既存のパーティションを削除します
パーティションのリサイズ既存パーティションのサイズを変更します
ディスクラベルの作成ディスクのパーティションテーブル形式(gpt、msdosなど)を初期化します

補足:「パーティションにファイルシステムを作成する」と紹介されることがありますが、これは誤解されやすいポイントです。partedはパーティションの枠組みを作るコマンドであり、ファイルシステムそのものを作成するわけではありません。詳しくは後述の「mkpartの注意点」で説明します。

対話モードの使用例

オプションを付けずに実行すると、対話モードで起動します。

sudo parted /dev/sda

例:新しいGPTディスクの初期化とパーティション作成

  1. partedを起動
sudo parted /dev/sda
  1. 新しいGPTディスクラベルを作成
(parted) mklabel gpt
  1. 新しいパーティションを作成
(parted) mkpart primary ext4 0% 50%
(parted) mkpart primary ext4 50% 100%
  1. 作成したパーティションを確認
(parted) print
  1. 対話モードを終了
(parted) quit

出力例

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

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  50.0GB  50.0GB  ext4         primary
 2      50.0GB  100GB   50.0GB  ext4         primary

mkpartの注意点

mkpartの書式は次の通りです。

mkpart [パーティション種別] [ファイルシステム種別] 開始位置 終了位置

ここで指定するext4などの「ファイルシステム種別」は、実際にファイルシステムを作成するためのものではありません。GPTではパーティションタイプGUID、MBRではパーティションタイプIDを設定するための“目印”として使われるだけです。

そのため、mkpartの実行が終わった時点では、パーティションの枠が用意されただけの状態です。実際にデータを読み書きできるようにするには、このあとmkfsコマンドなどで該当パーティションにファイルシステムを作成し、必要な場所にマウントする作業が必要になります。

sudo mkfs.ext4 /dev/sda1
sudo mount /dev/sda1 /mnt/data

対話モードの主なサブコマンド

コマンド説明
help使用可能なコマンドの一覧を表示します
printパーティションテーブルを表示します
mklabel新しいディスクラベルを作成します(gpt、msdosなど)
mkpart新しいパーティションを作成します
rm既存のパーティションを削除します
resizepart既存のパーティションをリサイズします
quit対話モードを終了します

非対話モードの使用例

非対話モードでは、コマンドと引数を一度に指定して実行できます。スクリプトに組み込んで自動化したい場合に便利です。

例1:非対話モードでパーティションを作成

sudo parted -s /dev/sda mklabel gpt
sudo parted -s /dev/sda mkpart primary ext4 0% 50%
sudo parted -s /dev/sda mkpart primary ext4 50% 100%

例2:ディスクのパーティションテーブルを表示

sudo parted -l

出力例

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

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  50.0GB  50.0GB  ext4         primary
 2      50.0GB  100GB   50.0GB  ext4         primary

主なオプション

オプション説明
-h, –helpヘルプメッセージを表示します
-l, –listすべてのブロックデバイスのパーティション情報を表示します
-s, –scriptスクリプトモードで実行します(対話なしでコマンドを実行)
-a, –align タイプパーティション作成時の配置(アライメント)方法を指定します。nonecylinderminimaloptimalから選べます

注意点

  • バックアップを取ってから操作する:パーティションテーブルの操作を誤るとデータを失う可能性があります。重要なデータは事前にバックアップしておきましょう
  • mkpartだけでは使える状態にならない:パーティションを作成したあとは、mkfs系のコマンドでファイルシステムを作成し、mountで適切な場所にマウントするところまでがセットです
  • 対象デバイスを必ず確認する:操作前にparted -lなどでデバイス名を確認し、別のディスクを指定してしまわないように気をつけましょう

まとめ

partedは、GPT・MBRどちらのディスクにも対応したパーティション操作コマンドです。対話モード・非対話モードの両方を使い分けながら、パーティションの作成・削除・変更ができます。ただしmkpartが作るのはあくまで「パーティションの枠」であり、ファイルシステムの作成は別途mkfsで行う必要がある点を覚えておきましょう。

参考図書・リンク

参考にさせていただいている図書やリンクは以下です↓

以上です!

ここまで読んでいただきありがとうございました!

コメント

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