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

USB メモリの準備をするには、GNU/Linux が既に動いていて、USB をサポートしているシステムが必要になります。現在の GNU/Linux では、USB メモリを挿すと自動的に認識するでしょう。そうならない場合は、usb-storage カーネルモジュールをロードしているかを確認してください。USB メモリを挿すと、/dev/sdX (X は a〜zの範囲の文字) というデバイスにマッピングされます。どのデバイスが USB メモリかは、挿した後で dmesg コマンドを実行すると見られます。USB メモリに書き込むには、ライトプロテクトスイッチを切る必要があります。

[警告] 警告

この方法を使うとデバイス上の既存の物は破壊されてしまいます! USB メモリの正しいデバイス名を必ず確認して使用してください。間違ったデバイス名を使用すると、例えばハードディスク内のすべてのデータを失うといったことが起こります。

4.3.1. ハイブリッド CD/DVD イメージを使った USB メモリの準備

Debian の CD/DVD イメージは直接書き込めるようになり、起動可能な USB メモリを作るのがとても簡単になりました。USB メモリに合う CD/DVD イメージ (netinst や CD-1、DVD-1、netboot 等) を選んでください。CD/DVD イメージの取得については 「公式 Debian GNU/Linux CD/DVD-ROM セット」 を参照してください。

別の方法として、とても小さな、サイズが数メガしかない USB メモリ用に、netboot ディレクトリから mini.iso をダウンロードできます (場所については 「どこでインストールイメージを探すか」 に記載があります)。

選択した CD/DVD イメージは、既存の内容を上書きして、直接 USB メモリに書き込む必要があります。例えば、既存の GNU/Linux システムを使っている場合、以下のようにして、CD・DVD イメージファイルを、USB メモリに書き込めます。完了したら、確実にアンマウントしてください。

# cp debian.iso /dev/sdX
# sync

他のオペレーティングシステムでのやり方については、Debian CD FAQ で確認できます。

[重要] 重要

イメージはパーティションではなくディスクデバイス全体を指定する必要があります。例えば /dev/sdb1 ではなく /dev/sdb となります。イメージの書き換える unetbootin のようなツールは使わないでください。

[重要] 重要

ほとんどのユーザは、CD/DVD イメージを単にUSBメモリに書き込むだけでうまく行くでしょう。下記の選択肢はもっと複雑なので、主に特殊なニーズがあるユーザ向けです。

USB メモリに配置したハイブリッドイメージは、ストレージの領域すべてを専有するわけではありません。そのため、ファームウェアファイルやパッケージ、その他選んだファイルを保持するために、空き領域を使用するのを、検討する価値があるかもしれません。あなたが、ひとつしか USB メモリを持っていないか、ひとつのデバイスにすべて格納する必要があるときに便利です。

USB メモリに ふたつ目の FAT パーティションを作成し、パーティションをマウントしてから、ファームウェアのコピーや展開をそこに行います。以下に例を示します。

# mount /dev/sdX2 /mnt
# cd /mnt
# tar zxvf /path/to/firmware.tar.gz
# cd /
# umount /mnt

もしかすると、USB スティックに mini.iso を書き込んだかもしれません。この場合、ふたつ目のパーティションを作成する必要はなく、都合のいいことに、すでに作成済みでしょう。USB メモリを挿し直すと、ふたつのパーティションが見えるはずです。

4.3.2. USB メモリへのファイルの手動コピー

USB メモリを設定するもう一つの方法は、インストーラのファイルと CD イメージを手動で書き込むやり方です。USB メモリは少なくとも 1 GB のサイズが必要なのに注意してください (「USB メモリへのファイルの手動コピー — 柔軟な方法」 のようにすれば、もっと少ないサイズでもセットアップできます)。

syslinux や、その設定ファイルと共に、インストーラの全ファイル (カーネル含む) が入った hd-media/boot.img.gz というオールインワンなファイルがあります。

これは便利ですが、この方法にはひとつの大きな欠点があることに注意してください。USB メモリの容量がもっと大きかったとしても、デバイスの論理サイズが 1 GB に制限されます。他の用途にも使用したい場合は、全容量を確保し直すため、USB メモリをパーティション分割し直し、新しいファイルシステムを作成する必要があります。

このイメージを使用するには、単に USB メモリに直接展開してください。

# zcat boot.img.gz > /dev/sdX

その後、FAT ファイルシステムの USB メモリをマウントし(mount /dev/sdX /mnt)、 そこに Debian の ISO イメージ (netinst、フル CD) をコピーしてください。USB メモリをアンマウント (umount /mnt) すると完了です。

4.3.3. USB メモリへのファイルの手動コピー — 柔軟な方法

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

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

デバイス全体ではなく、USB メモリの最初のパーティションを セットアップする方法を示します。

[注記] 注記

ほとんどの USB メモリは、FAT16 パーティション 1 つであらかじめ設定されているので、おそらく USB メモリのパーティション分割のやり直しや、再フォーマットは必要ありません。どうしてもしなければならない場合は、cfdisk や他のパーティション分割ツールを使って、FAT16 パーティションを作成し[3]、以下のようにして MBR をインストールしてください。

# install-mbr /dev/sdX

install-mbr コマンドは、mbr Debian パッケージにあります。その後、以下のようにファイルシステムを作成してください。

# 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.3.2. インストーライメージの追加

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

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

  • initrd.gz (初期化 RAM ディスクイメージ)

インストーラは、テキスト版とグラフィカル版の選択ができます。後者は、gtk サブディレクトリにあります。ファイル名を変更したければ、syslinux は DOS (8.3) のファイル名しか処理できないことに注意してください。

次に、syslinux.cfg 設定ファイルを作成します。最低限必要なのは以下の行です (netboot を使用している場合、カーネルバイナリ名を linux に変更してください)。

default vmlinuz initrd=initrd.gz

グラフィカルインストーラ用には vga=788 を追加すると良いでしょう。他のパラメータをお好みで付加できます。

さらにパラメータを追加するために、ブートプロンプトを有効にするには、prompt 1 の行を追加してください。

hd-media イメージを使用している場合、ここで Debian の ISO イメージのファイル[4]を、USB メモリにコピーしてください。完了したら、USB メモリを アンマウントしてください (umount /mnt)。



[3] bootable フラグを付け忘れないでください。

[4] netinst かフル CD イメージのいずれかを使用できます (「公式 Debian GNU/Linux CD/DVD-ROM セット」 参照)。必ず適合するものを選択してください。netboot mini.iso イメージはこの用途に使用できないことに注意してください。