我如何移动 /boot/efi 和 / 并保持系统可启动?

我如何移动 /boot/efi 和 / 并保持系统可启动?

我的磁盘当前布局是 [swap,/,/boot/efi,home]。

我想将 /boot/efi 移到左侧,删除交换分区(因为我认为我不需要它),并从 home 中腾出一些空间给 /。我应该采取哪些步骤来做到这一点?

我创建了一个实时 USB 并使用了 gparted,但是它说如果我移动包含启动的分区,那么系统将不再可启动,而且我过去也犯过这个错误。

这是一台工作笔记本电脑,因此它将保存大量的配置和密钥,所以我不想重新开始全新安装,而且我的互联网速度非常慢,大约需要一天的时间才能再次运行。

我在网上找不到任何确定的方法,我读过关于在移动分区并重新安装 grub 2 后更改 fstab 中的 UUID 的文章,但从来没有针对我的情况的具体示例。我也没有足够大的硬盘来做完整的系统备份,但如果我删除了主分区,它将覆盖 /。

答案1

只要您对个人数据进行了良好的备份,您就不受保护。

原则上,分区改变后重新安装 grub 应该可以使系统再次可启动。

swap可以被删除——我仍然建议保留一个相对适中的交换文件:当内存不足时,这仍然是一种保障。

可以删除 EFI 分区,然后重新创建在磁盘的前面。

然后可以将系统分区移到更前面,以跟在 EFI 分区后面。请注意,这将花费相当长的时间,并且有失败的可能。如果没有,您可以扩展 /home 分区以填充剩余空间,或者稍微扩大它然后创建一个单独的 /home(如果您愿意的话)(我个人不再这样做了)。

然后,您需要在实时系统中打开磁盘根分区上的 fstab 文件(而不是实时会话中的 fstab!)。记下 EFI、根分区以及最终 /home ( sudo blkid) 的 UUID,并在 fstab 文件中更新它们。

那么你应该能够从实时会话重新安装 grub,在 chroot 到磁盘上的根分区之后。

如果在此过程中出现故障,重新安装新系统、放回数据并重新配置系统可能(最终)需要更长的时间(再次警告,移动分区可能需要很长时间),但这不是世界末日,而且从技术上讲,这是迄今为止最简单的方法。

相关内容