我现在的情况是:
正如您所看到的,启动分区左侧有一个 500mb 的块,我想恢复它。
我想要的最终设置是:
我将 22gb 留给我的 Linux 根分区,因为我可能想使用一些额外的空间来安装不同的发行版。
问题是:如果我移动启动分区,我会收到警告,告诉我这可能会导致系统无法启动。有没有办法或更好的顺序来对分区执行这项工作,以尽量减少重新启动的风险?我应该先移动大分区和根分区,然后再移动启动分区?还是反之亦然?或者其他方法?
答案1
第一的,任何分区操作至少有一点风险。你应该总是为防止数据丢失或无法启动,制定备份和恢复计划。
在 BIOS 领域,移动分区可能会导致其无法启动,因为许多引导加载程序依赖绝对扇区值来定位其自身更复杂的部分。如果该扇区位于移动的分区中,则引用不太可能更新,并且启动将失败。不过,各个引导加载程序的详细信息各不相同,这使得预测移动分区的结果变得困难。就您而言,您没有使用 BIOS,这意味着 BIOS 规则不适用。不幸的是,有一个几乎同样有害的 EFI 问题:在 EFI 下,引导加载程序信息存储在 NVRAM 中。这些条目使用各种类型的信息指向引导加载程序,包括文件名、分区 GUID、分区号和磁盘硬件识别码。当您移动分区时,其中大部分内容不会改变,但其分区号可能会改变。
您可以通过多种方式保护自己免受这种可能性的影响。最简单的方法可能是在当前分区之前创建一个小分区(例如 1MiB)/dev/sda2
。这样,如果 GParted(或其他工具)决定按升序对分区进行编号,则当前分区/dev/sda2
将保持不变/dev/sda2
(或 EFI 的等效分区)。您可以做的另一件事是使用转置功能gdisk
(t
专家菜单上的选项)来交换分区号,如果您的当前分区/dev/sda2
变为/dev/sda1
。(请注意,您可以将现有分区号与空分区号交换,因此即使最终没有分区号,也可以这样做/dev/sda2
。)无论哪种情况,您都应该积极主动 - 一些 EFI 会完全删除无效的启动条目,因此如果您的分区号发生变化并且您尝试启动,则条目可能会丢失,您必须重新创建它们。检查您的分区号前重新启动,如果您的 ESP 不再存在/dev/sda2
,请立即采取行动。
就我个人而言,我认为计划恢复引导加载程序会更简单(也更干净)。你现在可能已经安装了 GRUB,因此你可以使用靴子修理,它通常可以很好地恢复 GRUB 设置。如果您安装了另外几个操作系统,Boot Repair 可能会或可能不会做得那么好——但是,如果您安装了另一个操作系统,它将安装自己的引导加载程序/管理器,这可能会满足您的需要。(如果它没有做你需要做的事情,你必须采取行动来修复它,因为新的操作系统几乎肯定会将其引导加载程序设置为默认引导加载程序。)另一个选择和通常有用的备份是让我的重新索引安装在 USB 闪存驱动器上。它可以帮助在紧急情况下启动,因为它比大多数引导加载程序更少地依赖配置文件。如果 GRUB 设置因操作系统过多而开始混乱,rEFInd 可能也会更好地充当您的常规启动管理器 - 但这取决于个人偏好以及在特定情况下什么方法有效。