![/boot (基于 lvm)在分区中有什么用途?](https://linux22.com/image/1036784/%2Fboot%20%EF%BC%88%E5%9F%BA%E4%BA%8E%20lvm%EF%BC%89%E5%9C%A8%E5%88%86%E5%8C%BA%E4%B8%AD%E6%9C%89%E4%BB%80%E4%B9%88%E7%94%A8%E9%80%94%EF%BC%9F.png)
因为单独的/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 不应该位于单个发行版的任何分区中。