partedコマンドの使い方を完全解説!Linuxのパーティション管理とストレージ設定の基本
生徒
「Linux(リナックス)で新しいハードディスクを追加したんですけど、そのままでは使えないって本当ですか?」
先生
「はい、本当ですよ。新しいストレージを使うには、まず『パーティション』という区切りを作る必要があります。そのために使うのがparted(パーティド)コマンドです。」
生徒
「パーティション……。難しそうですね。初心者でもコマンドで操作できるんでしょうか?」
先生
「大丈夫です。parted(パーティド)は対話形式でも操作できるので、一つずつ確認しながら進められます。基本を一緒に学んでいきましょう。」
Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。
試して理解 Linuxのしくみを見る※ Amazonアソシエイト広告リンク
1. partedコマンドとは?
parted(読み方はparted:パーティド)は、Linux(リナックス)においてハードディスクやSSDなどの記憶装置にパーティションを作成、削除、リサイズするための管理ツールです。Partition Editor(パーティション・エディター)の略称が名前の由来となっています。
Windows(ウィンドウズ)でいうところの「ディスク管理」ツールを、コマンドライン(黒い画面)で操作するものだとイメージしてください。Linux(リナックス)には他にもfdisk(エフディスク)というツールがありますが、parted(パーティド)は2TB(テラバイト)を超える大容量ディスクにも対応しているのが大きな特徴です。
ストレージを管理する上で、物理的なディスクを論理的な部屋に分ける作業は、OS(オーエス)をインストールしたり、データを整理したりするために欠かせない工程です。
2. パーティションとディスクラベルの基礎知識
parted(パーティド)を使う前に、知っておくべき重要な言葉が2つあります。それは「パーティション」と「ディスクラベル」です。
パーティション(読み方はパーティション:隔壁)とは、1つの大きなハードディスクを、あたかも複数のディスクがあるかのように分割した「部屋」のことです。例えば、1TB(テラバイト)のディスクを、システム用の200GB(ギガバイト)とデータ保存用の800GB(ギガバイト)に分けることができます。
ディスクラベル(読み方はディスクラベル)は、パーティションの情報を管理する形式のことです。主に以下の2種類があります。
- MBR(読み方はエムビーアール):古い形式。2TB(テラバイト)までのディスクに対応。
- GPT(読み方はジーピーティー):新しい形式。2TB(テラバイト)を超える大容量ディスクに対応。
現代のサーバーやPCでは、大容量化が進んでいるため、GPT(ジーピーティー)を選択するのが一般的です。
3. ディスクの情報を確認する基本操作
まずは、自分のコンピューターにどのようなディスクが接続されているかを確認してみましょう。この操作は一般ユーザーでも実行可能ですが、詳細な情報を得るには管理者権限が必要な場合があります。
現在認識されているすべてのディスク情報を表示するには、-lオプションを使用します。
parted -l
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 21.5GB 21.5GB ext4 boot
この実行結果から、/dev/sda(デブ・エスディーエー)という名前のディスクがあり、容量が21.5GB(ギガバイト)、パーティション形式がGPT(ジーピーティー)であることがわかります。Linux(リナックス)では、ディスクに/dev/sdaや/dev/sdbといった名前が付けられます。
4. 対話モードでのpartedの起動
parted(パーティド)の最大の特徴は、コマンドを打ち込んだ後に「対話モード」へ移行できる点です。これにより、一歩ずつ指示を出しながら作業ができます。特定のディスクを指定して起動してみましょう。ここからはシステムに変更を加えるため、root(ルート)ユーザーで操作します。
parted /dev/sdb
GNU Parted 3.5
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
(parted)という表示に変わったら、準備完了です。ここでprint(プリント)と入力すると、そのディスクの現在の状態を表示できます。もし「unrecognised disk label」と表示された場合は、まだパーティションの設計図が書かれていない、まっさらな状態であることを意味します。
5. 新しいディスクラベル(パーティションテーブル)の作成
新品のディスクを使い始める際は、まず「このディスクはGPT形式で使いますよ」という宣言をする必要があります。これを「ラベルを貼る」といいます。対話モードの中でmklabel(マークラベル)コマンドを使いましょう。
注意:この操作を行うと、そのディスクに入っていたデータはすべて消去されます。必ず対象のディスク名(/dev/sdbなど)が正しいか確認してください。
(parted) mklabel gpt
(parted) print
Model: Unknown (google)
Disk /dev/sdb: 10.7GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
これで、10.7GB(ギガバイト)の空っぽのディスクに、GPT(ジーピーティー)形式のテーブルが作成されました。まだ中身は空室の状態です。
6. パーティションの作成(mkpart)
次に、実際にデータを保存するための部屋(パーティション)を作ります。mkpart(マークパート)コマンドを使います。書式は「mkpart 名前 ファイルシステムの種類 開始位置 終了位置」となります。
例えば、ディスクの先頭から5GB(ギガバイト)分を「data」という名前で区切ってみましょう。
(parted) mkpart primary ext4 1MB 5GB
(parted) print
Number Start End Size File system Name Flags
1 1049kB 5000MB 4999MB ext4 primary
開始位置を1MB(イチメガバイト)にしているのは、アライメント(最適化)のためです。これにより、ディスクのパフォーマンスが向上します。終了位置に5GBと指定することで、約5GB(ギガバイト)のパーティションが出来上がりました。Linux(リナックス)の標準的なファイルシステムであるext4(イーエックスティーフォー)を想定した設定です。
7. 単位の切り替えと詳細表示
parted(パーティド)では、容量を表示する単位を自由に変更できます。デフォルトではコンパクトに表示されますが、正確なバイト数を知りたい場合もあります。そんなときはunit(ユニット)コマンドを使いましょう。
GB(ギガバイト)ではなく、セクタ単位やMiB(メビバイト)単位で表示を切り替えることで、より精密なパーティション操作が可能になります。
(parted) unit MiB
(parted) print
Disk /dev/sdb: 10240MiB
Number Start End Size File system Name Flags
1 1.00MiB 4768MiB 4767MiB ext4 primary
このように、単位を変えることで残りの空き容量が正確に把握できるようになります。ITエンジニアの間では、計算の誤差を防ぐためにMiB(メビバイト)単位を使うことがよくあります。ちなみに、1MiBは1024KiB(キビバイト)です。
8. パーティションの削除と終了
もし間違えてパーティションを作ってしまった場合は、rm(アールエム)コマンドで削除できます。削除したいパーティションの番号(Number)を指定するだけです。
作業がすべて終わったら、quit(クイット)コマンドで対話モードを終了します。parted(パーティド)は他のツールと異なり、コマンドを打った瞬間にディスクへ書き込みが行われるため、「保存して終了」という概念がありません。操作には慎重さが求められます。
(parted) rm 1
(parted) print
Number Start End Size File system Name Flags
(空の状態に戻る)
(parted) quit
Information: You may need to update /etc/fstab.
終了時に「/etc/fstabを更新する必要があるかもしれません」というメッセージが出ることがあります。これは、新しく作ったパーティションをシステム起動時に自動で認識させるための設定ファイルのことで、ストレージ管理の次のステップになります。
9. 初心者が覚えておくべきpartedの歴史とメリット
parted(パーティド)は、長年Linux(リナックス)界隈で愛用されてきたツールです。昔からあるfdisk(エフディスク)が「MBR形式」に特化していたのに対し、parted(パーティド)はいち早く「GPT形式」に対応し、テラバイト級のデータを扱う現代のサーバー環境のスタンダードとなりました。
また、スクリプト(自動実行プログラム)との相性が非常に良いこともメリットです。対話モードに入らずに、一行のコマンドでパーティション作成を完了させることもできるため、大量のサーバーを同時にセットアップするインフラエンジニア(読み方はインフラエンジニア)にとっては必須の知識といえるでしょう。
ストレージ管理はOS(オーエス)の心臓部に関わる作業です。parted(パーティド)を使いこなせるようになれば、自作PCのLinux(リナックス)インストールや、クラウドサービスでのディスク拡張もスムーズに行えるようになりますよ。
LPICレベル1の合格を目指している人や、 Linuxコマンド・シェル・ネットワーク・セキュリティの試験対策を効率よく進めたい人におすすめの定番問題集です。
Linux教科書 LPICレベル1 スピードマスター問題集を見る※ Amazonアソシエイト広告リンク
まとめ
Linuxストレージ管理の必須知識としてのpartedコマンド
ここまでLinux(リナックス)におけるパーティション操作の基本ツールであるparted(パーティド)について詳しく解説してきました。parted(パーティド)は、単純にディスクを区切るだけのツールではなく、最新のハードウェア規格であるGPT(ジーピーティー)に対応し、テラバイト(TB)単位の大容量ストレージを効率的に管理するために設計されています。
サーバー運用やインフラ構築の現場では、ディスクの増設や交換は日常的に行われます。その際、コマンドラインから迅速かつ正確にパーティションを作成できるスキルは、エンジニアにとって非常に大きな武器となります。特に、今回学んだmklabelによる初期化、mkpartによる領域確保、そしてprintによる状態確認という一連の流れは、Linux管理の王道とも言える手順です。
実務で役立つ!partedコマンドの活用テクニック
実務においては、対話モードだけでなく、シェルスクリプトなどから一括で操作を実行する「非対話モード」の利用も頻繁に行われます。例えば、新しいディスク/dev/sdbに対して、ラベル作成からパーティション作成までを一気に行う場合は、以下のようにコマンドを実行します。
# 非対話モードでGPTラベルを作成し、1GBから100%の領域を割り当てる
sudo parted -s /dev/sdb mklabel gpt mkpart primary ext4 1MiB 100%
このように、-s(スクリプトモード)オプションを使用することで、人為的な入力ミスを減らし、環境構築の自動化を促進することができます。また、ストレージのパフォーマンスを最大限に引き出すためには、セクタの開始位置を適切に配置するアライメント(Alignment)の意識も重要です。1MiBから開始する指定は、現代のSSD(エスエスディー)や高度なフォーマットのハードディスクにおいて、書き込み速度の低下を防ぐための標準的なテクニックとなっています。
パーティション作成後の重要なステップ
パーティションを作成しただけでは、まだOS(オーエス)からファイルを保存できる状態ではありません。parted(パーティド)で「部屋」を区切った後は、その部屋をどのような形式で使うかを決めるファイルシステムの作成(フォーマット)が必要です。
一般的にはmkfs.ext4やmkfs.xfsといったコマンドを組み合わせて使用します。さらに、再起動後も自動的にその領域を使えるようにするために、/etc/fstab(エフスタブ)ファイルへの追記も忘れてはいけません。parted(パーティド)をマスターすることは、これら一連の「ストレージライフサイクル」を理解するための第一歩なのです。
生徒
「先生、ありがとうございました!parted(パーティド)を使えば、どんなに大きなハードディスクでも怖くないですね。GPT(ジーピーティー)とMBR(エムビーアール)の違いもよく分かりました。」
先生
「その通りです。特に最近のクラウド環境やサーバーでは2TB(テラバイト)を超えるのが当たり前ですから、GPT形式でpartedを使いこなせるのは必須スキルですよ。」
生徒
「作業中に気になったのですが、parted(パーティド)は実行した瞬間に変更が保存されるんですよね?fdisk(エフディスク)みたいに『w』を押して保存するステップがないのは少し緊張します……。」
先生
「鋭いですね。そこがparted(パーティド)の最も注意すべき点です。間違えてrmを実行したら即座にパーティションが消えてしまいます。ですから、必ず事前にprintコマンドで現在の状態を指差し確認する癖をつけましょう。」
生徒
「なるほど……。確認が大事ですね。あと、パーティションを作った後に/dev/sdb1のような名前が見えるようになりました!これが実際にデータを書き込む場所になるんですね。」
先生
「正解です。その/dev/sdb1をフォーマットして『マウント』すれば、ようやく自由にファイルを置けるようになります。ストレージ管理の世界は奥が深いですが、基礎となるこのparted操作を忘れなければ、どんなトラブルにも対応できるようになりますよ。頑張ってくださいね!」
生徒
「はい!まずは自分のテスト環境で、何度もパーティションを作ったり消したりして練習してみます!」