インストール 4 HDDのパーティショニング

作成:
画面6:ディスクのセットアップ

(画面6) 第3回の続きで、エラーが出なければディスクのセットアップへ進みます、早い話HDDのパーティショニングを行います。 パーティショニングツールとしてDisk Druidとfdiskが選択できます。 Disk DruidはテキストベースですがGUIに近い形でパーティショニングが行えるツールで ディスク容量の自動設定もしてくれる機能があります。 しかし、動作がいささか不安定なところもあり、これではうまくパーティショニングを行えない可能性があります。 実際、私の場合、HDDが5GB程度としか認識されずうまくパーティションを切れませんでした。 また、既に他のパーティションが存在した場合などにうまく動かなかったり、 指定した容量が確保できなかったりといろいろ不具合が出ることがあります。
そこで、コマンドラインで操作するfdiskを使います。
こちらはコマンドラインなのでなれない人にとっては取っつきにくいかもしれませんが、 操作は非常にシンプルなので初心者でもすぐに使えると思います。 また、こちらは非常に動作が安定しており信頼性が高いです。
インターフェイスが低レベルで機能がシンプルなものは、安定性、信頼性に優れる。これは定説ですね(笑)

画面7:fdisk

(画面7) fdiskを選択すると、HDDを選択する画面になります。 HDDは1つしかないのでこれを選択してEnterキーを押します (編集のところにカーソルを持っていってEnterでもいい)。 すると下のような画面が出てきます。(Vine Linux では日本語化されている)

The number of cylinders for this disk is set to 77545.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems whith:
1) software that runs at boot time (e.g., old wersions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK,OS/2 FDISK)

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

1024シリンダ超えの警告が出ています。
シリンダ数が1024を超えると古いソフトではビット数の関係でうまく扱えないなどの不具合が出てきます。 Disk Druidでうまく認識できないのも1024シリンダ超えの影響でしょう。 fdiskではしっかり認識しているので大丈夫ですね。
シリンダというのはHDDを扱う単位量で、この場合約0.5MBになります。 1シリンダあたりの容量はどうやら一定ではないようで、 以前の20GBのHDDを扱っていたときは1シリンダあたり約2MBでした。(ここの事情はよく分かりません)
77545というのは私のHDDの容量ですので環境によって変わってきます。
それではヘルプを表示させるため、「m」を入力してEnterキーを押します。

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

まず、領域テーブルを表示してみます。「p」と入力しEnterキーを押します。

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

ディスク /tmp/hda: ヘッド 16, セクタ 63, シリンダ 77545
ユニット = シリンダ数 of 1008 * 512 バイト
 デバイス ブート   始点      終点  ブロック   ID  システム

HDDにパーティションが設定されていない場合上のように表示されます。
ここにシリンダあたりの容量が1008×512バイトとのことが表示されています。(日本語化が中途半端)

それではパーティションを作成していきます。「n」と入力しEnterキーを押します。

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-77545):
初期値 1 を使います
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-77545,
初期値77545): 2000;

始めに、拡張領域を作成するのか、基本領域を作成するのかと聞かれますので、作成したい方を指定します。
ちなみに、拡張領域が設定してある場合「e 拡張」が「l 論理 (5 以上)」となります。 次に作成する領域の番号を入力します。 基本領域、または拡張領域については1~4、論理領域については5~を指定します。 この番号がLinuxが認識するパーティションの名前になります。 デバイスhdaの領域番号1のデバイス名はhda1と言った具合です。 この番号の順番には適当でいいようですが、混乱の無いように、 先頭から順に小さい番号から埋めるようにした方がいいです。
次に、始点シリンダの番号を入力します。 HDDの頭から順に埋めていくのであればディフォルトの値でいいのでそのままEnterキーを押します。 任意の番号を指定したい場合はその数字を入力します。
次に、終点シリンダの番号、もしくはそのパーティションに割り当てるサイズ(B単位、kB単位、MB単位)を入力します。 そのままEnterキーを押した場合HDDの一番最後までをそのパーティションに割り当てることになります。

これを繰り返して、好きなだけパーティションを作成します。
間違ってパーティションを作成してしまった場合、「d」と入力してEnterキーを押します。

コマンド (m でヘルプ): d
領域番号 (1-4): 2

削除する領域番号を聞いてくるので入力します。

私はこのように分けました。

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

ディスク /tmp/hda: ヘッド 16, セクタ 63, シリンダ 77545
ユニット = シリンダ数 of 1008 * 512 バイト
 デバイス ブート   始点      終点  ブロック   ID  システム
/tmp/hda1             1      2000   1007968+  83  Linux
/tmp/hda2          2001     70000  34272000   83  Linux
/tmp/hda3         70001     77545   3802680    5  拡張領域
/tmp/hda5         70001     70200    100768+  83  Linux
/tmp/hda6         70201     71000    403168+  83  Linux
/tmp/hda7         71001     74500   1763968+  83  Linux
/tmp/hda8         74501     77545   1534648+  83  Linux

これで作業は終わりといきたいところですが、もう一仕事残ってます。
それは領域タイプの指定です。 現在全ての領域がLinux nativeのタイプになっています。 ところが、swap領域はswap専用の領域タイプを指定しなければいけません。 そこで、既知の領域タイプをリスト表示する「l」と入力してEnterキーを押します。

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

 0  空              17  隠し HPFS/NTFS  5c  Priam Edisk     a5  BSD/386
 1  FAT12           18  AST Windows ス■61  SpeedStor       a6  OpenBSD
 2  XENIX root      1b  Hidden Win95 FA 63  GNU HURD または a7  NeXTSTEP
 3  XENIX usr       1c  Hidden Win95 FA 64  Novell Netware  b7  BSDI fs
 4  FAT16 <32M      1e  Hidden Win95 FA 65  Novell Netware  b8  BSDI
 スワップ
 5  拡張領域        24  NEC DOS         70  DiskSecure Mult c1  DRDOS/sec
 (FAT-
 6  FAT16           3c  PartitionMagic  75  PC/IX           c4  DRDOS/sec
 (FAT-
 7  HPFS/NTFS       40  Wenix 80286     80  古い Minix      c6  DRDOS/sec
 (FAT-
 8  AIX             41  PPC PReP Boot   81  Minux / 古い Li c7  Syrinx
 9  AIX ブート可能  42  SFS             82  Linux スワップ  db  CP/M / CTOS
 / .
 a  OS/2 ブートマネ 4d  QNX4.x          83  Linux           e1  DOS access
 b  Win95 FAT32     4e  QNX4.x 2nd part 84  OS/2 隠し C: ド e3  DOS R/O
 c  Win95 FAT32 (LB 4f  QNX4.x 3rd part 85  Linux 拡張領域  e4  SpeedStor
 e  Win95 FAT16 (LB 50  OnTrack DM      86  NTFS ボリューム eb  BeOS fs
 f  Win95 拡張領域  51  OnTrack DM6 Aux 87  NTFS ボリューム f1  SpeedStor
10  OPUS            52  CP/M            8e  Linux LVM       f4  SpeedStor
11  隠し FAT12      53  OnTrack DM6 Aux 93  Amoeba          f2  DOS
 セカンダリ
12  Compaq 診断     54  OnTrackDM6      94  Amoeba BBT      fd  Linux raid
 自動
14  隠し FAT16 <32M 55  EZ-Drive        9f  BSD/OS          fe  LANstep
16  隠し FAT16      56  Golden Bow      a0  IBM Thinkpad ハ ff  BBT

また、中途半端な日本語化がされています。■は文字化けしてます。
ともかく、非常にたくさんの領域タイプが表示されていますが、 使うのは「82 Linux スワップ」と「83 Linux」だけです。
それでは、私はhda5をスワップ領域に指定します。「t」と入力してEnterキーを押します。

コマンド (m でヘルプ): t
領域番号 (1-8): 5
16進数コード (Lコマンドでコードリスト表示): 82
領域のシステムタイプを 83 から 82 (Linux スワップ) に変更しました

これでパーティションの設定は終わりました。
最後に、これまでの作業内容を実際にHDDに書き込んで終了します。
「w」と入力してEnterキーを押します。

コマンド (m でヘルプ): w
領域テーブルは変更されました!

ioctl()を呼び出して領域テーブルを再読込みします。

警告: DOS 6.x 領域を作成、または変更してしまった場合は、
fdisk マニュアルページにある追加情報を参照してください。
ディスクを同期させます。

以上の操作が終わると (画面7) に戻るので、終了のところへカーソルを持っていってEnterキーを押します。

画面8:マウントポイントの設定
画面9:マウントポイントの設定

(画面8) (画面9) 次に、それぞれのパーティションのマウントポイントを指定していきます。
↑↓でパーティションを指定し、Enterキーを押すか Tabキーで編集へカーソルを持っていきEnterキーを押すとマウントポイントを入力できます。
マウントポイントは/homeのように/から入力します。

この画面はDisk Druidのパーティション設定についての機能を省いた構成ですが、やはり、 HDDの容量が正確に認識できていないため空き領域がマイナスの値になってしまっています。

次回へ続きます。

※掲載している画面画像はVirtualPCを用いてWindowsでキャプチャしたものなので、 本文中の解説と異なる情報が表示されているものもあります。