Answers:
[此答案中有关GRUB2和LVM的信息主要归功于Jan的努力;最初,此答案严重错误,对于我所做的改进,Jan值得赞扬。-伊莱亚]
当不使用LVM时,一个单独的/boot
分区主要用于确保启动所需的文件足够靠近驱动器的开头,而该/
分区本身不在驱动器的开头。例如,您可能希望将linux-swap分区放在驱动器的开始位置附近,因为在某些驱动器上,驱动器附近的数据可能会更快地访问。然后,您可以有一个小/boot
分区,然后是linux-swap分区,然后是该/
分区(如果有的话,然后是其他单独的分区,例如/home
)。
在相当长的一段时间内,这基本上是不必要的,因为使用较新的BIOS,通常可以引导其引导文件位于远离磁盘开头的分区中的系统。不过,这样做没有什么缺点(除非您做得/boot
很小到可以填满-大概应该为250 MiB),所以许多手动分区的人仍然可以这样做。
/boot
扬指出,诸如LILO之类的较早的引导加载程序本身也有局限性,使单独的分区很有用。
当使用 LVM,如果你的/
分区上的LVM,它使用的是需要有一个单独的/boot
分区。在这种配置中,该/boot
分区不是LVM的分区,而是LVM启动之前磁盘上的分区。这是因为引导加载程序无法从LVM读取文件。所以,你永远无法开机进入系统上的LVM如果没有一个独立的/boot
分区(见这个和这个细节)。
GRUB2增加了从LVM读取文件的功能,这意味着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
)/
,而不是用于LVM ,则/boot
即使您使用的是旧的( GRUB2之前的版本)系统。
总之,/boot
对于不使用LVM的系统,单独的分区在很大程度上取决于个人喜好,而安装在LVM上的旧系统可能需要一个分区。
/boot
存在是出于技术和历史原因。
引导加载程序(grub或lilo)必须能够访问自己的文件,Linux内核和初始ramdisk。这些文件放在中/boot
。
lilo的早期版本只能访问HDD的某些子集,只能理解数量有限的文件系统(实际上仅是ext2),并且要求文件系统驻留在主分区或逻辑分区上(即,没有md RAID或LVM)。因此,有一个小的/boot
分区成为惯例。
现代版本的grub更加灵活,因此,在许多情况下,/boot
不再需要单独的分区。
对于Linux和Windows的双重引导,/boot
是无关紧要的(尽管我喜欢将引导分区的引导扇区用于船载程序。)但是,当双重引导不同的Linux安装时,通常会共享/boot
。