当前位置: 首页>>技术教程>>正文


/boot(基于lvm)在分区中有什么用?

, ,

问题描述

由于单独的 /home 分区有助于轻松重新安装/升级。使用 /boot 在使用 Windows 进行双引导时是否有帮助?我的意思是它对于普通台式机/笔记本电脑用户有用还是需要部署在服务器中的先进技术?

最佳回答

[这个答案中有关 GRUB2 和 LVM 的信息很大程度上归功于 Jan 的努力;最初这个答案是严重错误的,Jan 值得赞扬我所做的改进。 -以利亚]

不使用 LVM 时,单独的 /boot 分区主要用于确保启动所需的文件足够靠近驱动器的开头(当 / 分区本身不在驱动器的开头时)。例如,您可能希望将 linux-swap 分区放置在非常靠近驱动器开头的位置,因为在某些驱动器上,靠近驱动器开头的数据可能会更快地被访问。然后,您可以有一个小的 /boot 分区,然后是 linux-swap 分区,最后是 / 分区(然后是其他单独的分区,如果有的话,例如 /home )。

在相当长的一段时间里,这在很大程度上是不必要的,因为使用较新的 BIOS,您通常可以引导其引导文件位于远离磁盘开头的分区中的系统。尽管如此,这样做也没什么坏处(除非你把 /boot 做得太小以至于填满——它可能应该是 250 MiB 左右),所以很多手动分区的人仍然这样做。

像 LILO 这样的旧引导加载程序本身有一些限制,这使得单独的 /boot 分区很有用,如 Jan points out

使用LVM时,如果您的/分区位于LVM上,则以前需要有一个单独的/boot分区。在这样的配置中,/boot分区不是LVM的分区,而是LVM启动之前的磁盘上的分区。这是因为引导加载程序无法从 LVM 读取文件。因此,如果 LVM 上没有单独的 /boot 分区,则您永远无法启动系统(有关详细信息,请参阅 thisthis)。

从 LVM 读取文件的能力为 added with GRUB2 ,这意味着所有最新版本的 Ubuntu(Ubuntu 9.10 Karmic Koala 及更高版本) have it 。因此,通过正确的配置,您可以将整个 Ubuntu 系统置于 LVM 中,而无需单独的 /boot 分区。有关如何配置的详细信息,请参阅 this page。 (事实上​​,唯一使用原始 GRUB 而不是 GRUB2 的 currently supported Ubuntu 版本是 Ubuntu 8.04 LTS Server;所有其他非 EoL 版本(10.04 LTS、10.10、11.04 和 11.10)都使用 GRUB2。)

如果您使用 LVM 但不用于 Ubuntu 系统驱动器,仅用于存储驱动器,或者用于系统的某些部分(可能用于 /home )但不用于 / ,则不需要单独的 /boot 分区,即使您正在使用旧的(GRUB2 之前的)系统。

总之,对于不使用 LVM 的系统,单独的 /boot 分区在很大程度上取决于个人喜好,而安装在 LVM 上的旧系统可能需要一个分区。

次佳回答

/boot 的存在是出于技术和历史原因。

引导加载程序(grub 或 lilo)必须能够访问其自己的文件、Linux 内核和初始 ramdisk。这些文件放置在 /boot 中。

早期版本的 lilo 只能访问 HDD 的某些子集,只能识别有限数量的文件系统(实际上只有 ext2),并且要求文件系统驻留在主分区或逻辑分区上(即没有 md RAID 或 LVM)。因此,拥有一个小的 /boot 分区已成为常见的做法。

现代版本的 grub 更加灵活,因此,在许多情况下,不再需要 /boot 的单独分区。

对于双引导 Linux 和 Windows, /boot 是无关紧要的(尽管我喜欢将引导分区的引导扇区用于船装载机。)但是,当双引导不同的 Linux 安装时,共享 /boot 是很常见的。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/14159.html,未经允许,请勿转载。