我见过针对简单情况的类似问题的答案,但就我所见,我的情况比较极端。我不仅在同一系统上安装了 Linux 和 Windows,还安装了 Windows、Fedora Linux 和 Xubuntu,以及每个 Linux 的几个不同版本。现在的问题是,我即将放弃一些旧的(非常旧的)Linux 安装以释放一些磁盘空间,并且我不想在此过程中破坏 Grub。我不记得它是如何在我的 5 台台式机和 2 台笔记本电脑上设置的,所以一个答案是不够的:我需要为即将在每台机器上执行此操作提供一个答案。
顺便说一句,这些机器各不相同,是在不同时间获得的。其中三台是捐赠的。最老的是我送给自己的博士毕业礼物。最大的一台有双 16 核 Xeon,运行在 256GB 内存上(差不多是送给自己的退休礼物)。所有机器都组成了一个 Beowulf 集群,用于需要大量计算能力的业余项目。
无论如何,问题在于知道哪个分区的 /etc/default/grub 和 /boot/grub 实际上参与了机器的启动。我很担心,因为在我即将重新配置的机器上,默认操作系统位于我想要删除的分区之一中——这是为解决我遇到的问题而进行的一次概念测试,在其上安装新的 Linux 使其接管了 Grub 的控制权(我认为)。
无论如何,我愿意接受短期或长期解决方案。如果有人能告诉我如何最好地做到这一点,我可以重新组织以避免将来出现此问题。
或者我会满足于能够确定 Grub 正在使用哪些位以及如何在必要时移动它们。
该软件主要驻留在两个驱动器上:/dev/sda 专用于 Windows 10,至少最初只有 Windows 加载程序;现在可能有 Grub。所有 Linux 操作系统分区都在 /dev/sdb 上。其他分区包含 /tmp、项目和 RAID-5 阵列,并在所有 Linux 操作系统之间共享。在全新启动时,通过 /dev/sdf 填充驱动器。
那么如何安全地重新格式化旧分区?
答案1
@ubfan1 你的第二条评论让我走上了正确的轨道。谢谢。虽然我的大多数(并非全部)系统都使用 GPT 分区,但它们大多不使用 EFI。主要是因为它们也启动 Windows,而当我设置它们时,我无法将 EFI 与 Windows 混合使用,尤其是在有多个操作系统的情况下。
无论如何,您的评论让我在运行系统中查看 /boot/grub,而不是 /boot/efi,然后我找到了它所在的分区,也就是我启动的任何映像的根分区。然后我明白了,默认映像将是最后安装 GRUB 的映像,也是 grub 当前正在使用的映像。
因此,对于我来说,答案是 GRUB 是从默认映像安装的,我可以删除任何其他映像,而不会影响我使用该 GRUB 进行引导的能力。问题解决了。