ディスクのパーティション分割とは、単にディスクをいくつかの区画に分割する ことです。それぞれの区画は、互いに独立しており、大まかに言えば、 家を壁で仕切るようなものです。 ある部屋に家具を置いても、他の部屋には影響がないのと同じです。
もし、すでに何らかの OS (Windows95、Windows NT、OS/2、MacOS、Solaris、 FreeBSD、…) がインストールされているディスクに Linux を インストールするなら、おそらくディスクのパーティションを切り直す 必要があるでしょう。 一般的に、すでにファイルシステムが形成されているパーティションに変更を 加えることは、そこに保持された情報をいくらか破壊することを意味します。 そのため、パーティションを切り直す前には、 必ずバックアップをとっておくべきです。先ほどの家の例を持ち出せば、 壁を移動したりするときには、ふつうはあらかじめ家具を邪魔にならない ところに移動しておくでしょう。 さもなければ家具を壊してしまいかねません。 幸いなことに、ユーザによっては別の方法もあります。DOS、Windows、OS/2 から始める際に損失のないパーティション切り直し, Section 4.7をご覧ください。
GNU/Linux には、それ自身のために最低限一つのパーティションが必要です。 オペレーティングシステム全体、つまりアプリケーションや個人的なファイルを 一つのパーティションに収めることができます。また、常に正しいとは限りませんが、 たいていのユーザはスワップパーティションも必要だと考えます。 「スワップ」とは、オペレーティングシステムが用いるメモリの一時退避用空間 です。これは、システムが安価なディスク記憶装置を「仮想記憶」として用いる ことを可能にするものです。 スワップを独立したパーティションに割り当てることは、その利用をより 効果的なものにします。 (Linux に普通のファイルをスワップとして利用させることも可能ではありますが、 お勧めできません。)
しかし、多くの人々は最低限必要な数よりも多くのパーティションを GNU/Linux に割り当てます。 ファイルシステムをいくつかのより小さなパーティションに分割する理由には二つ あります。一つめは安全性です。もし、偶然に何かがファイルシステムを破壊した としても、 一般的にその影響を被るのは一つのパーティションだけです。そのため、システム の一部を (注意深く保持しておいたバックアップと) 取り換えるだけですみます。 最低限、いわゆるルートパーティションを作ることは考慮すべきです。ここには システムの最も基本的な構成部分が収められ、もし他のパーティションに破損が 生じたとしても、システムを補修するために Linux をブートすることができます。 このことは、システムをゼロから再インストールしなければならないような トラブルを防ぎます。
二つめの理由は、コンピュータの利用方法にかなり依存する問題ではありますが、
一般的に商利用の際により重要になってくるものです。
何かが管理の外でディスクスペースを消費し始めたと仮定します。もしその
プロセスがルート特権を得るようなことが起きれば (システムは一般ユーザが
使用できないディスク領域をある程度確保しています)、
ディスクスペースがなくなっていることに突然気づかされるでしょう。 OS
は、さまざま作業のために (スワップスペースのほかに)
実ファイルを利用する必要があるので、このことは不具合を引き起こします。
さらに、このことは、ローカルシステムに由来する問題でないこともありえます。
例えば、電子メールとしてスパムメールを取り込むことは、パーティションを容易
に溢れさせえます。より多くのパーティションを用いることは、このような問題の
多くからシステムを保護するのです。
もう一度電子メールの例を取り上げるならば、/var/spool/mail
に独自のパーティションを割り当てれば、スパムメールを取り込んでも、
システムの大半はその動作に支障はないでしょう。
もし大きな IDE ディスクを持っていながら、LBA アドレッシングも、 オーバーレイドライバ (ハードディスクメーカーから提供されることもある) も、 ラージディスクアクセス拡張をサポートした (1998 年以降の) 新しい BIOS も利用しない場合は、別の理由が当てはまります。 この場合、ルートパーティションをハードディスクの先頭 1024 シリンダ以内 (BIOS による変換機構がなければ普通 524MB 程度) に収める必要があるでしょう。
より多くのパーティションを利用する際に、唯一実際に障害となるのは、 あらかじめどのようなパーティションが必要となるかを予測することが、 多くの場合難しいことです。 もしあまりに小さなパーティションを用意したなら、 システムを再インストールしたり、 容量の足りないパーティションにスペースを空けるために、 しょっちゅうファイルを移動したりしなければならないでしょう。 一方、あまりに大きなパーティションを用意すれば、 他で利用できるスペースを浪費しかねません。 近頃はディスクも安価になったとはいえ、お金を無駄に使う必要はないでしょう?
以下の一覧は、重要なディレクトリについて説明したものです。 こちらは、どのようにパーティションを分割するかについての参考となるでしょう。 こちらの内容が難しいと感じられた方は、 とりあえずこの部分は飛ばして、 インストールマニュアルの残りの部分を読んでから、 読みなおしてもよいでしょう。
/
: ルートパーティションはディレクトリ階層のスタート位置です。
こちらにはコンピュータがブートするために必要となる
重要なプログラムが収められます。 こちらにはカーネルや、システムライブラリ、
/etc
以下の設定ファイルのほか
さまざまな重要度の高いファイルが含まれます。 一般的にこちらには 30-50 MB
必要になりますが、 必要な容量は場合によって変化します。
注意: /etc
用に別のパーティションを用意しないでください。
ブートできなくなってしまいます。
/dev
:
このディレクトリには、さまざまなハードウェアコンポーネントへの
インターフェイスとなるデバイスファイルが収められます。 より詳しい情報については
Linux におけるデバイス名,
Section 4.3 をご覧ください。
/usr
: 全ユーザプログラム (/usr/bin
)、ライブラリ
(/usr/lib
)、文書 (/usr/share/doc
)
などはこのディレクトリに収められます。
ファイルシステムのこの部分は最も容量を必要とするところです。 少なくとも 300-500
MB のディスク容量を割り当てるべきでしょう。
もっとたくさんのパッケージなどをインストールする場合は、
このディレクトリにより多くのディスク容量を割り当てなければなりません。
/home
:
各ユーザは、個人的なデータをこのディレクトリのサブディレクトリに収めます。
その容量は、このシステムを利用するユーザの数や、
ユーザディレクトリにどのようなファイルが収められるかによって異なってきます。
システムの利用計画にもよりますが、ユーザがその利用計画に従うとして、
各ユーザごとに約 100 MB ほど割り当てなければならないでしょう。
/var
: ニュース記事、電子メール、ウェブコンテンツ、APT
のキャッシュなどさまざまな可変データすべてがこのディレクトリに収められます。
このディレクトリの容量はコンピュータの利用方法に大きく左右されますが、
たいていの場合パッケージマネジメントツールのオーバーヘッドも
考慮しなければなりません。 Debian
が提供するすべてのものを一度にフルインストールする場合でも、 /var
に 2 〜 3 GB ほどの容量を割り当てておけば十分なはずです。
一度に全てをインストールせず、部分部分を徐々にインストールする
(例えば、サービスやユーティリティを、まずはコンソール用のもの、 次に X
用のものというように徐々にインストールする) ならば、 /var
に 200
〜 500 MB の空き容量があればよいでしょう。
ハードドライブの空き容量が貴重なもので、 少なくともメジャーアップデートには APT
を使う予定がないならば、 /var
に割り当てる容量が 30 〜 40 MB
程度に少なくてもかまいません。
/tmp
: プログラムが一時データを作成する場合、
普通こちらのディレクトリを利用します。 通常は 20-50 MB あれば十分でしょう。
/proc
: こちらは、ハードディクス上には存在しない
仮想ファイルシステムです。 そのためハードディスク上の容量を必要としません。
こちらは、動作中のシステムに関する興味深く重要な情報を提供します。
どのような種類のマシンを構築するのか決めることは重要です。 このことから、必要なディスク容量は決定されるでしょうし、 パーティション分割の方針も影響を受けるでしょう
This has changed for Potato -- we need to update it. Debian では、利用者の便宜に合わせて共通タスクアプリケーション What does this need to be called? がいくつか用意されています。(プロフィールの選択とインストール, Section 7.22 をご覧ください。) 共通タスクアプリケーションとは、 パッケージの選択がより簡単になるように用意された、 パッケージ選択の単なるセットです。 これはいくつかのパッケージに、 インストールされるよう自動的にマークを付けてくれます。
用意された共通タスクアプリケーションは、それぞれインストール完了時の システムサイズが異なります。 これらの共通タスクアプリケーションをお使いにならないとしても、 システム設計にこちらの論議は重要です。 なぜならこれは、パーティションのサイズや、 必要になるパーティションの数を決定する際のヒントを与えてくれるからです。
以下は、ご利用いただける共通タスクアプリケーションのいくつかと そのサイズをまとめたものです。 The various applications and sizes should probably go here.
心に留めておいていただきたいのですが、こちらのサイズには、
通常よく使われるユーザファイルや電子メイル、データなどの他のファイルが、
まったく含まれていません。
ご自身のファイルやデータのスペースは、大きめに見積もることが常に肝要です。
特に、 Debian の /var
パーティションには、
たくさんのシステム情報が収められます。 dpkg
ファイル
(インストール済みパッケージの情報など) はゆうに 20MB は消費します。
またログファイルやその他のファイルのために、 通常少なくとも /var
パーティションに 50MB は空けておいてください。
一般的に PC の BIOS にはディスクパーティションに関する付加的な制限があります。
一つのドライブに作成できる「基本」および「論理」
パーティションの個数に制限があることもその一つです。 さらに、1994 年から 1998
年の間の BIOS には、
ドライブのどのパーティションからブートが可能なのかにも制限があります。
より詳細な情報については、 Linux パーティション
HOWTO
や、 Phoenix BIOS
FAQ
をご覧になっていただくとして、
この節では、一般によくある状況下で役立つ概要を簡単に紹介します。
「基本」パーティションは、PC ディスクに元々あったパーティションの枠組です。 しかし、その個数はたった 4 つに限られています。 「拡張」および「論理」パーティションが考案されたのは、 過去のこのような制限を乗り越えるためでした。 基本パーティションの一つを拡張パーティションとして設定すると、 そのパーティションの全領域を、 いくつかの論理パーティションにさらに分割することができます。 各拡張パーティションには、論理パーティションを 60 個まで作成することが可能です。 ただ、一つのディスクに作成できる拡張パーティションは一つだけです。
Linux の場合パーティションは、SCSI ディスクの場合 15 個まで (そのうちの 3 個は基本領域として、12 個は論理パーティションとして使用可能)、 IDE ディスクの場合は 63 個まで (そのうちの 3 個は基本領域として、60 個は論理パーティションとして使用可能) 作成できます。
知っておくべき PC BIOS に関する最後の問題が、ブートパーティションに関する
ものです。ブートパーティションとは、カーネルイメージが収められる
パーティションのことですが、 ``Enhanced Disk Drive Support Specification''
をサポートしていない 1995 年から 1998 年ごろ (メーカーによって異なってきます)
の BIOS よりも新しいものを使っていない場合、
このブートパーティションはドライブの先頭 1024
シリンダ以内に収まっていなければなりません。 Linux ローダー、Lilo と Debian
の代替ローダー mbr
はどちらも、BIOS
を利用してカーネルをディスクから RAM に読み込みます。 BIOS の int 0x13
ラージディスクアクセス拡張が利用できるならば
そちらが利用されますが、そうでない場合は
その代わりに旧式のアクセスインターフェイスが利用されます。
そして、旧式のアクセスインターフェイスを利用した場合は、 1023
シリンダ以降にはアクセスできません。 なお、一度 Linux がブートしてしまえば、
お使いの BIOS に関わらず Linux は ディスクアクセスに BIOS を利用しませんので、
この制限は関係ありません。
もし大きなディスクをお持ちの場合は、
シリンダ変換機構を使う必要があるかもしれません。 こちらは、BIOS
設定プログラムの LBA (Logical Block Addressing) とか CHS 変換モード (``Large'')
といった項目から設定できるでしょう。
大きなディスクに関する問題についての詳細な情報については、 ラージディスク
HOWTO
をご覧ください。
なお、シリンダ変換機構をお使いになっている場合は、ブートパーティションを 1024
番目のシリンダが変換されている位置内に収めなければなりません。
そのため、ブートパーティション用として小さなパーティション (5-10MB
あれば十分です) をディスクの先頭に作成し、 お好みに合わせて残りの領域に
他のパーティションを作成することをお勧めします。
このブートパーティションは、Linux カーネルが収められるディレクトリ
/boot
にマウントしなければなりません。 この設定なら、LBA
や ラージディスク CHS 変換を利用していたとしても、 また、お使いの BIOS
がラージディスクアクセス拡張をサポートしていたとしても、
いずれのシステムでも問題ないでしょう。
Linux におけるディスクおよびパーティションの命名法は、他のオペレーティング システムとは異なっています。パーティションを作成したりマウントする際には、 Linux がどのようなディスク名を用いるのか知っておく必要があります。 以下は基本的な命名法の仕組みです。
各ディスクのパーティションは、ディスク名に十進数を付け加えることで 表します。例えば、``sda1'' と ``sda2'' はそれぞれ、システムにある 第 1 SCSI ディスクドライブの第 1、 第 2 パーティションを表します。
実際にありそうな例をあげてみましょう。 二つの SCSI ディスクを持つシステムで、一方の SCSI アドレスが 2、もう一方の SCSI アドレスが 4 だとします。 最初のディスク (アドレス 2) は ``sda''、 二つ目のディスクは ``sdb'' と名付けられます。 もし ``sda'' ドライブに 3 つのパーティションがあるなら、 それらは ``sda1''、``sda2''、``sda3'' と名付けられます。 ``sdb'' ディスクとそのパーティションにも同じことが当てはまります。
もし二つの SCSI ホストバスアダプタ (コントローラ) がある場合、 ドライブの順序が混乱するかもしれないことに注意してください。 ドライブのモデルを知っていると仮定するなら、 このケースでの最もよい解決策はブートメッセージを見ることです。
Linux は基本パーティションを、 ドライブ名に 1 から 4
の数字をつけた名前で表します。 例えば、第 1 IDE ドライブの第 1
基本パーティションは、 /dev/hda1
となります。
論理パーティションは、5 という数字から始められ、同じドライブの 第 1
論理パーティションは、 /dev/hda5
になります。
また、拡張パーティションとは、論理パーティションを含む基本パーティションの
ことですが、これ自体は使用できないことを覚えておいてください。 このことは IDE
ディスクと同様 SCSI ディスクにも当てはまります。
すでに述べたとおり、独立した小さなルートパーティションは必ず作るべきです。
また、スペースがあるならば大きな /usr
パーティションを作るべきです。
例をあげるなら、大抵のユーザは最初のうちはパーティションを二つ用意すれば
十分でしょう。パーティションをたくさん用意することはディスクスペースを
浪費するので、小さなディスクを一つしか持っていない場合には、
特にこうするのが適切です。
もし、Debian のディストリビューションに含まれていないプログラムをたくさんイン
ストールしようと考えているならば、/usr/local
パーティションを
必要とする場合もあるでしょう。 また、メイルサーバとして利用するならば、
/var/spool/mail
に 別のパーティションを必要とするかもしれません。
/tmp
に 20 から 32MB ほど、独自のパーティションを割り当てるこ
とは、多くの場合よい考えです。
たくさんのユーザアカウントをかかえるサーバを設置するなら、独立した大き な
/home
パーティションを用意することも概してよいことです。
このように、パーティション割り振りの条件は、一般的に利用法の違いからコン
ピュータによってさまざまです。
とても複雑なシステムのためには、 マルチディスク
HOWTO
をご覧になるとよいでしょう。 こちらには、ISP
の管理者やサーバを設置する方の関心事の多くが、 詳細な情報として含まれています。
スワップスペースの問題に関しては、さまざまな見方があります。大雑把ながらも よいやりかたは、搭載しているシステムメモリーと同じ容量のスワップを用意する ことです。ただ、64MB 以上のスワップは大抵のユーザにとってはおそらく意味が ないでしょう。またたいていの場合、スワップを 16MB より小さくするのも避ける べきでしょう。 もちろん、これらのルールにも例外はあります。例えば 256MB ほどの RAM を積んだマシンで、10,000 もの方程式を同時に解こうとするならば、1GB (もしくはそれ以上) ものスワップを必要とするでしょう。
32-bit のアーキテクチャ (i386 や、m68k、32-bit SPARC、PowerPC) におけるスワップパーティションの最大サイズは 2GB です。 (Alpha と SPARC64 では実質的に無限と言えるほど大きなサイズを使えます。) これはほとんどの場合において充分な大きさであるはずです。 しかし、もしこれ以上の大きさのスワップ領域が必要なら、 異なるディスクにスワップ領域を分散したり (この手法は「スピンドル」とも呼ばれています)、 また、可能ならば SCSI あるいは IDE の異なる チャンネルにスワップ領域を分散するよう試みるべきでしょう。 このようにすると、カーネルは複数のスワップ領域をバランス良く使おうと するので性能が向上します。
一例として、32MB の RAM と /dev/hda
に 1.7GB IDE
ハードディスクを搭載した著者の一人のホームマシンの例をあげましょう。
/dev/hda1
には 500MB の DOS パーティションがあります。
(それほど使うわけではないので 200MB 程度にするべきでした。)
/dev/hda3
を 32MB のスワップパーティションとして使用し、 のこり
(約 1.2GB の /dev/hda2
) を、 Linux パーティションにしています。
パーティションの分割は、Debian をインストールする前と、インストールの最中 の二度にわたって行うことができます。 お手持ちのコンピュータを Debian 専用機にする場合には、 インストール作業 (``ハードディスクのパーティションを切る'', Section 7.5) の間にパーティションを作成すべきでしょう。 一方、複数のオペレーティングシステムを持つマシンをお持ちの場合は、 一般的には各オペレーティングシステムで、 それ専用のパーティションを作成すべきです。
以下の節では、インストールに先だって行うネーティブ オペレーティングシステム上でのパーティション分割に関する情報を扱います。 なお、他のオペレーティングシステムが参照するパーティション名と Linux が付けるパーティション名がどのように対応するのは確認しておくべきでしょう。 Linux におけるデバイス名, Section 4.3 をご覧ください。
既存の FAT もしくは NTFS パーティションを扱う場合には、 以下の方法か、Windows か DOS 専用のツールを用いることをお勧めします。 それ以外の方法で、 DOS や Windows からパーティションを分割する必要はまったくありません。 一般的に Linux 上のパーティション分割ツールを使えば、 より適切に作業が行えるからです。
最も一般的なインストールの一つは、すでに DOS (Windows3.1 を含む) や、 32 bit 版 Windows (Windows 95 や 98、NT)、 OS/2 などを含むシステムへのインストールでしょう。 そこでは、既存のシステムを破壊することなく、 同じディスクに Debian をインストールすることが要求されます。 背景, Section 4.1で説明したように、 不用意に既存のパーティションのサイズを減らすことは、 ほぼ間違いなくそのパーティションに損傷をあたえるでしょう。 以下に述べる方法は、データを保護する保証はありませんが、実際にはとても うまくいくでしょう。ただ用心のために、バックアップは取るべきです。
先に進む前に、ディスクをどのように分割するのか決めておくべきですが、 この節では、単に一つのパーティションを二つの部分に分割する方法を説明します。 そして、その一つに既存の OS を残し、もう一つを Debian で利用します。なお、 Debian をインストールする際には、ディスクの内 Debian で使うよう割り当てた 部分を、(スワップやファイルシステムとして) あなたが適切だと判断する割合で 使用する機会があたえられるでしょう。
ここで紹介する方法は、パーティション情報を改変する前に、パーティション 上の全データを、そのパーティションの先頭部分に移動するというものです。 こうすることでデータの損失はなくなります。 パーティションの後ろの方にファイルが存在すると、パーティションから得られる 空き領域が減ってしまいます。そのため、データの移動とパーティションの 切り直しの間に、ファイルをパーティションの終りの方に作らない、 あるいは作らせないようにすることが重要です。
まず最初に必要となるのは、fips
のコピーです。これは、 お近くの
Debian ミラーサイトの tools/
ディレクトリから入手できます。
そのアーカイブを展開 (unzip) して、RESTORRB.EXE
、
FIPS.EXE
、ERRORS.TXT
のファイルをブート可能な
フロッピーにコピーしてください。ブート可能なフロッピーは、DOS 上で sys
a: というコマンドを用いることで作ることができます。 fips
には大変優れたドキュメントが用意されていますが、こちらが
必要になるかもしれません。特に、ディスク圧縮ドライバやディスクマネージャを
お使いの場合は、このドキュメントを読むことが必要でしょう。
ディスクを最適化するまえに、
このフロッピーディスクを作りドキュメントをお読みください。
次に必要なことは、すべてのデータをパーティションの前方に移動することです。 DOS
6.0 以降に標準で用意されている defrag
が容易にこの仕事を
こなします。同じような芸当をやってのける他のソフトウェアの一覧については、
fips
のドキュメントをご覧ください。もし Windows95 をお持ちの
場合は、Windows95 上から defrag
を実行しなければならないこと
にご注意ください。DOS は、Windows95 やそれ以降でロングファイルネームを
サポートするために使われている VFAT を認識できないからです。
デフラグメントプログラムを実行した後 (大きなディスクでは少々時間が
かかります)、作成済みの fips
を収めたディスクを
フロッピードライブに挿入してリブートしてください。そのあとは、単に
a:\fips と打ち込んで、その指示にしたがってください。
fips
ではうまくいかない場合は、これ以外にも本当にさまざまな
パーティション管理ソフトウェアがあることを心に留めておいてください。
Linux 上のツールを用いて、DOS のドライブにパーティションを作成したり、 DOS
パーティションの容量を変更したりする場合、多くの人々が FAT
パーティションに由来する問題を経験しています。 例えば、DOS や Windows
上で、パフォーマンスが落ちたり、 scandisk
で整合性の問題が起きたり、
その他原因不明のエラーに遭遇したりといった報告例があります。
どうも、DOS 上で使用するパーティションを作成したりその容量を変更する場合は、
その最初のいくつかのセクタを 0 で埋めておくのがよいようです。 DOS の
format
コマンドを実行する前に、 Linux
上から次のコマンドを実行してください。
dd if=/dev/zero of=/dev/hdXX bs=512 count=4