我只是从10.10 Desktop LiveCD进行安装,使根卷成为LVM LV。
显然,这不受支持;在启动GUI安装程序应用程序之前,我通过执行以下步骤来管理它:
lvm2
在正在运行的系统上安装软件包- 在系统硬盘驱动器上创建LVM类型的分区
- 使用LVM工具创建物理卷,卷组和根LV。我还为创建了第二个LV
/var
;我认为这无关紧要。 - 在两个LV的每一个上创建文件系统(ext4)。
完成这些步骤后,GUI安装程序提供了两个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
}
请注意,$ VARS实际上被grub.cfg
其相应的值替换。
我重新启动回到livecd,并将initrd映像解压缩到temp目录中。看来initrd映像缺少LVM功能。例如,如果我正在正确读取/usr/share/initramfs-tools/hooks/lvm2
(已安装lvm2
在livecd引导的系统上,而未安装在已安装的系统上),lvm
则应在其中放置一个可执行文件/sbin
。事实并非如此。
解决这种情况的最佳方法是什么?我意识到,仅使用备用安装CD(显然支持LVM)会更容易,但是我不想等待它下载然后重新安装。