パーティションの作成とフォーマット

先日MBRが消えてしまったHDDですが、やはりと言うか死亡してしまいました。
HDD交換後再インストール(Fedora 7)を行ったのですが、その時のパーティション作成とフォーマット作業のメモ。

パーティションの作成

パーティション作成はfdiskコマンドを使います。
Fedora 7からHDDデバイスhdaからsdaに変更になりました。

fdisk <デバイス名>

各コマンドの使用方法はmと入力するとヘルプが表示されます。

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

/dev/sdaにプライマリパーティションを作成した時の例。
HDDはすでにパーティションを3個作成済みの状態。/dev/sda1、/dev/sda2、/dev/sda3
ですので次に作成したプライマリパーティションはデバイス/dev/sda4となる。

[root@local tmp]# fdisk /dev/sda

このディスクのシリンダ数は 19457 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)

コマンド (m でヘルプ):
  • pで現在の状態を確認できる
コマンド (m でヘルプ):p

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         914     7341673+  83  Linux
/dev/sda2             915        2219    10482412+  83  Linux
/dev/sda3            2220        2268      393592+  82  Linux swap / Solaris

作成するパーティションの種類をサイズを設定します。

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
Selected partition 4
最初 シリンダ (2269-19457, default 2269):
Using default value 2269
終点 シリンダ または +サイズ または +サイズM または +サイズK (2269-19457, default 19457):
Using default value 19457
  • 作成後はwでディスクに書き込みます。下のようなメッセージが出た場合はOSの再起動を行ってください。
コマンド (m でヘルプ): w
領域テーブルは交換されました!
ioctl() を呼び出して領域テーブルを再読込みします。

警告: 領域テーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。
カーネルはまだ古いテーブルを使っています。
新しいテーブルは次回リブート時に使えるようになるでしょう。
ディスクを同期させます。

フォーマット

先ほど作成したパーティションをフォーマットします。フォーマット形式をext3にします。
ext3でフォーマットするコマンドは

mke2fs -j <パーティション名>
操作例
[root@local ~]# mke2fs -j /dev/sda4
mke2fs 1.40.2 (12-Jul-2007)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
17268736 inodes, 34517660 blocks
1725883 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
1054 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

ラベルの作成

最近のLinuxではファイルシステムにラベルをつけて管理しています。
fstabにマウント設定を行う時もラベルを使ってマウントポイントを記述します。
ラベル設定のコマンド

e2label <デバイス名> <ラベル名>
操作例

/dev/sda4 に、ラベル /work を設定する

[root@local ~]# e2label /dev/sda4 /work

ラベルの確認は

[root@local ~]# e2label /dev/sda4
/work

マウントポイントの設定

/etc/fstab にマウントポイントを設定します

操作例
LABEL=/work        /work       ext3   defaults    1 2

再起動するとマウントできます。