移动启动分区

我有目前的情况:

Dem分区

正如您所看到的,启动分区左侧有一个500mb的块,我想要恢复。

我想要的最终设置是:

最后的情况

我要离开22gb到我的linux根分区,因为我可能想用一些额外的空间来安装不同的发行版。

问题是:如果我移动启动分区,我会收到警告,告诉我这可能会导致系统无法启动。 是否有方法或更好的顺序来执行分区的这项工作,以便最大限度地降低重启的风险? 我应该首先移动大分区和根分区,然后移动启动? 或相反亦然? 还是其他一些方式?

首先, 任何分区操作至少有一点风险。 如果数据丢失或可启动性丢失,您应始终拥有备份和恢复计划。

在BIOS领域,移动分区可以使其无法启动,因为许多引导加载程序依赖于绝对扇区值来定位自身的更复杂部分。 如果该扇区位于移动的分区中,则不太可能更新引用,并且引导将失败。 但是,从一个引导加载程序到另一个引导加载程序的细节不同,这使得预测移动分区的结果变得困难。 在您的情况下,您没有使用BIOS,这意味着BIOS规则不适用。 不幸的是,EFI问题几乎同样有害:在EFI下,引导加载程序信息存储在NVRAM中。 这些条目通过使用各种类型的信息指向引导加载程序,包括文件名,分区GUID,分区号和磁盘硬件识别代码。 移动分区时,大多数这些事情都不会改变,但其分区号可能会改变。

你可以通过各种方式保护自己免受这种可能性。 最简单的可能是在当前的/dev/sda2之前创建一个小的(例如,1MiB)分区。 这样,如果GParted(或其他工具)决定按升序对您的分区进行编号,那么您当前的/dev/sda2将保持/dev/sda2 (或EFI的等效值)。 你可以做的另一件事是使用gdisk的转置function(专家菜单上的t选项)来交换分区号,如果你当前的/dev/sda2变成/dev/sda1 。 (请注意,您可以将现有分区号与空分区交换,因此即使最终没有/dev/sda2 。)在任何一种情况下,您都应该主动 – 某些EFI完全删除引导条目这是无效的,所以如果您的分区号发生变化并且您尝试启动,则条目可能会丢失,您将不得不重新创建它们。 重新启动之前检查您的分区号,如果您的ESP不再是/dev/sda2 ,请立即采取措施。

就个人而言,我认为计划恢复启动加载程序会更容易(也更干净)。 你现在可能已经安装了GRUB,所以你可以使用Boot Repair,它通常可以很好地恢复GRUB设置。 如果你安装另外几个操作系统,启动修复可能会或可能不会做得很好 – 但是,如果你安装另一个操作系统,它将安装自己的启动加载器/管理器,这可能会做你需要的。 (如果它不能满足您的需求,您将不得不采取措施来解决它,因为新操作系统几乎肯定会将其启动加载程序设置为默认操作系统。)另一个选项和通常有用的备份是安装我的rEFInd在USB闪存驱动器上。 它可以帮助在紧急情况下启动,因为它比大多数启动加载器更少依赖配置文件。 如果GRUB设置开始因为拥有太多的操作系统而感到困惑,那么rEFInd可能会比常规启动管理器做得更好 – 但这是个人偏好和在特定情况下运行良好的问题。