几周前,我安装了我的第一个Linux发行版Mint,并设法用它建立了rEFInd。然后我决定转到Pop_OS。我格式化了包含薄荷和rEFInd的分区,并安装了Pop。自从rEFInd被关闭后,我使用sudo apt install refind重新安装了它,就像我在薄荷糖上时一样。
但后来我遇到了这个问题。安装成功后,I重新启动到rEFInd,发现它正在显示rEFind_x64.efi作为一种可能的引导选项。

我点击了<#>Once enter,它引导到我的旧的、自定义的rEFInd中,它与mint一起存储在已删除的分区中。

当我试图在rEFInd起诉F10中拍摄截图时,我得到了这个错误。

我可以从这两个窗口启动Windows,但是Pop只在第二个(不应该存在的旧Windows)中工作。我已经试过不动和重新安装了,但没有帮助。Does,有人知道rEFind_x64.efi存储在哪里吗?任何帮助都是非常感谢的:)!
发布于 2022-08-14 18:44:17
“新”rEFInd表示“旧”的位置为:
Boot EFI\refind\refind_x64.efi from EFI system partition引导到Pop_OS并运行sudo efibootmgr -v。注意,BootCurrent:行标识当前引导选项的编号,并使用相应的编号读取BootNNNN*行。这一行应该告诉您用于引导系统的EFI系统分区(简称ESP)的PARTUUID,以及其中“新”rEFInd的确切路径名。使用lsblk -o +PARTUUID查找PARTUUID映射到哪个磁盘。如果您无法理解这些输出,请edit您的问题将上述两个命令的输出添加到其中。
我猜想“新”rEFInd安装是由Pop_OS自定义的,并不位于ESP内的\EFI\refind\目录中,而是位于特定于发行版的目录中,如\EFI\pop_os\或其他什么。或者,Pop_OS安装程序可能已经创建了第二个ESP。
通常,引导加载程序的安装是两个步骤:首先,定期安装引导加载程序包将向系统磁盘提供必要的文件。然后(作为自动安装后操作,或作为单独的手动步骤),这些文件被用来将引导加载程序的实际工作副本安装到ESP中(或者在遗留的BIOS系统中,嵌入到MBR和MBR与第一个分区之间的空隙中)。
当您删除Mint安装时,只有第一部分与Mint系统分区一起被销毁。但是,由于ESP是设计为在所有安装的OSs之间共享的,而且在此过程中您显然没有损坏Windows安装,所以没有删除ESP。因此,rEFInd的旧副本及其配置被保存在EFI\refind\目录下的ESP中,Mint最初在该目录中安装了它。
在Linux中,ESP通常以/boot/efi的形式挂载,但这可能因发行版而异。如果在每个磁盘上有多个带有ESP的磁盘,或者甚至在同一个磁盘上有多个ESP,那么安装程序可能会变得混乱。
假设最初在引导时使用的ESP (并包含“新”rEFInd)与安装到/boot/efi on Pop_OS上的ESP相同,则应从Pop_OS中找到/boot/efi/EFI/refind/refind_x64.efi上的“旧”rEFInd。在看到rEFInd输出后,“新”sudo efibootmgr -v的位置也应该是显而易见的。
请注意,“旧”rEFInd说:
Boot EFI\refind\refind_x64.efi from 798 MiB FAT volume而不是... from EFI system partition。这表明您的系统上现在可能有两个ESP,其中可能只有一个会自动安装在Linux中。
另外,请注意,用于Windows的UEFI引导加载程序具有EFI\Microsoft\Boot\bootmgfw.efi的UEFI引导变量路径名。因此,如果当前在/boot/efi上挂载的ESP也包含/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi引导程序,那么您应该在D16上找到它。如果它不在那里,它可能在你的系统上的“其他ESP”上。您不想删除Windows引导程序目录:它包含一些包含特定于Windows安装信息的文件,重新创建它的唯一简单方法是在Windows安装媒体上使用“修复引导”功能。
https://unix.stackexchange.com/questions/713598
复制相似问题