4.3. USB メモリでの起動用ファイルの準備

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 のサイズがなければなりません (「ファイルのコピー — 柔軟な方法」 のようにすれば、 より小さなセットアップが可能です)。

4.3.1. ファイルのコピー — 簡単な方法

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/sdX /mnt) 、そこに Debian の netinst か businesscard の ISO イメージをコピーしてください。USB メモリをアンマウント (umount /mnt) すると完了です。

4.3.2. ファイルのコピー — 柔軟な方法

もっと柔軟なものがよかったり、何が起きているか知りたいのなら、以下に説明する USB メモリにファイルを置く方法を使用すべきです。この方法の利点は、(USB メモリの容量が十分大きければ) フル CD の ISO イメージをコピーするという選択しもあるということです。

4.3.2.1. USB メモリのパーティション分割

デバイス全体ではなく、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 を作成します。

4.3.2.2. インストーライメージの追加

このパーティションをマウントし (mount /dev/sdX1 /mnt)、以下のインストーライメージファイルを USB メモリへコピーしてください。

  • vmlinuzlinux (カーネルバイナリ)

  • 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)。

4.3.3. USB メモリからの起動

警告

システムが 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 イメージはこの用途に使用できないことにご注意ください。