我在某处读到,不建议将引导分区放在基于 lvm 的分区上。但是,无论如何我都会这么做。然后我遇到的唯一问题是有时当我安装一个新的 Linux 发行版并将其引导分区放在 lvm 上时,grub 无法检测到它。该grub-mkconfig
命令在生成文件时通常会出错grub.cfg
。但是,如果这是基于 lvm 的引导分区的唯一问题,我认为没关系。因为我知道如何修复它,只需为要启动的预期启动分区提供正确的地址,然后一切都会正常。
那么,除了这个之外,lvm 还会导致什么问题吗?因为,在我看来lvm非常灵活并且没有减慢系统速度。
答案1
这不是性能问题,而是故障排除和修复问题。/boot
是引导位置 - 其中有一些文件可以启动系统中的其他所有内容。
有时您需要修复问题(例如 grub 配置或类似问题)。
如果您必须这样做,那么拥有最低公分母类型的文件系统很有用,可以使其尽可能简单,例如您必须卸下驱动器并将其放入另一个盒子中才能编辑配置文件。
如果你处于这个位置,你不想要将你的LVM“捏造”到生活中才能读取它:)。
答案2
我在 Fedora 上使用/boot
LVM/
文件系统内的目录多年,从未遇到过问题。
您只需注意使单个物理磁盘成为/
卷组上的单个物理磁盘即可。我有一个vgmain
用于该物理驱动器的卷组,还有一个vgdata
用于所有其他驱动器的卷组。
如果您需要在故障排除时将硬盘带到另一台计算机上,这一点非常重要。如果LVM由多个物理驱动器组成,则LVM将无法工作。但如果它仅由一个人组成,那就会了。
但我从来没有经历过这种故障排除情况。
最新的 Fedora 安装不会让您自动执行此操作。您必须/boot
在安装过程中将其放入常规分区,正常启动,然后手动将内容移动到 LVM/
文件系统。确保您重新组织内容,使其看起来像/boot
LVM 下的普通目录/
,并/boot2
作为旧的引导分区,然后grub install /dev/sd?
是正确的路径。重新启动,删除/boot2
文件系统并将分区包含回 LVM,以便可以使用。
答案3
对我来说,如果如你所说,grub 无法检测到你的 LVM/boot
文件系统和 grub-mkconfig
通常在生成时会出错grub.cfg
,这似乎有足够的理由避免这种配置并切换到 grub 支持更好的东西。当您说“只需为预期的启动分区提供正确的地址”时,我不知道“地址”是什么意思,也不知道您到底在做什么作为解决方法,但老实说,这听起来像是一个可怕而脆弱的黑客攻击。
作为一项基本且几乎必要的功能,引导加载程序可以访问简单磁盘分区上的简单文件系统并从那里加载下一阶段。这就是它真正需要做的。引导加载程序中的更多功能,例如解析 LVM 等容器以及在预引导环境中处理多个磁盘,仅意味着需要在 grub 中复制更多 Linux(内核)功能(更多代码,更多错误),但永远不会完全准确在两种环境(更混乱)和更复杂的整体环境中以相同的方式工作。对于引导来说,越简单越好。