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

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

因为单独的/home分区有助于轻松重新安装/升级。/boot在与 Windows 进行双启动时有帮助吗?我的意思是它对普通台式机/笔记本电脑用户有用吗,还是它是一种需要在服务器上部署的高级技术?

答案1

[本回答中有关 GRUB2 和 LVM 的信息很大程度上归功于的努力;最初这个答案有严重错误,Jan 应该为我所做的改进而受到赞扬。-Eliah]

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

很长一段时间以来,这基本上是不必要的,因为使用较新的 BIOS,您通常可以启动一个系统,其启动文件位于远离磁盘开头的分区中。尽管如此,这样做几乎没有什么坏处(除非你把/boot它弄得太小以至于填满了——大概应该是 250 MiB),所以许多手动分区的人仍然这样做。

像 LILO 这样的旧引导加载程序本身存在局限性,这使得单独的/boot分区变得有用,正如 Jan指出

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

从 LVM 读取文件的能力添加了 GRUB2,这意味着所有最新版本的 Ubuntu(Ubuntu 9.10 Karmic Koala 及更高版本)有它。因此,通过适当的配置,您可以将整个 Ubuntu 系统放在 LVM 中,而无需单独的 /boot 分区。请参阅这一页有关如何配置此功能的详细信息。(事实上,唯一的目前支持使用原始 GRUB 而不是 GRUB2 的 Ubuntu 版本是 Ubuntu 8.04 LTS Server;其他所有非 EoL 版本(10.04 LTS、10.10、11.04 和 11.10)均使用 GRUB2。)

如果您使用 LVM 但不是用于您的 Ubuntu 系统驱动器,而只是用于存储驱动器,或者用于系统的某些部分(可能用于/home)但没有/,那么单独的/boot分区是没有必要的,即使您使用的是旧的(GRUB2 之前)系统。

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

答案2

/boot由于技术和历史原因而存在。

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

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

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

对于双启动 Linux 和 Windows 来说,/boot是无关紧要的(尽管我喜欢使用启动分区的启动扇区作为加载器。)但是,当双启动不同的 Linux 安装时,共享是很常见的/boot

答案3

在安装多个发行版时,您也应该使用单个 /boot 分区(以及单个交换分区)。这些发行版中没有一个拥有 100% 的 /boot 信息,因此 /boot 不应该位于单个发行版的任何分区中。

相关内容