B.5. Debian のパーティション分割プログラム

いろいろな種類のパーティション分割ツールが Debian 開発者によって組み込まれ、 さまざまな形式のハードディスクやコンピュータアーキテクチャで 動作するようになっています。 以下に、それらのアーキテクチャで使えるプログラムのリストを示します。

partman

Debian 推奨のパーティション分割ツールです。このアーミーナイフは、 パーティションサイズを変更したり、ファイルシステムを作成 (Windows で言うところの 「フォーマット」) したり、マウントポイントを指定したりすることもできます。

fdisk

上級魔術師用の、Linux オリジナルのディスクパーティション作成プログラムです。

すでにコンピュータに FreeBSD のパーティションが存在する場合は注意が必要です。 インストール用のカーネルはこのパーティションをサポートしていますが、 fdisk の表示方法では名前が異なります (そもそも表示されないかもしれません)。 Linux+FreeBSD HOWTO をご覧になってください。

cfdisk

一般ユーザのための、操作の容易なフルスクリーン表示ディスクパーティション 作成プログラムです。

cfdisk は FreeBSD パーティションを全く理解しません。 したがって、こちらでもデバイス名が変わってしまうかもしれません。

Partition a Hard Disk を選択すると、 上記のプログラムの 1 つがデフォルトで実行されます。 もしデフォルトで実行されるプログラムがお望みのものでない場合は、 まずそのディスクパーティション作成プログラムを終了してから、 AltF2 キーをいっしょに押して シェル (tty2) を起動し、お望みのプログラムの名前を (必要なら引数を添えて) 直接入力してください。 プログラムを終了したら、debian-installerPartition a Hard Disk という作業段階はとばして、次に進んでください。

IDE ディスクに 20 以上のパーティションを作ろうとしている場合は、 21 番目以降のパーティションに対応するデバイスを作成しなければなりません。 適切なデバイスが存在しないと、パーティションを初期化した後の次のステップで 失敗します。例として、21 番目のパーティションが初期化できるよう、 デバイスを追加するためのコマンド群を示します。これらは tty2 や Execute A Shell から実行できます。

# cd /dev
# mknod hda21 b 3 21
# chgrp disk hda21
# chmod 660 hda21

ターゲットシステムにも正しいデバイスがないと、新しいシステムで起動したときに失敗します。 カーネルとモジュールをインストールしたら、以降を実行してください。

# cd /target/dev
# mknod hda21 b 3 21
# chgrp disk hda21
# chmod 660 hda21

ブートパーティションを 「起動可能 (Bootable)」にマークするのをお忘れなく。

B.5.1. Intel x86 でのパーティション分割

DOS または Windows のような他の既存のオペレーティングシステムがあり、Debian をインストールする際にそのオペレーティングシステムを失わないようにしたければ、 Debian をインストールするスペースを解放するためにパーティションサイズを変更 する必要があるでしょう。インストーラは、FAT および NTFS ファイルシステムの両方の サイズ変更をサポートしています。インストーラのパーティション分割のステップになり、 手動で分割するオプションを選択した場合は、単に既存のパーティションを選択し、 サイズを変更してください。

PC の BIOS は、 一般にディスクパーティションに余分な制限を追加することになります。 1 つのドライブに作成できる 「基本」 および 「論理」 パーティションの個数に制限があることもその一つです。 さらに、1994 年から 1998 年の間の BIOS には、 BIOS がドライブのどの場所を起動できるかについても制限があります。 より詳細な情報については、 Linux Partition HOWTOPhoenix BIOS FAQ をご覧になっていただくとして、 この節では、一般によくある状況下で役立つ概要を簡単に紹介します。

基本」 パーティションは、PC ディスクに元々あった パーティションの仕組みです。 しかし、その個数はたった 4 つに限られています。 このような制限を乗り越えるため、 「拡張」 および 「論理」 パーティションが考案されました。 基本パーティションの 1 つを拡張パーティションとして設定すると、 そのパーティションの全領域を、 いくつかの論理パーティションにさらに分割することができます。 1 つの拡張パーティションには、論理パーティションを 60 個まで作成できます。 ただし、1 つのディスクに作成できる拡張パーティションは 1 つだけです。

Linux におけるドライブあたりのパーティション数の制限は、 SCSI ディスクの場合 15 個まで (基本パーティション 3 個と論理パーティション 12 個)、 IDE ディスクの場合は 63 個まで (基本パーティション 3 個と論理パーティション 60 個) です。 ただし通常の Debian GNU/Linux システムでは、 パーティション用に 20 のデバイスしか用意していないので、 20 以上のパーティションを持つディスクにインストールするには、 最初にそれらのパーティション用のデバイスを自分で作成する必要があります。

大きな IDE ディスクを使う場合に、そのディスクが LBA アドレスやオーバーレイドライバ (ハードディスクメーカーから提供されることがあります) を使っていなければ、ブートパーティション (カーネルイメージが置かれるパーティション) はハードドライブの先頭から 1024 シリンダ以内に置かなければなりません (BIOS 変換がないと、だいたい 524 メガバイトです)。

1995〜98 年あたり (メーカーによって異なります) 以降に製造され、 「Enhanced Disk Drive Support Specification」 をサポートしている BIOS には、この制限は当てはまりません。 Lilo (Linux ローダ) と Debian の代替ローダ mbr は、カーネルをディスクから RAM に読み込む際に、 いずれも BIOS を利用しなければなりません。 BIOS の int 0x13 ラージディスクアクセス拡張が利用できるなら そちらが利用されますが、 できない場合は旧式のアクセスインターフェースが利用されます。 そして後者では 1023 シリンダまでしかアクセスできません。 なお、一度 Linux が起動してしまえば、 Linux は ディスクアクセスに BIOS を利用しませんから、 お使いの BIOS が何であれ、この制限を気にする必要はありません。

大きなディスクをお持ちの場合は、 シリンダ変換機構を使う必要があるかもしれません。 これは BIOS の設定プログラムの LBA (Logical Block Addressing) とか CHS 変換モード (「Large」) といった項目から設定できるでしょう。 大きなディスクに関する問題についての詳細な情報については、 Large Disk HOWTO をご覧ください。 なお、シリンダ変換機構を使う場合は、 ブートパーティションを 変換後の 第 1024 番シリンダより前に収めなければなりません。

お勧めは、起動用の小さなパーティション (5〜10MB あれば充分です) をディスクの先頭に作成し、 残りの領域にお好みに合わせて他のパーティションを作成することです。 このブートパーティションは、Linux カーネルが収められる /boot ディレクトリ にマウントしなければなりません。 この設定なら、LBA や ラージディスク CHS 変換を利用していたとしても、 また、お使いの BIOS がラージディスクアクセス拡張をサポートしていたとしても、 いずれのシステムでも問題ないでしょう。