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

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

partman

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

cfdisk

一般ユーザのための、操作の容易なフルスクリーン表示ディスクパーティション作成 プログラムです。cfdisk man ページをお読みください。

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

B.5.1. IA-64 でのパーティション分割

partman ディスクパーティショナーは、インストーラ用の デフォルトのパーティション分割ツールです。 それはインストールがうまくいくよう、ディスクとファイルシステムが正しく 構成されることを確実にするために、パーティションとマウントポイントの セットを管理します。実際は、ディスク上でパーティション分割をするために parted を使用します。

EFI のフォーマット認識

IA64 EFIファームウェアは、GPT および MS-DOS の 2 つのパーティションテーブル (あるいはディスクラベル) フォーマットをサポートします。MS-DOS (i386 PC 上で一般的に使用されるフォーマット) は、IA64 システムでは もはや推奨されません。インストーラはさらに cfdisk を提供しますが、GPT および MS-DOS テーブルの両方を唯一正確に 管理することができる parted だけを使うべきです。

partman の自動のパーティション分割レシピは、 ディスク上の第 1 パーティションとして EFI パーティションを割り当てます。 また、swap パーティションをセットアップするのに 幾分似通った、メインメニューからの Guided partitioning 中でパーティションをセットアップできます。

partman パーティショナーはほとんどのディスクレイアウト を扱えます。 ディスクを手動でセットアップする必要があるようなまれな場合では、 上述のようなシェルを使用し、コマンドラインインターフェイスを使って、 parted ユーティリティを直接実行することができます。 現在のディスク全体を消去してGPT テーブルとパーティションをいくつか 作りたい、という場合は次のようなコマンドシーケンスを使うことに なるでしょう。

      mklabel gpt
      mkpartfs primary fat 0 50
      mkpartfs primary linux-swap 51 1000
      mkpartfs primary ext2 1001 3000
      set 1 boot on
      print
      quit

こうすると新しいパーティションテーブルと 3 つのパーティション、 すなわち EFI ブートパーティション、スワップスペース、 ルートファイルシステムが作成されます。 最後に EFI パーティションの起動フラグを立てています。 パーティションのサイズはメガバイト単位で指定し、 その先頭と末尾の値をディスク先頭からのオフセットで与えます。 したがって例えば上記では、 ディスク先頭からのオフセット 1001MB から始まる、サイズ 1999MB の ext2 パーティションを作成したことになります。 なお parted からスワップスペースを作成すると、 そのパーティション上で不良ブロックをスキャンするので、 数分の時間が必要になります。

B.5.2. ブートローダパーティションの必要条件

ELILO (ia64 ブートローダ) は、boot フラグが セットされた FAT ファイルシステムのパーティションを必要とします。 このパーティションは、ブートローダ、カーネル全部、RAM ディスクなど、 起動に必要なものを収めなければなりません。最小サイズはおよそ 20MB 程度でしょうが、いろいろなカーネルを試したりしたい場合には、 128MB くらい取っておく方が良いでしょう。

EFI ブートマネージャと EFI シェルは、GPT テーブルを完全にサポートします。 ですからブートパーティションが必ずしも最初のパーティション、あるいは 同じディスク上にある必要はありません。 これは、パーティションを割り当てるのを忘れてしまい、ディスク上の他の パーティションをフォーマットしたあとになって初めて気がついた場合でも便利です。 partman パーティショナーは、root パーティションを適切にセットアップすると同時に EFI パーティションを チェックします。 これは、パッケージのインストールを始める前にディスクレイアウトを修正する 機会を与えてくれます。 このような手抜かりを修正する最も簡単な方法は、EFI パーティションを追加するための 自由で充分なスペースを作るために、ディスクの最後のパーティションを縮小することです。

root ファイルシステムと同じディスク上の EFI ブートパーティションを割り当てることを強くお勧めします。

B.5.3. EFI のパーティション診断

EFI ファームウェアは、ほとんどの x86 PC 上で見られた通常の BIOS より かなり複雑なものになっています。 いくつかのシステムベンダは、ハードディスク上のファイルにアクセスし、EFI ベースの システム管理ユーティリティと診断ルーチンを格納するためのハードディスク ファイルシステムからプログラムを実行するために EFI の能力を利用しています。 これはシステムディスク上の独立した FAT フォーマットファイルシステムです。 詳細は、システムに付属するシステムドキュメンテーションおよび付属品を 調べてください。 診断ルーチンパーティションを最も簡単にセットアップするには、 EFI ブートパーティションと同時にセットアップすることです。