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

sai*_*116 20 boot dual-boot lvm

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

Eli*_*gan 27

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

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

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

/boot正如 Jan指出的那样,像 LILO 这样的老式引导加载程序本身有一些限制,这使得单独的分区很有用。

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

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)而不是/,则/boot不需要单独的分区,即使您使用的是旧的(前 GRUB2) 系统。

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

  • 这是正确的,但略显过时。最新版本的 grub2 可以从 LVM 卷读取 /boot。https://wiki.archlinux.org/index.php/GRUB2#LVM(链接到 Arch Wiki,不确定哪个版本的 Ubuntu 会提供足够新的 grub 版本。) (3认同)

Jan*_*Jan 8

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

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

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

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

对于双引导 Linux 和 Windows,/boot无关紧要(虽然我喜欢将引导分区的引导扇区用于船加载程序。)但是,当双引导不同的 Linux 安装时,共享/boot.