USB メモリから起動した際に、利用できるインストール法が 2 つあります。ひとつは、完全にネットワークからインストールする方法、2 つめは、CD イメージを USB メモリにコピーし、パッケージをそこから (可能であればミラーサイトも組み合わせて) インストールする方法です。
ひとつめのインストール法では、netboot
ディレクトリ (場所は 「どこでインストールイメージを探すか」 で言及) からインストーライメージをダウンロードする必要があります。また、以下で説明する 「柔軟な方法」 で、USB メモリにファイルを書き込んでください。
2 つめのインストール法向けのインストールメディアは hd-media
にあり、このイメージを USB メモリにコピーして、「簡単な方法」 にも 「柔軟な方法」 にも使用できます。このインストール法では、CD イメージもダウンロードする必要があるでしょう。インストールイメージと CD イメージは debian-installer
の同じリリースのものでなければなりません。同じものを使用しないと、おそらくインストール中にエラーになるでしょう[6]。
USB メモリの準備をするには、GNU/Linux が既に動いていて、USB をサポートしているシステムが必要になります。現在の GNU/Linux では、USB メモリを挿すと自動的に認識するでしょう。そうならない場合は、usb-storage カーネルモジュールをロードしているかを確認してください。USB メモリを挿すと、/dev/sdX
(「X」 は a〜zの範囲の文字) というデバイスにマッピングされます。どのデバイスが USB メモリかは、挿した後で dmesg コマンドを実行すると見られます。USB メモリに書き込むには、ライトプロテクトスイッチを切る必要があります。
この方法を使うとデバイス上の既存の物は破壊されてしまいます! USB メモリの正しいデバイス名を必ず確認して使用してください。間違ったデバイス名を使用すると、例えばハードディスク内のすべてのデータを失うといったことが起こります。
USB メモリは少なくとも 128 MB のサイズがなければなりません (「ファイルのコピー — 柔軟な方法」 のようにすれば、 より小さなセットアップが可能です)。
syslinux
や、その設定ファイルと同様に、(カーネルを含む) インストーラの全ファイルが入った hd-media/boot.img.gz
というオールインワンファイルがあります。
これは便利ですが、この方法にはひとつの大きな欠点があることに注意してください。USB メモリの容量がもっと大きかったとしても、デバイスの論理サイズが 256 MB に制限されます。他の用途にも使用したい場合は、全容量を確保し直すため、USB メモリをパーティション分割し直し、新しいファイルシステムを作成する必要があります。2 つめの欠点は、フル CD イメージを USB メモリにコピーはできず、もっと小さい businesscard や netinst の CD イメージしか使えないことです。
このイメージを使用するには、単にUSB メモリに直接展開してください。
# zcat boot.img.gz > /dev/sdX
その後、FAT ファイルシステムの USB メモリをマウントし (mount /dev/
) 、そこに Debian の netinst か businesscard の ISO イメージをコピーしてください。USB メモリをアンマウント (sdX
/mntumount /mnt
) すると完了です。
もっと柔軟なものがよかったり、何が起きているか知りたいのなら、以下に説明する USB メモリにファイルを置く方法を使用すべきです。この方法の利点は、(USB メモリの容量が十分大きければ) フル CD の ISO イメージをコピーするという選択しもあるということです。
デバイス全体ではなく、USB メモリの最初のパーティションを セットアップする方法を示します。
ほとんどの USB メモリは、FAT16 パーティション 1 つであらかじめ設定されているので、おそらく USB メモリのパーティション分割のやり直しや、再フォーマットは必要ありません。どうしてもしなければならない場合は、cfdisk や他のパーティション分割ツールを使って、FAT16 パーティションを作成し[7]、以下のようにファイルシステムを作成してください。
# mkdosfs /dev/sdX1
USB メモリの正確なデバイス名を使用する事に注意してください。mkdosfs は、dosfstools
Debian パッケージに含まれています。
USB メモリからブートしてカーネルを起動するには、USB メモリにブートローダを配置します。どのブートローダ (例: lilo
) も動作しますが、FAT16 パーティションを使用し、テキストファイルを編集するだけで再設定できるので、syslinux
を使用するのが便利です。FAT ファイルシステムをサポートするオペレーティングシステムなら、ブートローダの設定を変更するのに利用できます。
USB メモリの FAT16 パーティションに syslinux
を置くには、syslinux
パッケージと mtools
パッケージをシステムにインストールして、以下を実行してください。
# syslinux /dev/sdX1
繰り返しますが、正確なデバイス名を使用するよう注意してください。 syslinux の開始時には、このパーティションをマウントしてはなりません。この手順ではパーティションにブートセクタを書き込み、 ブートローダコードを含んでいるファイル ldlinux.sys
を作成します。
このパーティションをマウントし (mount /dev/
)、以下のインストーライメージファイルを USB メモリへコピーしてください。sdX1
/mnt
vmlinuz
か linux
(カーネルバイナリ)
initrd.gz
(初期化 RAM ディスクイメージ)
インストーラは、通常版とグラフィカル版の選択ができます。後者は、gtk
サブディレクトリにあります。ファイル名を変更したければ、syslinux
は DOS (8.3) のファイル名しか処理できないことに注意してください。
次に、syslinux.cfg
設定ファイルを作成します。最低限必要なのは以下の 2 行です (netboot
を使用している場合、カーネルバイナリ名を 「linux
」 に変更してください)。
default vmlinuz append initrd=initrd.gz
グラフィカルインストーラ用には、2 行目に video=vesa:ywrap,mtrr vga=788
を追加すると良いでしょう。
hd-media
イメージを使用している場合、ここで Debian の ISO イメージ[8]を USB メモリにコピーします。完了したら、USB メモリを アンマウントしてください (umount /mnt
)。
システムが USB メモリから起動できなければ、 この USB メモリには無効なマスターブートレコード (MBR) があります。 これを修正するために、mbr
パッケージの install-mbr コマンドを次のように実行してください。
# install-mbr /dev/sdX
[6] もっとも起こりそうなエラーは、カーネルモジュールが見つからないというものです。これは、CD イメージにあるカーネルモジュール udeb のバージョンが、実行中のカーネルのバージョンと異なることを表しています。
[7] 「bootable」 フラグを付け忘れないでください。
[8] businesscard, netinst, フル CD イメージのいずれかを使用できます (「公式 Debian GNU/Linux CD-ROM セット」 参照)。必ず適合するものを選択してください。「netboot mini.iso
」 イメージはこの用途に使用できないことにご注意ください。