我刚刚坐下来安装 debian 7,其中包含一些对我来说完全陌生的东西,即“EFI”。
我像平常一样完成了安装;
- 256MB /boot 分区,可启动,未加密
- 剩余磁盘大小为 / 分区,已加密
安装程序警告我“未找到 EFI 分区”,但是我忽略了它,因为我喜欢冒险。
但是该安装无法启动,grub 抱怨“ELF magic”并使我进入救援模式。
所以我现在重新运行安装程序,并找到了创建 EFI 分区的选项。我的问题如下;
- 它是什么?
- 为什么我现在似乎需要一个?
- 我还需要一个单独的 /boot 分区吗?
- 我在同一个磁盘上安装了 Windows 7,使用 mbr 中的 grub2 一直运行良好,是否也可以挽救该安装?
答案1
您的计算机具有 UEFI 固件,可以替代旧的 BIOS(尽管它仍然支持仅限 BIOS 的操作系统,名称为“CSM”)。
在 BIOS 系统中,引导加载程序(或大型引导加载程序的“stage1”)存储在MBR 内部,位于磁盘的第零扇区。(512 字节的 MBR 为引导代码保留 446 字节,其余部分用于分区信息。)如果引导加载程序太大,其 MBR“stage1”代码通常会尝试在 /boot 分区中查找“stage2”文件。
在 EFI 或 UEFI 系统中,MBR 中的引导代码区域通常为空(大多数 UEFI 系统甚至不使用 MBR 进行分区,而是倾向于谷氨酰胺磷酸酶)。相反,所有引导加载程序都作为普通程序存储
.efi
在“EFI 系统分区”中,该分区是常规 FAT32 分区,在分区表中具有特殊的“分区类型”。如果您有多个操作系统,它们共享同一个 EFI 系统分区。/启动/efi ═── 电喷 │ │── 拱门 │ ... │ │ └── vmlinuz-linux.efi │ └── gummiboot │ └── gummiboot.efi │ │ 装载机 │ │── 条目 │ │ └── arch.conf │ └── loader.conf └── SHELLX64.EFI
有些用户选择将 EFI 分区放在 处
/boot
,这样对于仅支持 Linux 的系统来说,配置会稍微容易一些。但是当进行双重启动时(即使是两个不同的 Linux 发行版),我建议将 EFI 分区放在 处。通常不需要/boot/efi
单独放置。)/boot
如果您想以 UEFI 模式启动系统,则需要 EFI 分区。但是,如果您想要 UEFI 可启动的 Debian,您可能还需要重新安装 Windows,因为混合两种启动方法非常不方便。
Windows 7 和 Debian 7 都支持 BIOS 和 UEFI,它们会根据操作系统的模式安装适当的引导加载程序。安装程序已启动。通常,UEFI 系统在其设置屏幕中有一个“启动模式”开关,其中包含“仅 UEFI”、“UEFI 和 CSM”、“仅传统 (BIOS)”、“BIOS,然后 UEFI”等选项或类似选项。(CSM 是兼容性支持模块,即 BIOS 仿真。)
您的 Windows 7 系统可能以 BIOS 模式安装,但 Debian 安装程序现在以 UEFI 模式启动并提供安装与 UEFI 兼容的引导加载程序。(也许您在某处拨动了“UEFI/BIOS”开关。我不知道。)
现在,您可以完全忽略 EFI 并再次将 GRUB2 安装到 MBR 中,可能使用grub-install --target=i386-pc
。