错误地删除了 EFI 分区,无法启动到 ubuntu

错误地删除了 EFI 分区,无法启动到 ubuntu

在安装 Arch Linux 时,我错误地删除了 EFI 分区。Arch Linux 安装成功,我做了新电喷安装 arch linux 时分区。我可以启动到 Arch Linux。
当我在 grub 中选择 Ubuntu 时,我输入应急模式并且 GUI 没有启动,而是进入单用户模式。

答案1

听起来 Arch 还没有设置好 GRUB 来正确处理 Ubuntu。从某种意义上说,这是 Arch 的问题,而不是 Ubuntu 的问题;但我确实有一个关于如何使用 Ubuntu 修复该问题的建议:

  1. 下载我的 USB 闪存驱动器或 CD-R 版本的rEFInd 启动管理器。
  2. 利用下载的文件准备启动介质。
  3. 启动到您的 rEFInd 介质。
  4. 测试 rEFInd 启动 Arch 和 Ubuntu 的能力。Ubuntu 是优先考虑的。根据您的安装方式,您可能能够通过选择内核并按下 Enter 键来启动;或者您可能需要按下 F2 或 Insert 两次并添加一个root={whatever}选项,其中{whatever}是分区设备文件名、LVM 设备文件名或 UUID 编号。如果您使用单独的分区,则很可能需要输入启动选项/boot,但 Arch 的内核命名很奇怪,因此initrd={initrd-file}也可能需要添加显式选项才能工作。
  5. 如果您可以启动任一操作系统,请备份您的 EFI 系统分区 (ESP)。将文件级备份(使用cptar)到 USB 闪存驱动器应该就足够了。
  6. 在此刻:
    • 如果 Ubuntu 可以从 rEFInd 启动,但 Arch 不能,请尝试从 Ubuntu 重新安装 GRUB。请注意,您需要调整/etc/fstab以安装新的 ESP /boot/efi,然后运行sudo grub-install
    • 如果 Ubuntu 和 Arch 都从 rEFInd 启动,您可以按照上述操作;或者您可以从其 PPA 或 Debian 包安装 rEFInd,并将其用作主启动管理器而不是 GRUB。
    • 如果 Arch 可以从 rEFInd 启动,但 Ubuntu 不能,或者两个操作系统都不能从 rEFInd 启动,那么你就有更大的问题了。我建议运行启动信息脚本,将其RESULTS.txt文件发布到pastebin 网站,并将您的文件的 URL 发布到这里。

请注意,从 Ubuntu 重新安装 GRUB 是一种赌博,特别是考虑到它能否启动 Arch。最糟糕的是可能情况是,以这种方式重新安装 GRUB 将扭转您的问题——您将能够启动 Ubuntu,但不能启动 Arch。但可以想象,这会让一切变得更糟。这就是 ESP 备份派上用场的地方;如果您让一切正常,您可以使用紧急系统将 ESP 恢复到当前状态,如果幸运的话,它将像现在一样开始工作,您将能够尝试其他方法。

答案2

由于 Arch Linux 创建了新的 EFI 分区,我只需要在/etc/fstabUbuntu 安装中更新该分区的新 UUID,这可以通过实时启动和编辑文件来完成。

这里要总结的一点是,一个 Linux 发行版创建的 EFI 分区可以被其他发行版使用。

相关内容