2 つの Linux OS と 1 つの Windows を実行するために、Ubuntu 10.04 grub.cfg を Redhat 5.1 menu.lst ファイルにエントリすることができません。

2 つの Linux OS と 1 つの Windows を実行するために、Ubuntu 10.04 grub.cfg を Redhat 5.1 menu.lst ファイルにエントリすることができません。

私のコンピュータには 3 つのオペレーティング システムがあります。

まずWindows 7をインストールし、次にUbuntu 10.04をインストールしました

そして最後にRedHat 5.1をインストールしました

今、私は一つのことを知っています。Redhat をインストールすると、Ubuntu によってインストールされた GRUB は Redhat GRUB によって上書きされます。また、起動時に 3 つのオペレーティング システムすべてを表示するには、/boot/grub/cfg のエントリを /boot/grub/menu.lst ファイルに作成する必要があることも知っています。

問題はこうだ

以前のバージョンでは、Ubuntu grub ファイルで操作するのは非常に簡単でしたが、現在このファイルは変更されています。Redhat /boot/grub/menu.lst ファイルにエントリを作成するために、Ubuntu /grub/grub.cfg ファイルから何を取得すればよいのかわかりません。

つまり、grub.cfg ファイルのエントリを redhat menu.lst ファイルに入れることができません。助けてください。この 3 つの eOS で作業したいのです。

答え1

Ubuntu の最近のリリースには grub2 が同梱されていますが、これは grub1 (RedHat が使用しているものだと思います) とは異なる構文を構成ファイルに使用します。

Ubuntuの/boot/grub/grub.cfgファイルを見ると、次のようなセクションが見つかるはずです。

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,3)'
    search --no-floppy --fs-uuid --set 5cf7c0d3-8b4d-428f-a54a-ea43ce486654
    linux /boot/vmlinuz-2.6.32-21-generic root=UUID=5cf7c0d3-8b4d-428f-a54a-ea43ce486654 ro quiet splash
    initrd  /boot/initrd.img-2.6.32-21-generic
}

これは次のmenu.lstエントリに変換されます

title Ubuntu, with Linux 2.6.32-21-generic
root (hd0,3)
kernel /boot/vmlinuz-2.6.32-21-generic root=UUID=5cf7c0d3-8b4d-428f-a54a-ea43ce486654 ro quiet splash
initrd /boot/initrd.img-2.6.32-21-generic

もちろん、構成に応じてディスク UUID とパーティション番号を調整する必要があります。

関連情報