我可以删除启动时未出现的 GRUB 吗?

我可以删除启动时未出现的 GRUB 吗?

我刚刚在 Dell Inspiron 5567 上安装了 Ubuntu 16.04(旧版)和 Windows 10(UEFI 版)。一切运行正常。

我已将其设置为 Ubuntu 首先启动。Windows 可以从 BIOS 启动。我可以从 Ubuntu 访问 Windows 文件。

在 GParted 上,GRUB 出现在 Windows 和 Ubuntu 之间,但它不会在计算机启动时出现。这不是什么大问题,因为我认为我不需要它。

我想扩展 Ubuntu 的分区。问题是我的可用空间位于一侧的 Windows 分区与另一侧的 GRUB 和 Ubuntu 分区之间。

  1. 我还需要 GRUB 吗?还是我可以直接删除它?
  2. 我可以将 Ubuntu 分区扩展到 GRUB 上的可用空间吗?

答案1

我刚刚在 Dell Inspiron 5567 上安装了 Ubuntu 16.04(旧版)和 Windows 10(UEFI 版)。一切运行正常。

这种混合模式配置充其量只是次优的。您显然已经让它工作了,但您应该知道还有更简单的方法可以做到这一点。您可能需要考虑切换到其中一种作为解决问题的一部分。有关此主题的一些一般信息,请参阅我在 CSM 上的网页。

我已安排好让 Ubuntu 首先启动。Windows 可以从 BIOS 启动。

从技术上讲,你没有 BIOS;你有一个可扩展固件接口 (EFI)。您所说的“BIOS”最好一般地称为“启动管理器”,或者具体地说是 EFI 的内置启动管理器;但在在线论坛中,术语基本输入/输出系统 (BIOS)经常与术语同义使用固件,这实际上是一个更通用的术语。也就是说,BIOS 和 EFI(或其 2.x 版本变体 UEFI)是两种不同类型的固件。大多数 EFI 和大多数现代 BIOS 提供的一个功能是内置启动管理器;但这是一个特征固件,而不是 BIOS、EFI 或固件本身。不幸的是,许多制造商通过将其 EFI 称为“BIOS”或“UEFI BIOS”来混淆视听。

请注意,我并不是想在这里吹毛求疵或挑剔;我只是想说清楚。我从你的问题中推断出,你对各种组件以及它们如何组合在一起的心理模型并不完整,但更完整的模型将帮助你驾驭这些水域。

在 GParted 上,GRUB 出现在 Windows 和 Ubuntu 之间,但它不会在计算机启动时出现。这不是什么大问题,因为我认为我不需要它。

通过“GRUB”(或后面的引用,使用“它”这个词),你指的是至少三个不同但相关的东西:

  • BIOS 启动分区,GParted 通过bios_grub标志来识别。
  • GRUB 2 引导加载程序菜单,您在启动计算机时会看到它。
  • GRUB 2 引导加载程序代码,将 Linux 内核加载到内存中并执行。

GRUB 2 是一个引导加载程序,这是一个将操作系统内核加载到内存并执行的程序。GRUB 2 还提供了启动管理器功能,这意味着它会提供一个引导选项菜单。这两种类型的程序是截然不同的;一个程序可以是引导加载程序,但不能是引导管理器,反之亦然。但是,GRUB 2 在一个程序中提供了这两种功能。也就是说,如果 Ubuntu 是计算机上安装的唯一操作系统,或者配置 GRUB 的脚本无法识别其他可引导的操作系统,则 GRUB 将配置为不显示引导菜单 - 也就是说,GRUB 将作为引导加载程序运行,而不是作为引导管理器运行。但是,重要的是要了解,即使您从未看到它的菜单,GRUB 仍在运行,并且仍在执行引导计算机的关键任务。

根据启动方式(BIOS 还是 EFI)和其他因素,GRUB 可以驻留在硬盘上的几个不同位置。在从 GPT 磁盘(您拥有的磁盘)进行 BIOS 模式启动时,GRUB 将分散在不同位置,其中位于 BIOS 启动分区中。因此,删除 BIOS 启动分区将导致 Ubuntu 无法启动,直到问题解决为止。此外,移动BIOS 启动分区将导致计算机无法启动。因此,如果我理解你的情况正确的话,你需要计算机上的 BIOS 启动分区 — — 至少在其当前配置中。

我想扩展 Ubuntu 的分区。问题是我的可用空间位于一侧的 Windows 分区与另一侧的 GRUB 和 Ubuntu 分区之间。

如果我理解正确的话,您的分区布局如下所示:

+-----------+-------+----------+
|  Windows  |  BBP  |  Ubuntu  |
+-----------+-------+----------+

您想要扩展 Ubuntu 分区并缩小 Windows 分区。 如果是这样,您有以下几种选择:

  • 缩小 Windows 分区,在释放的空间中创建一个新分区,并将其作为单独的文件系统添加到 Ubuntu 中——可能挂载在/var/home。这可能涉及移动一些文件从旧位置移至新位置。详细信息将取决于所涉及的具体大小。请参阅这个问题和答案了解有关此方法的更多信息。
  • 调整 Windows 分区的大小,移动(或删除并重新创建)BIOS 启动分区,调整 Ubuntu 分区的大小,然后重新安装 GRUB。最后​​一步需要使用 Ubuntu 紧急启动磁盘在 BIOS 模式下。像这样的工具引导修复可能会有帮助。
  • 删除 BIOS 启动分区,调整分区大小,然后为 Linux 安装 EFI 模式启动加载程序。有两种方法最容易处理:
    • 您可以通过启动 Ubuntu 紧急磁盘来安装 EFI 模式版本的 GRUB在 EFI 模式下并手动安装或运行 Boot Repair。
    • 你可以安装我的重新索引通过从 Windows 安装或准备 USB 闪存驱动器或 CD-R(两者的图像都可以在其下载页面),使用它启动,然后安装 Debian 包或 PPA。
  • 由于您说您的 Ubuntu 安装是新的,因此在缩小 Windows 分区后,您可能需要考虑将其完全删除,然后使用更大的分区大小从头开始重新安装。

如果你使用以下方式安装 Ubuntu,则可能还有其他选项逻辑卷管理 (LVM)系统。

请注意,第二个或第三个选项都需要从起始点调整 Ubuntu 分区的大小,这比从结束点调整分区大小更耗时且风险更大。因此,第一个选项可能更安全、更快捷;但此时将 Ubuntu 安装拆分为多个分区可能会很麻烦,具体取决于所涉及的大小。

如果您“咬紧牙关”进行调整大小操作,我建议您使用 EFI 模式引导加载程序,因为从长远来看,这可能不那么尴尬和混乱。如果您选择从头开始重新安装 Ubuntu,也是如此。

答案2

  1. 如果没有引导加载程序,则无法启动 Ubuntu,而默认情况下,引导加载程序是 Grub。您可以使用其他兼容的引导加载程序,但这似乎不是您的目的。

    这与 Grub 的双启动功能无关。

  2. 引导加载程序最多占用几兆字节的空间。

    $ du -sh /boot/grub
    7.2M    /boot/grub
    

    如果 ±50 MB 对您来说很重要,您应该寻找比 Ubuntu 更精简的 Linux 发行版。这个选择的影响远大于引导加载程序优化。

    我不知道您如何对 Ubuntu 安装进行分区,但可以缩小包含根文件系统的分区/boot或将其与包含根文件系统的分区合并( )。如果您执行后者,/请不要忘记调整和更新/修复 Grub!/etc/fstab

    请注意,/boot除了引导加载程序(部分)之外还包含其他内容,最突出的是一个或多个Linux 内核图片。

答案3

GRUB 太小了,我不知道您是否会恢复多少空间来扩展 Ubuntu 分区。但是.....更安全的方法是将 grub 分区挂载点重命名为类似以下内容的名称:

sudo mv /boot/grub /boot/grub.BAK

您的解释听起来不太清楚。如果您的机器是真正的双启动机器,那么您需要 GRUB 分区。如果您正在做一些“奇怪的”事情,也许您不需要。

实现您想要的更现实的方法(IMHO)是购买更大容量的驱动器(或额外的驱动器)并以此方式增加 Ubuntu 文件系统的大小。

运行 bleachbit 可能会比清除 grub 分区恢复更多的磁盘空间。

相关内容