几天前,我尝试在新的 HP Pavilion dv6 上从 CD 启动,但由于我尝试的 Linux 发行版不支持 EFI,因此非常沮丧。
此外,EFI Bios 是 Insyde H20,我读到它在 Linux 方面存在一些问题。
但是,这似乎与从硬盘启动 Linux 有关。我只想知道:
- 我到底需要什么才能从 CD/USB 启动 Linux?它是依赖于内核的吗?还是我只需要支持启动 EFI 的引导加载程序(如 ELILO 或 Grub2)?
- 是否有任何 Linux 发行版能够以 EFI 方式启动?或者说,使用 EFI 而不使用传统启动方式,启动实时 Linux 环境的最简单方法是什么?
答案1
在 EFI 模式下启动 Linux 需要两个都内核配置选项和引导介质上的分区和文件的特定布局。内核配置选项如今非常常见,因此这更多的是理论上的限制,而不是实际的限制。磁盘/文件布局问题更多的是限制。基本上,EFI 使用存储在EFI 系统分区 (ESP),这是一个 FAT32 文件系统,位于一个带有特定类型代码的分区中(GPT 磁盘上为 C12A7328-F81F-11D2-BA4B-00A0C93EC93B)。对于可移动磁盘上的操作系统安装程序,引导加载程序通常位于EFI/BOOT/bootx64.efi
可移动磁盘的 ESP 上。对于 CD,此文件将位于 El Torito 引导映像中,并使用 EFI 特定的准备方法。因此,准备可启动的 USB 闪存驱动器比准备可启动的 CD/DVD 映像更容易。当然,引导加载程序通常有自己的要求,例如配置文件和支持文件。
如今,Fedora、Ubuntu、Mint、SUSE 以及我相信许多其他发行版都支持 EFI 模式安装。我上次尝试时,Debian 不支持,尽管我听说正在开发中,甚至可能在最新版本中有所改变(我需要自己检查这个细节)。不幸的是,让安装程序以 EFI 模式启动可能很棘手。问题是大多数基于 UEFI 的现代 PC 都支持 BIOS/传统启动模式,因此当您尝试启动时,您很容易以 BIOS 模式或 EFI 模式启动。按 F2、F8 或任何您按下的键来获取启动菜单通常会显示一组选项,其中两个选项用于启动您的介质:一个选项以 BIOS 模式启动,另一个以 EFI 模式启动。启动后,查找目录/sys/firmware/efi
。如果存在,则您已以 EFI 模式启动。如果不存在,则您可能已以 BIOS 模式启动(尽管您可能只需要插入efivars
内核模块)。