EFI 分区与 /boot 分区

lyn*_*nks 47 partitioning uefi boot-partition debian-wheezy

我刚刚坐下来安装 debian 7,其中包含一个名为“EFI”的东西,这对我来说是全新的。

我像往常一样完成了安装;

  • 256MB /boot 分区,可启动,未加密
  • 剩余磁盘大小为/分区,加密

安装程序警告我“未找到 EFI 分区”,但我忽略了它,因为我喜欢危险地生活。

但是该安装无法启动,grub 抱怨“ELF 魔法”并让我进入救援模式。

所以我现在再次运行安装,并找到了创建 EFI 分区的选项。我的问题如下;

  • 它是什么?
  • 为什么我现在似乎需要一个?
  • 我还需要一个单独的 /boot 分区吗?
  • 我在同一个磁盘上安装了 Windows 7,它总是与 mbr 中的 grub2 一起正常工作,是否也可以挽救该安装?

use*_*686 54

您的计算机具有 UEFI 固件,这是旧 BIOS 的替代品(尽管它仍然支持仅 BIOS 的操作系统,名称为“CSM”)。

  • 在 BIOS 系统中,引导加载程序(或大型引导加载程序的“stage1”)存储在 MBR 中,位于磁盘的第零扇区。(512 字节的 MBR 为引导代码保留了 446 字节,其余的用于分区信息。)如果引导加载程序太大,其 MBR“stage1”代码通常会尝试在 /boot 分区中查找“stage2”文件。

  • 在 EFI 或 UEFI 系统中,MBR 中的引导代码区域通常是空的(大多数 UEFI 系统甚至不使用 MBR 进行分区,更喜欢GPT)。相反,所有引导加载程序都作为普通.efi程序存储在“EFI 系统分区”中,这是一个常规的 FAT32 分区,在分区表中具有​​特殊的“分区类型”。如果您有多个操作系统,它们共享同一个 EFI 系统分区。

    /启动/ efi
    ???电喷
    ? ???拱
    ? ? ???initramfs-linux.img
    ? ? ???vmlinuz-linux.efi
    ? ???胶皮靴
    ? ???软糖启动文件
    ???装载机
    ? ???条目
    ? ? ???配置文件
    ? ???加载器配置文件
    ???SHELLX64.EFI
    

    一些用户选择将 EFI 分区放在/boot,使仅适用于 Linux 的系统的配置更容易一些。但是当双引导时——即使它是两个不同的 Linux 发行版——我建议将 EFI 分区放在/boot/efi. /boot通常不需要单独的。)

如果要在 UEFI 模式下引导系统,则需要 EFI 分区。但是,如果您想要 UEFI 可引导的 Debian,您可能还需要重新安装 Windows,因为混合这两种引导方法充其量是不方便的。

Windows 7 和 Debian 7 都支持 BIOS 和 UEFI,它们会根据安装程序的启动模式安装适当的引导加载程序。 通常,UEFI 系统在其设置屏幕中有一个“启动模式”开关,有“UEFI”等选项only”、“UEFI and CSM”、“Legacy (BIOS) only”、“BIOS, then UEFI”或类似的东西。(CSM 是 Compatibility Support Module,BIOS 仿真。)

您的 Windows 7 系统可能以 BIOS 模式安装,但 Debian 安装程序现在以 UEFI 模式启动,并提供安装 UEFI 兼容的引导加载程序。(也许你在某处翻转了“UEFI/BIOS”开关。我不知道。)

现在,您可以完全忽略 EFI 并将 GRUB2 重新安装到 MBR 中,可能使用grub-install --target=i386-pc.

  • @TimurFayzrakhmanov:最低要求是“/boot(EFI 系统分区)”和“/(root)”。 (2认同)