Title

このWebサイトでは、Linux関係のコンテンツを用意しておりますが、実践等はすべて自己責任でお願い致します。
どのコンテンツでもリンクは自由です。ぜひともお願いします。
なお、更新情報はTopにあります。


Top
Diary
Desktop
Kernel
LFS
Tips
Junk
Application
LAN
Link

Smart Boot Manager

戻る


いわゆるブートマネージャーというもので、HD内にインストールされている複数のOSを、切り替えて起動できます。LILO(LInux LOader)も一応ブートマネージャーなのですが、/etc/lilo.confの編集が必要なんで少々面倒なのと、記述ミスした時に、OSが起動しなくなる可能性もあります。一方、Smart Boot Managerは自動で起動可能なパーティションを認識し、グラフィカルな起動画面で選択できるので非常に使い心地がいいです。ただし、Smart Boot ManagerはOSのローダーではないので、Linuxの起動にはLILOが必要です。Linux起動時の流れとしては、

  1. PCをPower ON
  2. BIOSがMBRを読む
  3. Smart Boot Managerが起動する
  4. Smart Boot Managerの起動画面でLinux
    (LILOをインストールしているパーティション)を選択する
  5. LILOが起動する
  6. LILOからLinuxが起動する

という感じですね。

このSmart Boot Managerは、ソースコードで配布されているので、ここから、btmgr-3.5-2.tar.gzをダウンロードしてきます。その後で、適当なディレクトリにコピーして展開し、インストールします。なお、大抵のディストリビューションでインストール済みと思いますが、nasmが必要ですので、確認しておいて下さい。

$ rpm -qa | grep nasm
nasmはここからダウンロードできます。

私の手順ですが、展開先ディレクトリを/tmp/dummyにして、ソースはすでにコピー済みとします。root権限で、

# cd /tmp/dummy
# tar xvzf btmgr-3.5-2.tar.gz

展開すると、btmgrというディレクトリが作成されます。このディレクトリ内のMakefileというファイルを見てTARGET_OS=linuxになっているかどうかを確認し、なってない場合は、書き換えて保存します。書き換えたらインストールです。

# cd btmgr
# make
# make install

これらを実行すると、/usr/sbinにファイルがコピーされ、インストールが終了します。この時、sgml2htmlというコマンドがないとエラー(Error 2)になるけど、インストール自体は完了していますのでOKです。

次に、テーマを作成するんですが、カスタマイズが面倒なんで、デフォルトで用意されているtheme-us.asmというファイルを使います。

# cd manager/themes
# nasm -fbin -o toshi_theme.bin theme-us.asm

ここで、一つ注意を・・・。Smart Boot ManagerはMBRを書き替えるので、失敗すると最悪の場合、どのOSも起動できなくなるので、ブートディスクをあらかじめ用意しておきましょう。

さて、対象HDを/dev/hda(プライマリのマスタ)とした場合の起動は、

# sbminst -t toshi_theme.bin -d /dev/hda

です。ただしLILOがMBRにインストールしている場合、警告が出ますのでyesと答え、次のようにLILOをLinuxパーティションの先頭にインストールし直します。

  1. /etc/lilo.confを開く
  2. boot=XXXのXXXをLinuxパーティションに変更(私の場合)
  3. /sbin/liloを実行

これを実行すると、LILOから警告(Warning: /dev/hdb1 is not on the first disk)が出ますが、インストールの異常関係のエラーで無い限り無視します。その後再起動します。

起動画面が出せないのが残念ですが、HD上の起動可能なパーティションの一覧が示され、カーソルで移動して、ENTERを押すとそのOSが起動されます。

備考として、

  • Nameのところの名前を変更できる
  • キー入力がない場合のデフォルトパーティションから起動するまでの遅延時間の設定
  • 各パーティションにパスワードの設定ができる
  • アクティブ領域を設定できる(Windows95/98はアクティブ領域からしか起動できない)

等ができます。F1キーでヘルプが示されます。

Linuxを別パーティションに新しくインストールする時には、LILOのインストール先をブートパーティションの最初のセクタを選択してください。また、Smart Boot Managerの起動時に認識していない場合は、「Ctrl」+「H」で再スキャンすると現れます。

これで大容量HDで複数のOSを切り替えて使えるはずです。


私の場合、

  • プライマリのマスタHD(/dev/hda)
  • hda1:Windows95(システム)
    hda2:FAT16でフォーマットされた領域(Linuxとのデータ共有用)

  • プライマリのスレーブHD(/dev/hdb)
  • hdb1:TurboLinuxWorkstation
    hdb2:OS無し
    hdb3:スワップ領域

にしています。元々LILOはMBR(/dev/hda)にあったので、それをLinuxパーティションである/dev/hdb1の先頭に移動させました。また、LILO経由でWindowsを起動させる必要もなくなったので、その部分も削除しました。

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=linux
other=/dev/hda1
	label=win
	table=/dev/hda
image=/boot/vmlinuz
	label=linux
	root=/dev/hdb1
	read-only







boot=/dev/hdb1
map=/boot/map
install=/boot/boot.b
prompt
timeout=0
default=linux
image=/boot/vmlinuz
	label=linux
	root=/dev/hdb1
	read-only

これで、/sbin/liloを実行すればOKです。


since 03/03/2001

つまらん事ですが、本サイトのコンテンツの著作権は、私、としくんに帰属し、また、常識を逸脱した引用は遠慮願います。
toshikun4432@geocities.co.jp