kazmax - Linux で自宅サーバー

Linux fdiskコマンドでパーティションを作成する

Linuxで、ハードディスクのパーティションを管理するには、fdiskコマンドを使用します。 fdiskコマンドでは、ハードディスクのパーティションの作成、削除、また、パーティション情報を調べる事ができます。

ここでは、増設したハードディスクにパーティションを作成する手順を解説していきます。このページでは、ハードディスクにパーティションを作成する手順を解説します。

Last Update : 2013年08月11日

Linux fdiskコマンドでパーティションを作成する 項目

  1. 新たに領域を作成する
  2. 領域のシステム ID を変更する
  3. 変更内容をディスクに書き込む

1. 新たに領域を作成する

fdisk コマンドでパーティションを作成します。パーティションを作成するデバイスをfdiskコマンドへわたします。

# fdisk /dev/sdb

fdisk コマンドはメニュー形式のコマンドとなります。
コマンドの実行後は、メニューからいくつかの処理を選択しながらパーティション作成を進めていきます。

「m」を入力するとヘルプを表示します。

# fdisk /dev/sdb
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): m  ← 「m」を入力
コマンドの動作
   a   ブート可能フラグをつける
   b   bsd ディスクラベルを編集する
   c   dos 互換フラグをつける
   d   領域を削除する
   l   既知の領域タイプをリスト表示する
   m   このメニューを表示する
   n   新たに領域を作成する
   o   新たに空の DOS 領域テーブルを作成する
   p   領域テーブルを表示する
   q   変更を保存せずに終了する
   s   空の Sun ディスクラベルを作成する
   t   領域のシステム ID を変更する
   u   表示/項目ユニットを変更する
   v   領域テーブルを照合する
   w   テーブルをディスクに書き込み、終了する
   x   特別な機能 (エキスパート専用)

memo

コマンドの実行時のメッセージにもありますが、コマンド「w」で変更内容をディスクに書き込みます。

書き込むまではディスクに変更は反映されません。

新たに領域を作成するには、 コマンドのヘルプ通り「n」を入力します。

コマンド (m でヘルプ): n  ← 「n」を入力
コマンドアクション
   e   拡張
   p   基本領域 (1-4)

拡張領域を作るか、基本領域を作るかを選択します。

memo

ハードディスクは、4つまでのパーティションに分割できます。(※ 4つを超えることができない)

パーティションは、基本領域か、拡張領域となり、拡張領域は1つのハードディスクに1つだけ作ることができます。 基本領域だけで4つパーティションを作成すると、拡張領域を作成する事はできません。

拡張領域には、論理パーティションという領域を複数作ることができるので、多くのパーティションを必要とする場合には拡張領域が必要となってきます。

パーティションの最大数

  1. IDE :63(基本3 +論理60)
  2. SATA:15(基本3 +論理12)
  3. SCSI:15(基本3 +論理12)

今回は、1GBの基本領域を作成してみます。

コマンド (m でヘルプ): n 
コマンドアクション
    e   拡張
    p   基本領域 (1-4)
p ← 今回は基本領域を作成するので「p」を入力

領域番号 (1-4): 1 ← このディスクでは初めてのパーティションなので1を選択

最初 シリンダ (1-652, default 1): 1 ← このディスクでは初めてのパーティションなので先頭シリンダの1を入力
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-652, default 652): +1024M
      ※ ここでパーティションとして確保するディスクサイズを指定します。今回は、1GB分を指定

「p」を入力すると現在のパーティション状況を確認できます。

コマンド (m でヘルプ): p  ← 「p」を入力

Disk /dev/sdb: 5368 MB, 5368709120 bytes 
255 heads, 63 sectors/track, 652 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot  Start   End   Blocks   Id  System
/dev/sdb1      1       125   1004031  83  Linux ← 新しいパーティションができた

2. 領域のシステム ID を変更する

新規に作成したパーティションに何のファイルシステムを適用するかをここで決めます。

ext3やext4のファイルシステムを利用するつもりであればこの作業は不要です。
LVM用の領域や、拡張領域に変更する際等にここでシステムIDを変更します。

領域のシステム IDの一覧を確認するには、「l(小文字のL)」を押します。

コマンド (m でヘルプ): l ← 「l(小文字のL)」を押す

 0  空              24  NEC DOS         81  Minix / 古い    bf  Solaris
 1  FAT12           39  Plan 9          82  Linux スワッ    c1  DRDOS/sec (FAT-
 2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       40  Venix 80286     84  OS/2 隠し C:    c6  DRDOS/sec (FAT-
 4  FAT16 <32M      41  PPC PReP Boot   85  Linux 拡張領    c7  Syrinx
 5  拡張領域        42  SFS             86  NTFS ボリュ     da  非 FS デー
 6  FAT16           4d  QNX4.x          87  NTFS ボリュ     db  CP/M / CTOS / .
 7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux プレー    de  Dell ユーテ
 8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt
 9  AIX ブート      50  OnTrack DM      93  Amoeba          e1  DOS access
 a  OS/2 ブート     51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O
 b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor
 c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad    eb  BeOS fs
 e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT
 f  W95 拡張領      55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC
11  隠し FAT12      5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor
12  Compaq 診断     61  SpeedStor       a9  NetBSD          f4  SpeedStor
14  隠し FAT16 <3   63  GNU HURD また   ab  Darwin ブー     f2  DOS セカン
16  隠し FAT16      64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS
17  隠し HPFS/NTF   65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI スワッ     fd  Linux raid 自
1b  隠し W95 FAT3   75  PC/IX           bb  隠し Boot Wiz   fe  LANstep
1c  隠し W95 FAT3   80  古い Minix      be  Solaris ブー    ff  BBT

左側の数字or記号が領域のシステムIDとなります。5の拡張領域、83のLinux(ext3,4)8eのLinux LVMはよく使います。

一度、8eのLinux LVM用のシステムIDに変更してみます。領域のシステムIDを変更するには、「t」を押します。

コマンド (m でヘルプ): t ← 「t」を押す
選択した領域 1
16進数コード (L コマンドでコードリスト表示): 8e ← Linux LVMのシステムIDを入力
領域のシステムタイプを 1 から 8e (Linux LVM) に変更しました

コマンド (m でヘルプ): p ← 領域テーブルの確認

ディスク /dev/sdb: 5368 MB, 5368709120 バイト
ヘッド 255, セクタ 63, シリンダ 652
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x52786e18

デバイス ブート 始点  終点  ブロック  Id  システム
/dev/sdb1     1   132  1060258+  8e  Linux LVM ← システムIDが変わった

今回は、ファイルシステムをext4として作る予定ですので、システムIDを元に戻します。

コマンド (m でヘルプ): t ← 「t」を押す
選択した領域 1
16進数コード (L コマンドでコードリスト表示): 83 ← Linux用のシステムIDの83を入力
領域のシステムタイプを 1 から 83 (Linux) に変更しました

コマンド (m でヘルプ): p ← 領域テーブルの確認

ディスク /dev/sdb: 5368 MB, 5368709120 バイト
ヘッド 255, セクタ 63, シリンダ 652
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x52786e18

デバイス ブート  始点  終点  ブロック  Id  システム
/dev/sdb1      1   132  1060258+  83  Linux ← システムIDが変わった

3. 変更内容をディスクに書き込む

最後に変更したパーティション情報をディスクへ書き込みます。

変更をディスクへ書き込むには、「w」を押します。

コマンド (m でヘルプ): w ← 「w」を押す
パーティションテーブルは変更されました!

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

作成したパーティションができているか確認します。

# fdisk -l /dev/sdb

ディスク /dev/sdb: 5368 MB, 5368709120 バイト
ヘッド 255, セクタ 63, シリンダ 652
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x52786e18

デバイス ブート  始点  終点  ブロック  Id  システム
/dev/sdb1      1   132  1060258+  83  Linux ← 作成されたパーティション

memo

変更しない場合は、Ctrl + c でコマンドから抜けたり、「q」で変更を保存しないで終了することができます。

Linuxファイルシステム 関連記事
Linux 基礎知識 関連記事