このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Linux】MBRで使用する:fdiskコマンド

fdiskコマンドの概要

 fdiskコマンドは、従来のマスターブートレコード (MBR) を使用してディスクのパーティションを操作するためのツールです。MBRは、ディスクの最初のセクターに配置され、パーティション情報を含む小さな領域です。fdiskは、パーティションの作成、変更、および削除などの操作を提供します。

fdiskコマンドの主なオプション

オプション説明
-l指定したディスクのパーティションテーブルをリスト表示します。
コマンドの主なオプション

fdiskコマンドの対話モードにおける主なコマンド

コマンド説明
mメニューを表示します。
p現在のパーティションテーブルを表示します。
n新しいパーティションを作成します。
dパーティションを削除します。
wパーティションテーブルの変更を保存して終了します。
qパーティションテーブルの変更を保存せずに終了します。
対話モードにおける主なコマンド

コマンドの使用例と解説

2台目のディスクをfdiskコマンドを使ってパーティションに分割します。

パーティションの操作は対話モードで進めていきます。

1.「su -」コマンドを実行する。

 パーティションの操作はシステム管理のコマンドになるため、rootユーザーに切り替えておく必要があります。パスワードの入力が求められたら、パスワードを入力します。

・「su -」コマンドを実行します。

user01@ubuntu-vm:~$ su -
パスワード: 
root@ubuntu-vm:~#

2.メニューを表示します。

・オプションを指定しないで「fdisk /dev/sdb」コマンドを実行します。

fdiskコマンドを実行し、メニューを表示します。

root@ubuntu-vm:~# fdisk /dev/sdb

fdisk (util-linux 2.37.2) へようこそ。
ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。
書き込みコマンドを使用する際は、注意して実行してください。
デバイスには認識可能なパーティション情報が含まれていません。

新しい DOS ディスクラベルを作成しました。識別子は 0x80aee6c2 です

コマンド (m でヘルプ): 

・対話モードに入ったら「m」と入力し、Enterキーを押します。

コマンド (m でヘルプ): m

ヘルプ:

  DOS (MBR)
   a   起動可能フラグを切り替えます
   b   入れ子の BSD ディスクラベルを編集します
   c   DOS 互換フラグを切り替えます

  一般
   d   パーティションを削除します
   F   パーティションのない領域を一覧表示します
   l   既知のパーティションタイプを一覧表示します
   n   新しいパーティションを追加します
   p   パーティション情報を表示します
   t   パーティションタイプを変更します
   v   パーティション情報を検証します
   i   パーティションの情報を表示します

  その他
   m   このメニューを表示します
   u   表示項目の単位を変更します
   x   特殊機能に移動します (熟練者向け機能)

  スクリプト
   I   ディスクのレイアウトを sfdisk 互換のスクリプトから読み込みます
   O   ディスクのレイアウトを sfdisk 互換のスクリプトに書き出します

  保存と終了
   w   パーティション情報をディスクに書き込んで終了します
   q   変更点を保存せずに終了します

  新しいラベルを作成します
   g   新しい (何もない) GPT パーティションテーブルを作成します
   G   新しい (何もない) SGI (IRIX) パーティションテーブルを作成します
   o   新しい (何もない) DOS パーティションテーブルを作成します
   s   新しい (何もない) Sun パーティションテーブルを作成します

コマンド (m でヘルプ): 

3.現在のパーティションテーブルの内容を表示します。

・「p」と入力し、Enterキーを押します。

ディスクがまだ未分割であることを確認します。

コマンド (m でヘルプ): p
ディスク /dev/sdb: 10 GiB, 10737418240 バイト, 20971520 セクタ
Disk model: VBOX HARDDISK   
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0x80aee6c2

4.新規パーティションを作成します。

・「n」と入力し、Enterキーを押します。

コマンド (m でヘルプ): n
パーティションタイプ
   p   基本パーティション (0 primary, 0 extended, 4 free)
   e   拡張領域 (論理パーティションが入ります)

5.パーティションタイプを選択します。

・パーティションタイプを「基本パーティション」にするため、「p」を入力し、Enterキーを押します。

コマンド (m でヘルプ): n
パーティションタイプ
   p   基本パーティション (0 primary, 0 extended, 4 free)
   e   拡張領域 (論理パーティションが入ります)
選択 (既定値 p): p

6.パーティション番号を指定します。

・パーティション番号を「1」に指定し、Enterキーを押します。

パーティション番号 (1-4, 既定値 1): 1

7.開始位置をデフォルトにします。

・開始位置をデフォルトのままにするため、Enterキーを押します。

最初のセクタ (2048-20971519, 既定値 2048): 

8.容量を1GBに指定します。

・容量を「+1G」と指定し、Enterキーを押します。

Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-20971519, 既定値 20971519): +1G

新しいパーティション 1 をタイプ Linux、サイズ 1 GiB で作成しました。

9.作成したパーティションを確認します。

・「p」と入力し、Enterキーを押します。

コマンド (m でヘルプ): p
ディスク /dev/sdb: 10 GiB, 10737418240 バイト, 20971520 セクタ
Disk model: VBOX HARDDISK   
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0x80aee6c2

デバイス   起動 開始位置 最後から  セクタ サイズ Id タイプ
/dev/sdb1           2048  2099199 2097152     1G 83 Linux

10.パーティションテーブルの変更を保存して終了します。

・「w」と入力し、Enterキーを押します。

コマンド (m でヘルプ): w
パーティション情報が変更されました。
ioctl() を呼び出してパーティション情報を再読み込みします。
ディスクを同期しています。

11.デバイスファイルを確認します。

・「ls /dev/sd*」コマンドを実行し、新しいパーティションが作成されていることを確認します。

2台目のディスクに新しいパーティション「/dev/sdb1」が作成されていることが確認できます。

root@ubuntu-vm:~# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdd

まとめ

 fdiskコマンドは、MBRディスクのパーティション操作に非常に便利なツールです。主なオプションと対話モードのコマンドを理解することで、効率的にパーティションを管理できます。