web-dev-qa-db-ja.com

Grubに古いLinuxパーティションを認識させるにはどうすればよいですか?

問題:
2つのパーティションがあります。 1つにはFedora9をインストールし、もう1つのパーティションにはFedora 12をインストールしました。Fedora12をインストールしたので、Grubに古いパーティションを起動させることができません。古いFedoraパーティションから起動するようにGrubを設定するにはどうすればよいですか?

いくつかの注意:

  • 私のFedora9は、fdisk内のLinuxだけでなく、LinuxLVMとして表示されるようです。そのLinuxに仮想ボックスをインストールしましたが、それ自体は仮想マシンではありません。
  • 私はFedora12がgrub2の代わりにgrubをインストールすると確信しています
  • それが助けになるなら、Fedora12ライブCDから両方のパーティションを見てマウントすることができます
  • 私の箱は64ビットです。

情報:
これは私がfdisk -lから得たものです:

Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0005745c

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       64685   519578624   83  Linux
/dev/sda2           65706       65730      200812+  83  Linux
/dev/sda3           65731       91201   204595807+  8e  Linux LVM
/dev/sda4           64686       65705     8193150    5  Extended
/dev/sda5           64686       65705     8192000   82  Linux swap / Solaris

そして、これは私のmenu.lstに現在あるものです:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,0)
#          kernel /boot/vmlinuz-version ro root=/dev/sda1
#          initrd /boot/initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu

title Fedora (2.6.31.12-174.2.3.fc12.x86_64)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.31.12-174.2.3.fc12.x86_64 ro root=UUID=876dd1b5-104a-46de-b5fb-08f96d2ce420  LANG=en_US.UTF-8 SYSFONT=latarcyrheb-Sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet mem=8192M
    initrd /boot/initramfs-2.6.31.12-174.2.3.fc12.x86_64.img
title Fedora 9
    rootnoverify (hd0,3)
    chainloader +1

そのリストの最初のFedoraは正しく起動するFedora12であり、2番目は私のFedora9インストールがどこにあったかについての単なる推測でした。起動時にGrubでこれを選択すると、キーボードに応答しないカーソルが点滅する空白の画面が表示されます。

更新:
古いFC9システムをマウントできましたが、/ bootセクションで、menu.lstの下にこれが見つかりました。

title Fedora (2.6.27.25-78.2.56.fc9.x86_64)
    root (hd0,1)
    kernel /vmlinuz-2.6.27.25-78.2.56.fc9.x86_64 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
    initrd /initrd-2.6.27.25-78.2.56.fc9.x86_64.img

質問:
古いFedoraを起動するには何をする必要がありますか?

4
Robbie

LVMは「Linux仮想マシン」ではなく、「 論理ボリュームマネージャー "」です。私がLVMを正しく理解している場合、LVMのルートパーティションで起動するには、LVMの外部に別の/ bootパーティションが必要です( / dev/sda2?)。あなたのシステムはまだこれを持っているかもしれません、しかしあなたのFC12インストールがそれを上書きしたならば、回復ははるかに難しいでしょう。

GrubとLVMの問題へのリンクは次のとおりです。 リンク1リンク2

"Linux LVMボリュームのマウント" -も参照してくださいルートをマウントして調べることにより、古いFC9システムがまだ正常であることを確認できるはずです FC12の起動中にパーティションを作成します。その場合、FC9/ bootパーティションを上書きした場合でも、おそらくかなり簡単に回復できます。

LVMシステムのGrubブートエントリの例を次に示します( source )。この場合、(hd0,0)/ dev/sda1を意味します)は小さい/bootパーティションであり、システムの残りの部分は/ dev/sda2のLVMにあります。 kernel行のroot =およびlvm2root =エントリに注意してください。

title Debian GNU/Linux, kernel 2.6.26 Using LVM with SATA Disk
root (hd0,0)
kernel /vmlinuz-2.6.26 root=/dev/ram0 lvm2root=/dev/mapper/sda_vol-root
initrd /initrd-lvm2-2.6.26.gz

事後分析:このユーザーは、最終的に最良のシナリオになりました。 FC12のインストールでは、FC9の/ bootパーティション/ dev/sda2が上書きまたは再フォーマットされず、必要なのはFC9の古い/ boot/grub/menu.lstにアクセスし、ブートエントリをFC12のGrubメニューにコピーします。

5
quack quixote
title Fedora (2.6.31.12-174.2.3.fc12.x86_64)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.31.12-174.2.3.fc12.x86_64 ro root=UUID=876dd1b5-104a-46de-b5fb-08f96d2ce420  LANG=en_US.UTF-8 SYSFONT=latarcyrheb-Sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet mem=8192M
    initrd /boot/initramfs-2.6.31.12-174.2.3.fc12.x86_64.img
title Fedora 9
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.31.12-174.2.3.fc12.x86_64 ro root=*****  LANG=en_US.UTF-8 SYSFONT=latarcyrheb-Sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet mem=8192M
    initrd /boot/initramfs-2.6.31.12-174.2.3.fc12.x86_64.img

Root = *****を書いた場所を参照してください? hd0,3のUUIDを取得するか、root =/dev/hda3または/ dev/sda3をそこに書き込みます。そして..それが正しいパーティションであれば、それは問題ないはずです。

0
Trevoke