我可以将 /boot 拆分到单个分区系统上的不同分区吗?

nic*_*ick 4 linux boot partition

我已经设置了我的系统,配置了它和所有东西,只使用 / (ext4) 的一个分区。所以没有单独的 home、boot、swap 等。

所以问题是:

有没有办法从此配置转到“单独”分区设置?

我可以为单独的引导分区腾出空间,然后将我的 /boot 复制到那里吗?

Gil*_*il' 5

您可以缩小现有的文件系统和分区,为其他分区腾出空间,然后复制您的文件。大多数文件系统在挂载时都无法收缩,因此可以从 Live CD/USB 进行收缩,例如您的发行版或GParted live CD(专用于分区的 live CD)或SystemRescueCD(一般系统管理和救援 live CD)。

但是,我不建议制作/boot单独的分区。制作/boot独立的,如果你的启动系统无法管理从你的根分区加载内核是唯一有用的。发生这种情况的典型情况是

  • 您有一个无法看到整个磁盘的旧 BIOS(固件),因此您需要将启动所需的软件放在磁盘开头附近的一个小分区中。
  • 您有一个无法读取根分区的引导加载程序。例如,您的引导加载程序是 Grub 1,而您的根分区位于 LVM 卷上。

如果您的系统已经可以使用根分区上的内核进行引导,那么创建单独的引导分区就没有任何好处。

如果您确实决定创建一个单独的引导分区——或者,就此而言,如果您将现有的引导分区合并到您的根分区上,那么这不仅仅是复制文件。当 PC 启动时,BIOS 将启动扇区(启动磁盘的前 512 个字节)加载到内存中。那里没有足够的空间来放置整个文件系统驱动程序,因此该代码的作用是从存储在引导扇区中的位置加载更多代码。如果将该代码移动到不同的分区,则需要更新该位置。您可能还需要更新引导加载程序的配置文件。

  • 使用 Grub,如果您的发行版附带update-grub(例如 Debian 或 Ubuntu),请运行它。否则,编辑配置文件(/boot/grub/menu.lst针对 Grub 1 或/boot/grub/grub.cfgGrub 2)并更新 Grub 从中找到内核的设备。(对于 Grub 2,您可能无所事事,因为它可以在运行时自动找到内核。)在任何一种情况下,也要运行grub-install /dev/sda.
  • 和 Lilo 一起跑lilo

  • 我将 `/boot` 保存在一个单独的分区中。它并不适合所有人,但它有几个优点。发行版升级可以通过旋转根文件系统来测试,同时仍然使用为该系统配置的经过验证的真实内核(我主要为每个系统使用自定义编译内核)。`/boot` 分区可以很小而且不碍事。使用 LVM 可以轻松迁移根文件系统,而无需担心破坏引导加载程序。您还可以使用 busybox 和一些工具在同一分区上保留一个最小的救援文件系统,以修复主根文件系统出现的任何问题。 (2认同)