是否可以将一些引导管理器安装到包含原始物理卷(即没有分区表)的磁盘上?我尝试了 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,因此它不需要执行任何比从硬盘读取扇区更复杂的操作。
如果它给您一些警告或错误消息,请用您的新问题扩展您的问题,甚至提出一个新问题。