[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:52903] Re: WindowsXP、Debian、Ubuntuマルチブート下でのMBRについて
武藤@Debianぷろじぇくとです。
At Sat, 29 Aug 2009 16:15:45 +0900,
tw wrote:
> 表題の通り、WindowsXP、Debian、Ubuntu という3つの OS を、
> この順番でインストールしたマシンがあります。
> (同時インストールというわけではなく、その間に期間があります)
> Ubuntu の古いカーネルを削除したついでに、
> Debian の古いカーネルも削除しました。
> (2.6.26-1-486 と 2.6.18-6-486 を Synaptic パッケージマネージャで削除)
>
> その結果、Ubuntu と同じように、起動時のカーネル(OS)選択画面において、
> Debian の古いカーネルも表示されないことを期待したのですが、
> 依然として古い、削除済みのカーネルが表示されました。
> これは Ubuntu の /boot/grub/menu.lst に記載されていた、
> Debian の上記、古いカーネル項目をコメントアウトすることにより、
> 削除済みのカーネルが表示されなくなりましたので、
> 問題は解決できたのですが理屈がよく理解できていません。
Debian→Ubuntuの順にインストールされたのだと思います。
> 起動時のカーネル(OS)選択画面というのは BIOS と MBR だけで表示している、
> という理解で正しいでしょうか?
GRUBの選択画面はmenu.lstの内容をそのまま出しているだけだと思います。
UbuntuのGRUB設定の仕組みがDebianと同じかどうか調べていないので的を外して
いるかもしれませんが、逆の順序でインストールしてもいかにも同じ挙動になりそう
なのでその前提で説明すると、
1. UbuntuのインストーラでGRUBをセットアップ
2. GRUBセットアップ時にインストーラは、Ubuntuブートパーティション以外に
ほかのパーティションもチェックする
3. Debianブートパーティションにカーネルを見つけたのでそれをmenu.lstに追加
(menu.lstのMAGICブロック範囲外)
4. Ubuntuでカーネルパッケージに対して追加/削除/更新を行うと、update-grubが
実行され、MAGIC範囲内の内容が更新される
DebianなどのUbuntu管理外(MAGICブロック範囲外)のものについてはノータッチ
5. MAGICブロック範囲外のものについてはノータッチだから、Debian側でカーネルを
操作してもやはりUbuntu側grub.lstに変更は行われない
となりますね。
要するにmenu.lstにおけるUbuntuカーネル以外のエントリはインストーラがユーザの
便宜のために定義したものであり、以降の保守については自動ではなく、すべてユーザに
任されています。
--
武藤 健志@ kmuto @ kmuto.jp
Debian/JPプロジェクト (kmuto@debian.org, kmuto@debian.or.jp)
株式会社トップスタジオ (kmuto@xxxxxxxxxxxxxxx)
URI: http://kmuto.jp/ (Debianな話題など)