syslinux による USB メモリスティックからの起動(複数パーティション)
要は、System Rescue CD と Debian installer を同じ USB メモリスティックから起動できるようにしたい。
前者については、開発元にやりかたが掲載されているのでそのまま実行すれば良いとして、
わからなかったのは2番目以降のパーティションに入っているものをどう起動するのか。
幸い、Ubuntu のフォーラムで話題になっていたのを見つけた。
それも含めて整理すると、次のようになる。
- 2番目のパーティションを作る。System Rescue CD には300MB もあれば十分なので、parted などを使用して1番目のパーティションを縮め、スペースを作る。
- 2番目のパーティションをFATフォーマットする。dosfsck など。今回は FAT32 とした。
- ・syslinux /dev/sdb2 として(*)、syslinux を該当パーティションにインストールする。ldlinux.sys というファイルが作成される。
*) USB メモリスティックが /dev/sdb として認識されている場合 ← システムのログをみればわかるし、cat /proc/partitions であたりをつけることもできる。 - Debian Installer のβバージョン CD ISO イメージの中にあるファイルを、パーティション 2 にコピーする。ループバックファイルシステムを使用してマウントすれば中身が見える。(mount -o loop)
- コピーしたファイルの中にあるディレクトリ名、ファイル名にいくつか変更が必要。
- isolinux/ → syslinux/
- isolinux.cfg → syslinux.cfg
- パーティション1にある syslinux/ 内のメニューファイルに、パーティション2からの起動を選択できるようメニュー項目を追加する。local2 は既にあるので、その次に local3 とでもして追加。肝は append hd0 2 を指定して chain.c32 を呼び出すこと。
LABEL local2 MENU LABEL *) Boot from second hard disk kernel chain.c32 append hd2 TEXT HELP Boot local OS installed on second hard disk ENDTEXT
LABEL local3 MENU LABEL *) Boot from second partition of this USB stick kernel chain.c32 append hd0 2 TEXT HELP Boot Debian Squeeze installer Beta ENDTEXT
- あとは、それぞれ起動できるかどうか、実際に使ってみて確認のこと
気付いた人は気付いたと思うが、上の local2 にも変更が一箇所入っている。
USB メモリスティックから起動するときには、syslinux にはこれが一番目のハードディスク hd0 に見えている。なので、1番目の内蔵ハードディスクから起動したい場合には append 行で hd1 を、2番目の内蔵ハードディスクの場合には hd2 を指定する必要がある。
« 新しいノートPCに求めるスペック | トップページ | mltermで全角記号を表示する時の文字幅 »
「パソコン・インターネット」カテゴリの記事
- apt-cacher-ng と cli.github.com(2026.06.20)
- wine で LINEを使う(2026.04.10)
- apt-cacher-ng と ftp.jp.debian.org(2026.03.25)
- minicom の右枠線がズレる問題へのパッチと gdb の話(2026.01.04)
- Bluefish 関連ページ 復活(2025.12.29)


コメント