[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:02338] Re: lilo as MBR, DOS+Debian



こんにちは。松田陽一@PAL-NET三鷹です。
こちらのMLではお初になります。
以後宜しくお願いします。(_o_)

From: Tomohiro KUBOTA <kubota@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Subject: [debian-users:02333] lilo as MBR, DOS+Debian
Date: Sat, 18 Oct 1997 15:34:58 +0900

> 大阪大学の久保田です。

どもです。(^_^)

> liloを使ったブートについて質問があります。
> どちらかというとLinux genericな質問で恐縮なんですが、
> どなたか知恵を貸して下さい。

という投稿からどなたからもフォローが無かったので、ちょっと不安ですが
私なりにフォローアップを。

以下の内容は間違いを書いている可能性がありますので、お気付きの方はご
指摘頂ければ幸いです。

> Debianのインストーラーのメニューでは、最初にハードディスクの領域確保
> がありますが、このとき、/dev/hda1と/dev/hda3の両方をbootableにしました。

インストーラーのメニューで複数のパーティションをbootableにするっての
は、
「起動したいパーティションを選択して、/etc/lilo.confに記載する」
為ではないかと想像します。

# 私の場合は他のパーティションは一切考慮せずにインストール作業を済ま
# せ、後から手作業でliloを設定したものですから…。

> ところが、カーネルの再構築を行い、最後に make zlilo とすると、
> /etc/lilo.confが書き換えられていないにも関わらず、DOSが立ち上がらなく
> なりました。liloのメニュー項目としては生きているけど、DOSを選ぶと
> Disk I/O Errorが出るようになってしまいました。

# さぁ、こっから自信がないぞー

liloは、インストール前には
	lilo -v -u
又は
	lilo -v -U
として、インストールしたい所にあるブート領域を奇麗にしないと駄目だと
思います。
久保田さんの場合ですと、IDE HDD のマスターブートレコードですね。
奇麗にしないままでliloの「二重書き」をやると、高確率でこけると思いま
す。

> 調べてみると、/dev/hda1がbootableでなくなっていました。そこでbootable
> に設定すると、こんどはliloが起動しなくなり、直接DOSに行ってしまいました。

この時点では、/sbin/activateを実行することによって、マスターブートレ
コードの「lilo部分」を奇麗に除去して、DOS を起動可能にされたのだと思
います。

この時点なら、
	lilo -v
とすれば、liloが正常にインストールされるんじゃないかと思います。

> たぶん最初はMBRにLILOが書き込まれていたのだろうと思い、/usr/sbin/liloconfig
> の中身(perlスクリプト)を見て、
> 
> dd if=/boot/mbr.b of=/dev/hda bs=444 count=1
> 
> を実行しましたが、事態は変わりませんでした。

これはliloがインストールされる直前のマスターブートレコードを書き戻す
おまじないだと思います。
結局、/sbin/activateと同じような結果になったのでしょう。

> どうすれば、liloを使ってDOSとLinuxの起動ができるのでしょうか。

最初はliloで正常に動作していたようですので、/etc/lilo.confには問題が
ないと思います。
ですから、

・make zlilo又はlilo -vする前には、lilo -v -u又はlilo -v -Uする。

で良いかと思います。

と、色々書きましたが、事はブートレコードに関わる部分ですので、下手を
すると起動不可能になってしまう可能性も否定できません。

・loadlin.exe でDOS からも起動できるようにしておく。
  DOS のシステムディスクも作成しておき、そこからもloadlin.exe が起動
  出来るようにしておくとなお良い。
・ブートフロッピーを複数枚作成して、フロッピーからも確実に起動できる
  ようにしておく。
・/etc/lilo.confを別途コピーして、(例えば/etc/lilo.conf.testとか)
	boot = /dev/fd0
  と書き換えて、
	lilo -v -C /etc/lilo.conf.test
  で、フロッピーにliloを書いてみる。
等、万全の対策を施しておく事を「強く」お薦めします。
--
松田 陽一(yoh)
mailto:matsuda@xxxxxxxxxxxx
http://www.palnet.or.jp/~matsuda/index.htm