我先安装了 Fedora 14,然后安装了 Ubuntu 10.04。我使用 dm_crypt/aes256/lvm 安装它们,因此我使用了加密的 VolumeGroup。在 Ubuntu 安装结束时,它说无法安装 GRUB,所以我必须使用 SuperGRUBdisk 来启动 Fedora 并给出命令:
# grub-install /dev/sda
现在我可以正常启动到 Fedora,无需使用 supergrubdisk,但问题是,我无法启动到 Ubuntu!
有没有任何工作方法可以使用(单独的)加密卷组(每个卷组具有其他密码)来安装 Fedora 14 和 Ubuntu 10.04?这样 2 个用户(谁知道自己发行版的 root 密码)可以使用 1 台 PC,但看不到彼此的文件?
更新:我以相反的顺序尝试了:我首先安装了 Ubuntu,然后安装了 Fedora。 Fedora 在安装时没有给出有关 grub 的错误消息,但它仍然是一样的:启动 PC 时,我在“grub 启动列表”中看不到 Ubuntu。
可能是什么问题呢?启动管理器无法识别硬盘上还有另一个发行版?为什么?我应该怎么办?
更新#2:这是我对图片的想法:)(在另一张图片上。主持人)
更新#3:我正在 VirtualBox 中尝试这一切(VirtualBox-3.2-3.2.12_68302_fedora14-1.i686)
答案1
当使用 LVM 或 dm-crypt 时,我建议使用非 LVM 非 dm-crypt 引导分区。只需创建一个带有 100meg 大小的普通启动分区的磁盘即可。然后将磁盘的其余部分分配给加密的LVM VG。我在使用 RAID 时也做过这样的设置。我在所有磁盘上创建第一个分区作为 RAID1。 Grub 启动时没有问题,因为在 RAID1 中,所有磁盘都是相同的,并且看起来像普通的非 RAID 磁盘(减去分区末尾的小 RAID 超级块),而磁盘的其余部分可能是带有 LVM 和/或 dm 的 RAID5 -地穴在上面。
答案2
我手动编辑了 Fedoras /boot:
我在“/boot/grub/menu.lst”中附加了一些内容!我可以启动到 Ubuntu!
Fedora 的“/boot/grub/menu.lst”在编辑之前:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,2)
# kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-LogVol01
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=0
splashimage=(hd0,2)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.35.6-45.fc14.i686)
root (hd0,2)
kernel /vmlinuz-2.6.35.6-45.fc14.i686 ro root=/dev/mapper/VolGroup-LogVol01 rd_LVM_LV=VolGroup/LogVol01 rd_LUKS_UUID=luks-af599498-b495-483f-bd1b-fb8d10c8b37a rd_LVM_LV=VolGroup/LogVol00 rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet
initrd /initramfs-2.6.35.6-45.fc14.i686.img
我附加了这个,它起作用了:
title ubuntu
root (hd0,0)
kernel /vmlinuz-2.6.32-28-generic
initrd /initrd.img-2.6.32-28-generic
好的。但还有两个问题:
1)这种启动方式可以吗? (我的意思是在 Fedora 的内核行中声明了很多东西,在 ubuntu 内核行中,我刚刚写了“vmlinuz-2.6.32-28-generic” - 我不能只从 ubuntu 的 /boot/grub 复制/menu.lst,因为只有 grub.cfg..其他语法:http://pastebin.com/raw.php?i=b4DLweKv)
2)对menu.lst的手动修改是永久性的吗?长期来说还好吗?
我的意思是,如果 ubuntu 获得了内核更新,并且 ubuntu 没有处理/更新启动管理器(因为 fedora 会处理/更新启动管理器,如果我最后安装了 fedora)——那么启动管理器怎么知道 ubuntu 必须使用新内核启动??或者我必须手动找出在“kernel”和“initrd”行中写入的内容?
答案3
启动分区必须大于 100 MB
我使用的是 100 MB 的引导分区和 ubuntu 10.10,并且由于不断发布新的内核版本,100 MB 很快就用完了。
很久以前,100 mb /boot 就足够了,但现在不行了。
答案4
你可以像这样从旧版 grub 启动你的 grub2 Ubuntu:-
title Ubuntu
root (hd0,0)
kernel /boot/grub/core.img
这样您仍然会看到完整的 Ubuntu grub2 菜单,该菜单将在内核更新时更新。