2009年8月30日

[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@xxxxx, kmuto@xxxxx)
株式会社トップスタジオ (kmuto@xxxxx)
URI: http://kmuto.jp/ (Debianな話題など)


投稿者 xml-rpc : 2009年8月30日 00:09
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/88052
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。