3.6. ディスク領域の割り当て

最初の課題は、FreeBSD 用にディスク領域を割り当て、 sysinstall が使えるようにラベルを作成することです。 そうするためには、FreeBSD がディスク上にどのような情報があることを前提としているかを知らなければなりません。

3.6.1. BIOS ドライブの番号付け

FreeBSD をインストールして設定する前に、 特に複数のハードディスクを持っているならば気をつけておかなければならない重要なことがあります。

MS-DOS® や Microsoft®�Windows® のような BIOS に依存したオペレーティングシステムが動いている PC では、 BIOS がディスクドライブの順序を構成でき、 OS はその変化に追従します。これにより、ユーザはいわゆる “プライマリーマスタ” 以外のディスクから起動することができます。 この仕組みを用いればシステムのバックアップを取る最も簡単で安価な方法を構築できます。 もう一つ同じディスクを買い、 Ghost®XCOPY を用いて一つ目のディスクから二つめのディスクへのコピーを定期的に取ればいいのです。 そして、一つ目のディスクに障害が起きたり、ウィルスに感染したり、 オペレーティングシステムの不具合でめちゃくちゃにされてしまった時には、 BIOS に対してドライブを論理的に交換するように指示することで簡単に復旧できるのです。 この方法はドライブのケーブルを交換するのと同じようなことなのですが、 ケースを開ける必要がありません。

SCSI コントローラを備えたもっと高価なシステムでは、 しばしば BIOS に拡張が施されており、同じように 7 台までのドライブの順番を組み換えることができるようになっています。

以上のような機能を便利に使っているユーザは、 FreeBSD では同じような結果にならないことに驚くかもしれません。FreeBSD は BIOS を利用しないため、“論理 BIOS ドライブマッピング” については知らないのです。 このため、特にいくつかのドライブが同じジオメトリを持っている時に、 そしてまたあるものをもう一つのクローンとして使っている時に、 非常にややこしい状況になり得ます。

FreeBSD を使う時は、 インストール前にドライブの番号付けが自然なものになるように、 必ず BIOS の設定を忘れずに戻しておきましょう。 もしドライブの番号付けを変更する必要がある場合には、 ケースを開けジャンパーやケーブルを移動するというハードウェア的なやりかたをとってください。

3.6.2. fdisk でスライス作成

注意: この段階でなにも変更を加えないとしても、 そのことはディスクに書きこまれるでしょう。 もし間違いをしたと考えてもう一度やり直したいのなら、 メニューを使って sysinstall を終了してやり直すか、U を押して Undo オプションを利用してください。 なにをすればいいか分からなくなって、終了する方法が分からないときは、 いつでもコンピュータを切ることができます。

sysinstall メインメニューでスタンダードインストールを選択したあとには、 次のメッセージが表示されるでしょう。

                                 Message
 In the next menu, you will need to set up a DOS-style ("fdisk")
 partitioning scheme for your hard disk. If you simply wish to devote
 all disk space to FreeBSD (overwriting anything else that might be on
 the disk(s) selected) then use the (A)ll command to select the default
 partitioning scheme followed by a (Q)uit. If you wish to allocate only
 free space to FreeBSD, move to a partition marked "unused" and use the
 (C)reate command.
	                        [  OK  ]

	              [ Press enter or space ]

指示されたとおり Enter を押してください。 次に、デバイスの走査を実行したときにカーネルが見付けた、 すべてのハードドライブのリストが表示されるでしょう。 図3-13 は IDE ディスクを二つもつシステムの例です。 これらは ad0 および ad2 と名付けられています。

図 3-13. fdisk を実行するディスクの選択

なぜ ad1 がここに表示されないか不思議に思うかもしれません。 なぜ忘れられたのか?

IDE ハードディスクを一つ目はプライマリ IDE コントローラのマスタとして、 二つ目はセカンダリ IDE コントローラのマスタとして二つ接続している場合、 なにが起こるか考えてください。 もし FreeBSD がこれらを ad0ad1 のように、 見付けた順番で番号をつけたとしてもすべては動作するでしょう。

しかし、その後プライマリ IDE コントローラのスレーブとして 三つ目のディスクを追加したとしたら、 それはたった今 ad1 となり、 以前の ad1ad2 となるでしょう。 デバイス名 (ad1s1a のような) はファイルシステムを見つけるのに使われるので、 ファイルシステムのいくつかは突然正しく現れなくなるかもしれず、 FreeBSD の設定を変更する必要があるでしょう。

これを解決するために、ディスクが見つかった順番ではなく、 どこに接続されているかということに基づいて IDE ディスクを名前づけするようにカーネルを設定できます。 この機構によって、セカンダリ IDE コントローラのマスタディスクは、 たとえ ad0 または ad1 デバイスがないとしてもいつでも ad2 になるでしょう。

この設定は FreeBSD カーネルの標準設定です。 これがこの画面で ad0 および ad2 を表示する理由です。 このスクリーンショットが得られたマシンには、 IDE コントローラの両方のマスタチャネルにディスクがあり、 スレーブチャネルにはありません。

FreeBSD をインストールしたいディスクを選択して、 [�OK�] を押してください。 図3-14 のような表示とともに fdisk が起動するでしょう。

fdisk の画面は三つのセクションに分かれます。

一つ目のセクションは、これは表示の先頭二行にわたっているのですが、 現在選択されているディスクの詳細を表示します。 ディスクの詳細には FreeBSD でのデバイス名、ディスクのジオメトリ、 そしてディスクの全容量が含まれます。

二つ目のセクションは現在ディスク上にあるスライスを表示します。 スライスの開始セクタと終了セクタ、大きさ、FreeBSD 上での名前、 種類とサブタイプが表示されます。 この例では、PC 上のディスクレイアウト機能が生み出した、 未使用の小さなスライスを二つ表示しています。 また大きな FAT スライスも一つ表示しています。これはほとんどの場合、 MS-DOS または Windows において C: ドライブ および他のドライブ名の拡張スライスとして現れます。

三つ目のセクションは fdisk において利用可能なコマンドを表示します。

図 3-14. 編集する前の典型的な fdisk 構成

今から行うことは、 あなたがどのようにディスクを分割したいかによります。

FreeBSD をディスク全体で使いたいなら、 Use Entire Disk オプションを表す A キーを押すことができます。 このことは sysinstall がインストールプロセスの残りを続けることにあなたが同意したとき、 このディスクのすべてのデータを削除するでしょう。 存在しているスライスは取り除かれ、 unused の小さな領域 (PCディスクレイアウト機能の副産物) と、 FreeBSD のための大きなスライスへ置きかわるでしょう。 これを行ったら、次に方向キーを使って新しく作成された FreeBSD スライスを選択し、スライスに起動可能の印をつけるために S キーを押してください。 そのとき、画面の見た目は 図3-15 とよく似たものとなるでしょう。 Flags 列の A に注意してください。 これはこのスライスが アクティブ で、 ここから起動することを示します。

FreeBSD のための空き領域を作成するために、 存在しているスライスを削除しようとしているのなら、 方向キーをつかってスライスを選択して D キーを押してください。 それから C キーを押すと、 作成したいスライスの大きさの入力を促されます。 適切な数字を入力して Enter キーを押してください。 この欄に表示されているデフォルト値は、スライスに対して割り当てることのできる最大の値です。 この値は、割り当てられていない領域の連続したブロック、または、ハードディスクの全サイズです。

FreeBSD のための空き領域を既に作成しているなら (おそらく PartitionMagic® などのツールを利用したのでしょう) 、 そのときは C キーを押して新しいスライスを作成できます。 再び、作成したいスライスの大きさの入力を促されるでしょう。

図 3-15. ディスク全体を使う fdisk 構成

終了したら Q キーを押します。 あなたの変更は sysinstall 内に保存されるでしょう。 しかし、まだディスクには書きこまれません。

3.6.3. ブートマネージャのインストール

ブートマネージャをインストールするかどうか考えましょう。一般的に、次の場合は FreeBSD ブートマネージャをインストールするべきです。

もし、コンピュータに FreeBSD のみをインストールするのであれば、 最初のハードディスクにインストールし、 Standard ブートマネージャを選択してください。 もし、FreeBSD をブート可能なサードパーティ製のブートマネージャを使うのであれば、 None を選択してください。

選択をして Enter キーを押してください。

図 3-16. sysinstall ブートマネージャメニュー

F1 キーを押すと表示されるヘルプ画面では、 ハードディスクを OS 間で共有する場合に起こり得る問題について議論しています。

3.6.4. 他のドライブのスライスの作成

二つ以上ドライブがある場合、 ブートマネージャを選択した後、ドライブ選択画面に戻ります。 FreeBSD を二つ以上のディスクにインストールしたいのなら、 そのときはここで他のディスクを選択し、 fdisk を用いてスライス作成の作業を繰りかえすことができます。

重要項目: 一番目以外のドライブに FreeBSD をインストールするのであれば、 両方のドライブに FreeBSD のブートマネージャをインストールする必要があります。

図 3-17. ドライブ選択の終了

Tab キーを押すことで、 最後に選択したドライブと [�OK�] および [�Cancel�] の間を切りかえられます。

[�OK�] に移るために Tab キーを一度押し、 それからインストールを続けるために Enter キーを押してください。

3.6.5. disklabel でパーティション作成

さて、作成したばかりのスライス内にパーティションをいくつか作成しなければなりません。 それぞれのパーティションには a から h までの文字がつけられ、 b, c そして d パーティションは守るべき慣習的な意味を持っていることを忘れないでください。

特定のアプリケーションは、特別のパーティション構成 (特に二つ以上のディスクにわたってパーティションを構成している場合) から利益を得ることができます。 しかしこのことについては、はじめて FreeBSD をインストールする場合、 ディスクをどのようにパーティションに区切るか、 ということをあまり大げさに考えることはありません。 FreeBSD をインストールして使い方を学びはじめることの方がより重要です。 OS により詳しくなったときに、パーティション構成を変更するために FreeBSD をいつでも再インストールできます。

以下は四つのパーティション — 一つはスワップ領域、 三つはファイルシステム、の構成です。

表 3-2. 一つ目のディスクのパーティションレイアウト

パーティション ファイルシステム サイズ 説明
a / 1�GB これはルートファイルシステムです。 他のファイルシステムはすべてこの下のどこかにマウントされるでしょう。 1�GB はこのファイルシステムに手ごろなサイズです。 通常の FreeBSD インストールがここに約 128�MB のデータを配置するように、 ここにはあまり多くのデータを格納しないでしょう。 残りの領域は一時的なデータのためにあり、そして FreeBSD の将来のバージョンが / により多くの領域を必要とした場合の拡張領域として残します。
b なし メモリの 2-3 倍

b パーティションには、 システムのスワップ領域が保持されています。 スワップ領域の正しい容量を決めることは、 ちょっとした芸術かもしれません。 確実な経験則は、物理的なメモリ (RAM) の 2-3 倍のサイズのスワップ領域とするように、としています。 また、最低 64�MB のスワップを確保するといいでしょう。 したがって、あなたのコンピュータが 32�MB 未満のメモリを搭載している時は、 スワップ領域を 64�MB にしてください。

二つ以上のディスクがあるときには、 それぞれのディスクにスワップを置くことができます。 FreeBSD はそれぞれのディスクをスワップに用い、 スワップ動作を効果的に高速化させるでしょう。 この場合、必要とするスワップサイズの合計を計算し (たとえば 128�MB)、 それぞれのディスクに置くスワップサイズを求めるために、 あなたの持っているディスク数 (たとえば二つ) で割ってください。 この例の場合は、 一つのディスクごとに 64�MB のスワップとなります。

e /var 512�MB 〜 4096�MB /var ディレクトリには、ログファイルやその他の管理ファイルといった、 絶えず変化するファイルが保存されています。 これらのファイルの多くは FreeBSD の毎日の動作の間に広範囲にわたって読みこまれ、 書きこまれます。 (訳注: /とは) 別のファイルシステムにこれらのファイルを置くことは、 異なったアクセス頻度のディレクトリ内にある他のファイルに影響を与えずに、 FreeBSD がこれらのファイルへのアクセスを最適化することを可能とします。
f /usr ディスクの残り (少なくとも 8�GB) 他のすべてのファイルは、主に /usr およびそのサブディレクトリ内に保存されます。

警告上記のサイズの値は、例として載せたものです。 経験のあるユーザのみが使ってください。 FreeBSD パーティションエディタの Auto Defaults で選択できる自動パーティションレイアウトが推奨されています。

二つ以上のディスクに FreeBSD をインストールしようとしているのなら、 設定した他のスライスにもパーティションを作成しないといけません。 最も簡単な方法は、 それぞれのディスクに二つのパーティションを作成することです。 一つはスワップ領域、 そして一つはファイルシステムのためのパーティションです。

表 3-3. 残りのディスクのパーティション構成

パーティション ファイルシステム サイズ 説明
b なし 説明を参照 すでに議論したように、 スワップ領域をそれぞれのディスクにわたって分割できます。 たとえ a パーティションが (訳注: そのスライスに) ないとしても、 慣習により、スワップ領域は b パーティションとなります。
e /diskn ディスクの残り ディスクの残りは一つの大きなパーティションとなります。 これは e パーティションの代わりに、 a パーティション上へ簡単に置くことができるかもしれません。 しかしながら慣習により、スライス上の a パーティションはルート (/) ファイルシステムとなるファイルシステムのために予約されています。 あなたはこの慣習にしたがう必要はありませんが sysinstall が代わりにやってくれます。 したがってこのことにより、 インストールが少しだけより簡単になります。 このファイルシステムをマウントする場所をどこでも選択できます。 この例では、これらを /diskn ディレクトリとしてマウントするよう提案しています。 n はそれぞれのディスクごとに変更する数字です。 しかしあなたが望むなら他の構成を使用できます。

パーティション構成を決定したら、 今から sysinstall を用いて作成できます。 このメッセージが現れるでしょう。

                                 Message
 Now, you need to create BSD partitions inside of the fdisk
 partition(s) just created. If you have a reasonable amount of disk
 space (1GB or more) and don't have any special requirements, simply
 use the (A)uto command to allocate space automatically. If you have
 more specific needs or just don't care for the layout chosen by
 (A)uto, press F1 for more information on manual layout.

	                        [  OK  ]
	                  [ Press enter or space ]

disklabel と呼ばれる FreeBSD パーティションエディタをはじめるために Enter キーを押してください。

図3-18disklabel をはじめて起動したときの画面表示です。 この画面は三つのセクションに分かれています。

はじめの数行は現在作業しているディスクの名前、 そして作成しようとしているパーティションを含むスライスを表示します (この時点で disklabel はスライスのことをスライス名ではなくパーティション名と呼びます) 。 この画面はスライス内の空き領域の合計も表示しています。 この空き領域はスライス内に存在していて、 しかしまだパーティションに割り当てられていない領域です。

画面の中段は作成したパーティションを表示しています。 それぞれのパーティションが含むファイルシステムの名前、サイズ、 ファイルシステム作成にまつわるいくつかのオプションが表示されます。

画面の下段にある三つ目のセクションは disklabel で有効なキー操作を表示します。

図 3-18. sysinstall ディスクラベルエディタ

disklabel は自動的にパーティションを作成し、 デフォルトのサイズを割りあてることができます。 デフォルトのサイズは、 ディスクのサイズからパーティションサイズを決めるアルゴリズムによって計算されます。 A キーを押して、今試してください。 図3-19 とよく似た画面となるでしょう。 あなたが使用しているディスクのサイズに依存しているので、 デフォルトは希望しているものになるかもしれませんし、 ならないかもしれません。 デフォルトをそのまま受け入れる必要はないので、 このことは問題になりません。

注意: デフォルトのパーティション構成は /tmp ディレクトリに / パーティションの一部ではなく、 それ自身のパーティションを割り当てます。 このことは、一時ファイルによって / パーティションがあふれてしまうことを防ぐのに役立ちます。

図 3-19. デフォルトの自動割り当てによる sysinstall ディスクラベルエディタ

デフォルトのパーティションを使わないで、 あなた自身のパーティション構成に置き換えるには、 方向キーを用いて、一番目のパーティションを選択し、 削除するために D キーを押してください。 提案されたすべてのパーティションを削除するために、 これを繰り返してください。

一番目のパーティション (/ としてマウントされる a パーティション — ルート) を作成するには、 画面の先頭の適切なディスクスライスが選択されていることを確認して、 C キーを押してください。 新しいパーティションのサイズの入力をうながすダイアログが現れるでしょう (図3-20)。 使用したいサイズをブロックの数で入力できます。 または、 メガバイト単位で指定する M、 ギガバイト単位で指定する G、 シリンダ単位で指定する C を数の後につけて入力できます。

図 3-20. ルートパーティションに割りあてる容量

(訳注: ダイアログに) 表示されるデフォルトのサイズは、 スライスに残っているサイズのパーティションを作成するでしょう。 上述したパーティションサイズを用いる場合は Backspace キーを用いて表示されている数字を削除し 図3-21 のように 512M と入力してください。そして [�OK�] を押してください。

図 3-21. ルートパーティションサイズの編集

パーティションのサイズを入力すると、 次にこのパーティションはファイルシステムなのか、 それともスワップ領域なのかを聞かれるでしょう。 図3-22 のようにダイアログが表示されます。 この一番目のパーティションにはファイルシステムが含まれるので、 FS を選択し、 Enter キーを押します。

図 3-22. ルートパーティションタイプの選択

ファイルシステムを作成しようとしているので、 最後に disklabel に対して、 このファイルシステムがどこにマウントされるか教えなければなりません。 図3-23 のようなダイアログが表示されます。 ルートファイルシステムのマウントポイントは / なので、/ と入力し Enter キーを押します。

図 3-23. ルートのマウントポイント選択

その後、 新しく作成したパーティションを表示するために画面は更新するでしょう。 他のパーティションを作成するために、この作業を繰りかえしてください。 スワップパーティションはマウントされないので、 スワップパーティションを作成したときには、 ファイルシステムのマウントポイントの入力は促されないでしょう。 最後のパーティションの /usr を作成するときは、 スライスに残っているサイズを使用するために、 表示されたサイズをそのままにしておくことができます。

最終的な FreeBSD ディスクラベルエディタ の画面は、 選択された数値は異なっているかもしれませんが、 図3-24 のようになるでしょう。 Q キーを押して終了します。

図 3-24. sysinstall ディスクラベルエディタ

本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。

FreeBSD に関する質問がある場合には、ドキュメント を読んだ上で <[email protected]> まで (英語で) 連絡してください。
本文書に関する質問については、<[email protected]> まで電子メールを (英語で) 送ってください。