问题:
我有两个分区。其中一个分区上安装了 Fedora 9,另一个分区上刚安装了 Fedora 12。现在我已经安装了 Fedora 12,但我无法让 Grub 启动旧分区。我该如何配置 Grub 以启动我的旧 Fedora 分区?
一些注意事项:
- 我的 Fedora 9 似乎在 fdisk 中显示为 Linux LVM,而不仅仅是 Linux。我在该 Linux 上安装了虚拟盒,但它本身并不是虚拟机。
- 我很确定 Fedora 12 安装的是 grub 而不是 grub2
- 我可以从 Fedora 12 live 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 是 Fedora 12,可以正确启动,第二个只是猜测我的 Fedora 9 安装在哪里。当我在启动时在 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?
答案1
LVM 不是“Linux 虚拟机”,而是“逻辑卷管理器“如果我正确理解了 LVM,要引导到 LVM 上的根分区,您需要一个单独的/启动LVM 之外的分区(那是/dev/sda2?)。您的系统可能仍保留此文件,但如果您的 FC12 安装覆盖了它,则恢复将更加困难。
以下是 Grub 与 LVM 问题的几个链接:链接1,链接2
另请参阅“安装 Linux LVM 卷”- 你应该通过在启动到 FC12 时挂载并检查其根分区,可以验证您的旧 FC9 系统是否仍然正常。如果是这样,即使您已经覆盖了 FC9/启动分割。
以下是 LVM 系统的 Grub 启动项示例 (来源)。 在这种情况下,(hd0,0)(意义/dev/sda1)很小/启动分区,其余系统位于 LVM 上/dev/sda2。注意根=和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/启动分割,/dev/sda2,而所需要的只是访问 FC9 的旧/boot/grub/菜单.lst并将启动项复制到 FC12 的 Grub 菜单中。
答案2
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。而且……如果这是正确的分区,那就没问题了。