我刚刚使用10.10桌面版LiveCD进行了安装,将根卷设置为LVM LV。
显然这是不被支持的;在启动图形界面安装程序之前,我通过以下步骤成功实现了:
- 在运行中的系统上安装lvm2软件包 - 在系统硬盘上创建一个LVM类型的分区 - 使用LVM工具创建物理卷、卷组和根LV。我还创建了第二个用于/var的LV,但我认为这与问题无关。 - 在两个LV上分别创建ext4文件系统。
完成这些步骤后,图形界面安装程序将这两个LV作为安装目标提供给我,我欣然接受,并将/boot放在与LVM分区分开的主分区上。
安装过程似乎很顺利,我已经验证了根卷和var卷都包含了看起来正常的目录结构。
然而,引导失败了;如果我理解正确的话,我被放入了一个在initrd文件系统中运行的busybox中。
虽然我还没有完全阅读grub2文档,但看起来尝试引导我的新系统的条目是正确的。
请注意,实际的`grub.cfg`文件中的$VARS将被替换为相应的值。
我重新启动进入了livecd,并将initrd镜像解压到一个临时目录中。看起来initrd镜像缺少LVM功能。例如,如果我正确地阅读了`/usr/share/initramfs-tools/hooks/lvm2`(在livecd引导系统上安装了`lvm2`,但在已安装系统上不存在),那么`/sbin`目录下应该有一个`lvm`可执行文件;但事实并非如此。
如何解决这个问题?我知道使用备用安装CD可能更容易,因为它显然支持LVM,但我不想等待下载并重新安装。
显然这是不被支持的;在启动图形界面安装程序之前,我通过以下步骤成功实现了:
- 在运行中的系统上安装lvm2软件包 - 在系统硬盘上创建一个LVM类型的分区 - 使用LVM工具创建物理卷、卷组和根LV。我还创建了第二个用于/var的LV,但我认为这与问题无关。 - 在两个LV上分别创建ext4文件系统。
完成这些步骤后,图形界面安装程序将这两个LV作为安装目标提供给我,我欣然接受,并将/boot放在与LVM分区分开的主分区上。
安装过程似乎很顺利,我已经验证了根卷和var卷都包含了看起来正常的目录结构。
然而,引导失败了;如果我理解正确的话,我被放入了一个在initrd文件系统中运行的busybox中。
虽然我还没有完全阅读grub2文档,但看起来尝试引导我的新系统的条目是正确的。
menuentry 'Ubuntu, with Linux 2.6.35-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set $UUID_OF_BOOT_FILESYSTEM
linux /vmlinuz-2.6.35-22-generic root=/dev/mapper/$LVM_VOLUME_GROUP-root ro quiet splash
initrd /initrd.img-2.6.35-22-generic
}
请注意,实际的`grub.cfg`文件中的$VARS将被替换为相应的值。
我重新启动进入了livecd,并将initrd镜像解压到一个临时目录中。看起来initrd镜像缺少LVM功能。例如,如果我正确地阅读了`/usr/share/initramfs-tools/hooks/lvm2`(在livecd引导系统上安装了`lvm2`,但在已安装系统上不存在),那么`/sbin`目录下应该有一个`lvm`可执行文件;但事实并非如此。
如何解决这个问题?我知道使用备用安装CD可能更容易,因为它显然支持LVM,但我不想等待下载并重新安装。