![将启动管理器安装到原始 LVM 物理卷](https://linux22.com/image/643389/%E5%B0%86%E5%90%AF%E5%8A%A8%E7%AE%A1%E7%90%86%E5%99%A8%E5%AE%89%E8%A3%85%E5%88%B0%E5%8E%9F%E5%A7%8B%20LVM%20%E7%89%A9%E7%90%86%E5%8D%B7.png)
是否可以将一些引导管理器安装到包含原始物理卷(即没有分区表)的磁盘上?我尝试了 LILO,但 LVM 卷变得无法访问(由于 LVM 结构损坏)。引导模式是 BIOS。
答案1
主要问题是,如今的引导加载程序有点复杂,实际上它们也需要启动。即使是这个“引导加载程序启动代码”对于 MBR(主引导记录)中大约 300 字节的代码来说也太大了。
这是因为引导加载程序通常使用额外的数据区域,大约 10-30 千字节,主引导记录之后。
在大多数默认配置中,数据仅从硬盘驱动器的第一个磁道开始,这些磁道基本上从 0 开始编号。因此,在磁柱 0 上,我们有一个空闲的数据磁道,可供引导加载程序自由使用。在几乎所有情况下,我发现它都是 63*512=32256 字节。
即使对于今天的硬盘来说也是如此,它也不会显示其物理扇区布局,而只显示模拟扇区布局(通常包含 16 或 255 个磁头,每个磁道包含 63 个扇区)。
因此,这就是 MBR 分区磁盘的情况。如果您使用 LVM,则没有分区表。专业系统管理界有很多观点认为“每个磁盘都应该有一个分区表”,或者“您根本无法使用没有分区的磁盘”,等等。我的观点与他们大相径庭:我们必须承认,MBR 分区是一种过时的东西,在逻辑卷控制时代它已经过时了,如果可能的话应该消除它。我想,您可能也有类似的考虑,即在您的磁盘上不设置 MBR 分区表,只设置纯 LVM 布局。
但是 LVM 存在一个问题,即其初始布局不包含引导加载程序的 10-30 KB 可用数据。除此之外,即使对于引导加载程序开发人员来说,这也是一种不太常见的配置。但无论如何,这是可以做到的。
我建议你使用 LILO。Lilo 从扇区列表读取其第二阶段引导加载程序、你的内核甚至你的 initrd,因此它不需要执行任何比从硬盘读取扇区更复杂的操作。
如果它给您一些警告或错误消息,请用您的新问题扩展您的问题,甚至提出一个新问题。