因此,我尝试在笔记本电脑上重新安装 Linux。目前,我在 Windows 和 Linux 之间进行双启动,经检查,我有两个 EFI 系统分区 (ESP)。我想删除安装 Manjaro 时创建的分区,保留 Windows 分区,以防我想在那台特定机器上完全恢复到 Windows。
是否有特定的方法来检查哪个 ESP 适用于 Linux,哪个适用于 Windows 和 Linux?我假设第一个分区应该是 Windows ESP,但我不是 100% 确定。
答案1
跑步efibootmgr -v
从 Linux(它将显示您的 EFI 启动菜单)并将每个条目的 GUID 与partx /dev/sda
或显示的 GPT 分区 GUID 进行比较lsblk -o name,partuuid
。
你也可以看看里面并检查每个分区中有什么文件,因为每个 ESP 只是一个标准的可挂载 FAT32 分区:
Windows 始终会创建一个
\EFI\Microsoft
目录并安装 BOOTMGR (bootmgfw.efi) 作为其启动管理器。您还会发现“BCD”之类的文件。Linux 通常会安装
grubx64.efi
或systemd-bootx64.efi
作为启动管理器。通常,这将是 Mint 自动挂载在 /boot/efi 的分区。
如果您只能启动 Windows 但不能启动 Linux:
从管理员控制台,使用
mountvol /s
临时将驱动器分配给当前 EFI 系统分区。然后用来
bcdedit /enum {bootmgr}
验证指向 Windows BOOTMGR 的 EFI 启动项确实指向同一个磁盘(它应该显示您刚刚分配的字母):Windows Boot Manager -------------------- identifier {bootmgr} device partition=S:
现在重要分区在DiskMgmt中显示为S:,不重要的分区仍然显示,没有驱动器号。
(您也可以使用bcdedit /enum firmware
列出全部EFI 启动菜单条目。这是 Linux 中“efibootmgr -v”的粗略 Windows 等效版本。)