Infra Engineer

パーティションの作成~fdiskコマンド・gdiskコマンド~
2022.01.31
Lv1

パーティションの作成~fdiskコマンド・gdiskコマンド~

本記事の対象者

LPIC level1習得を目指す初学者の方
コマンドの基本的な用途について、要点を絞って解説します。


今回の内容

今回は、fdiskコマンドとgdiskコマンドについて解説します。
両方ともパーティションの操作に関するコマンドです。
パーティションそのものについて分からないという方は、こちらの記事を参照してください。

・ハードディスクを使用するための過程
・fdiskコマンド
・gdiskコマンド
・まとめ
・確認問題

ハードディスクを使用するための過程

パーティションについて」の記事で説明した通り、Linuxでハードディスクを接続して使用するには、以下の過程が必要です。

デバイスファイルを作成する。(基本的には自動で作成される。)
②ディスク内にパーティションを作成する。
③パーティション内にファイルシステムを構築する。
④ファイルシステムをマウントする。

今回の記事は、②のパーティションの作成に関わるコマンドの解説です。


fdiskコマンド

fdiskコマンドは、MBRパーティションに関する操作をするコマンドです。

fdisk
意味 MBRパーティションの作成、削除、変更、情報表示を行う。
書式 fdisk [-l] デバイス名

「-l」オプションを使用すると、そのデバイスのパーティションテーブルを表示します。

fdiskコマンドでオプションを使用せずにデバイス名を直接指定すると、設定モードになります。
設定モードでは対話的にパーティションに関する操作をすることができます。
設定モードでの操作コマンドは以下です。

操作コマンド
l パーティションタイプを一覧表示する。
n パーティションを作成する。
d パーティションを作成する。
p パーティションテーブルを作成する。
t パーティションタイプを変更する。
w パーティションテーブルの変更を保存して終了する。
q パーティションテーブルの変更を保存しないで終了する。
m ヘルプメニューを表示する。
例①)
/dev/sdaのパーティションテーブルを表示。(-l)
[root@localhost ~]# fdisk -l /dev/sda
Disk /dev/sda: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x0007240a

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    16777215     7339008   8e  Linux LVM
例②)
/dev/sdbにパーティションを作成。
[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


コマンド (m でヘルプ): p                           //パーティションテーブルを表示

Disk /dev/sdb: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x0007240a

デバイス ブート      始点        終点     ブロック   Id  システム

コマンド (m でヘルプ): n                               //パーティションを作成
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p                           //基本パーティションとして作成
パーティション番号 (1-4, default 1): 1                       //パーティション番号指定
最初 sector (2048-16777215, 初期値 2048):
初期値 2048 を使います
終点 sector, +sectors or +size{K,M,G} (2048-16777215, 初期値 16777215): +500MB       //サイズを指定
Partition 1 of type Linux and of size 500MiB is set

コマンド (m でヘルプ): p                                              //パーティションテーブルを再表示

Disk /dev/sdb: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x0007240a

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1           2048       1026047  512000     b  W95 FAT3     //作成されたパーティション情報

コマンド (m でヘルプ): w                                    //変更を保存する

パーティションテーブルは交換されました!

ioctl()を呼び出してパーティションテーブルを再読込みします。

/dev/sdbに500MBの新規パーティションを作成しました。
作成後にパーティションテーブルが更新されていることを確認してください。


gdiskコマンド

gdiskコマンドは、GPTパーティションに関する操作をするコマンドです。

gdisk
意味 GPTパーティションの作成、削除、変更、情報表示を行う。
書式 gdisk [-l] デバイス名

「-l」オプションを使用すると、そのデバイスのパーティションテーブルを表示します。

gdiskコマンドでオプションを使用せずにデバイス名を直接指定すると、fdiskと同様に設定モードになります。
設定モードでは対話的にパーティションに関する操作をすることができます。
設定モードでの操作コマンドは以下です。
ヘルプの出し方のみ、fdiskと異なります

操作コマンド
l パーティションタイプを一覧表示する。
n パーティションを作成する。
d パーティションを作成する。
p パーティションテーブルを作成する。
t パーティションタイプを変更する。
w パーティションテーブルの変更を保存して終了する。
q パーティションテーブルの変更を保存しないで終了する。
? ヘルプメニューを表示する。

実行画面についてはfdiskとほぼ同じですので、割愛させていただきます。

まとめ

パーティションの操作に関するコマンドについて解説しました。
パーティションを設定する際の注意事項などは別記事にて解説いたします。
最後に確認問題で学習内容を確認してください。

確認問題

問題

GPTパーティションを作成できるコマンドは以下のうちどれか。

A) fdisk
B) gdisk
C) mkfs
D) df

解答・解説
答え:B

A) ⇒ MBRパーティションに関するコマンドです。
B) ⇒ 正解です。
C) ⇒ ファイルシステムの構築に関するコマンドです。
D) ⇒ ファイルシステムの空き容量を確認するコマンドです。