![需要新的 ESP 分区才能双启动 POP OS 和 Ubuntu](https://linux22.com/image/933934/%E9%9C%80%E8%A6%81%E6%96%B0%E7%9A%84%20ESP%20%E5%88%86%E5%8C%BA%E6%89%8D%E8%83%BD%E5%8F%8C%E5%90%AF%E5%8A%A8%20POP%20OS%20%E5%92%8C%20Ubuntu.png)
我的机器上安装了 Ubuntu 20.04。在双启动 Windows 10(我卸载了它)后,我当前的硬盘驱动器的分区状态如下。
我发现 POP OS 的用户体验非常令人生畏,而且作为 ubuntu 用户,这不会带来太大的变化。因此,我决定双启动 pop os 20.10 和现有的 ubuntu 20.04。
问题:
当我继续使用实时启动 pop 进行安装时,它要求提供新的 ESP 以及新的根分区。似乎需要当前的 esp(100 mib 不够)和 512 mib。
我做了什么:我安装了 pop os 并为其创建了一个新的 esp。但之后我在 pop 的 Systemd-boot 上找不到 ubuntu。现在似乎有一些解决方法。但我不想在我的磁盘上有两个 efi 分区。只允许一个。我从 bios 菜单启动到 ubuntu。并删除了 pop 分区。
我的疑问:如何安装带有一个 esp 分区(感觉像是创建一个新的)的 pop os 并与现有的 ubuntu 双启动?
我可以将当前 esp 与左侧未分配的 500mb(旧的 Windows 恢复磁盘)合并以使其更大吗?
我不确定是否:
- 创建新的 ESP 分区(1 GB)
- 将当前 esp /boot/efi 数据移动到新的 esp
- 删除当前 esp 分区
- 在新的 esp 上安装 pop
会工作。
答案1
我正在三重启动 Ubuntu、Debian 和 Windows 10。ESP(EFI)分区对我来说是 512MB,但所有这些操作系统只使用了 39MB,所以我不认为这是存储空间不足的问题。
确保使用 UEFI(而非传统)启动
ls /sys/firmware/efi
如果您获得文件列表,则表示您使用 UEFI 启动。相反,如果您收到“无此文件或目录”错误,则表示您使用传统启动。
确保在安装前选择了 EFI 分区。安装程序会自动执行此操作,但仍会检查它是否被标记为“EFI 系统分区”。
编辑:我忘了添加这个额外的步骤。由于您的操作系统已使用 UEFI 安装,因此没有必要。
如何扩大 EFI 分区?
如果上述步骤没有帮助,您仍然可以尝试扩大 EFI 分区。
- 打开 GParted 并右键单击 ESP。
- 选择“移动分区”并将其拖到分区表的开头。确认更改并等待其完成。
- 您的 EFI 分区现在位于分区表的开头,您可以通过右键单击分区并选择“调整大小”轻松地扩大它。
- 应用更改并重复安装。
答案2
注意:这不是解决方案,而是一个带有解释的解决方法
我自己深入挖掘了一下,发现了一些可行的方法和合理的解释。我发现这是针对基于 uefi 的系统。
您基本上有两个引导加载程序,一个用于检测操作系统分区(来自 bios),另一个用于加载操作系统(grub 引导加载程序或 systemd 引导加载程序或等效程序)。grub 部分位于 /boot 内,可从操作系统端进行配置。
因此,就我而言,我只需在同一驱动器上保留两个 esp 分区即可。一个 grub 将覆盖(可能是最近安装 grub 的那个)。唯一的问题是,我将默认使用一个 grub(因为就我而言,pop os 和 ubuntu 不共享它们的 grub)。
因此,我设定grub 超时设置为 120适用于 pop 和 ubuntu。我在启动时按下 f12,然后进入 bios 菜单,其中列出了 legacy 和 uefi 可启动项(第一个引导加载程序)。在那里我可以找到所有 esps 和相应的操作系统安装,并选择启动其中一个。
限制:
- 这不是单一灵魂。
- 在这种情况下您不需要使用 grub。
好的一面:
- 那么,在这种情况下,事物都是模块化的。
通过删除相应的 esp 和root 分区,安装和卸载操作系统非常酷。
更新:
并从 ubuntu 执行
sudo grub-install /dev/sda
并sudo update-grub
附加 POP OS 到其 grub 条目中。因此,现在我使用 ubuntu grub 菜单并启动选择 Pop 或 Ubuntu。