UEFI exFAT 分区?

Ale*_*ith 10 exfat uefi

是否可以在 exFAT 分区上从 UEFI 启动?

我一直在读它应该是 FAT32 而不是 NTFS,但是我能够从 exFAT 格式的 USB 启动 SteamOS - 特别是有错误......但它似乎确实有错误。

我要求排除我的诊断是 exFAT 的事实。

--编辑这篇文章作为维基文章可能更好,因为我确实得到了相当远的距离,所以很明显它是兼容的......但这可以作为参考,因为没有明显的参考。

Mah*_*dsi 14

官员UEFI规范[警告:13 MIB PDF]甚至不说,FAT32支持-它定义了一个名为“EFI系统分区”是“碰巧”是兼容FAT32,并说为其指定的GPT分区类型的文件系统C12A7328-F81F-11D2-BA4B-00A0C93EC93B和 MBR 分区 ID 0xEF(以前或多或少未使用)。

从 §12.3.1(文件系统格式):

可扩展固件接口支持的文件系统基于 FAT 文件系统。EFI 定义了明确记录和可测试的特定版本的 FAT。符合 EFI 规范及其相关参考文件是需要实施以支持 EFI 的唯一 FAT 定义。为了将 EFI 文件系统与纯 FAT 区分开来,定义了一种新的分区文件系统类型。

EFI 包括将 FAT32 用于系统分区,将 FAT12 或 FAT16 用于可移动媒体。FAT32 系统分区由 OSType 值标识,而不是用于标识以前版本的 FAT。这种独特的分区类型将 EFI 定义的文件系统与普通的 FAT 文件系统区分开来。EFI 支持的文件系统包括对长文件名的支持。

EFI 文件系统的定义将由规范维护,并且不会随着时间的推移而演变以处理操作系统文件系统驱动程序或文件系统实用程序中的勘误表或变体解释。未来对 FAT 的增强和兼容性增强将不会自动包含在 EFI 文件系统中。EFI 文件系统是由 EFI 规范以及 EFI 规范明确引用的其他规范固定的目标。

因此,不仅没有提到 exFAT 作为受支持的文件系统,而且还明确表示正式仅支持 ESP 格式。

那么为什么您能够加载 SteamOS?有几种选择和可能性;大多数 EFI 固件实现在搜索与引导相关的文件之前不会明确检查 ESP 分区,相反,如果没有定义 ESP 分区,它们将搜索它们可以本地读取的所有文件系统(通常只是 FAT12/16/32)以获取EFI 启动文件。但即使他们能够,它从 exFAT 格式的 USB 加载的 EFI 应用程序也无法理解它自己的文件系统......除非它也被硬编码来实现它。

另一种更有可能的可能性是,即使您在 EFI 机器上并且您的 USB 是 exFAT 格式,您最终还是以 BIOS/MBR 模式从 USB 启动。大多数 EFI 固件设置(又名“BIOS”)应用程序都可以选择启用“CSM”或“传统引导”模式,以使它们能够作为第一优先级或作为在找不到 ESP 或 ESP 不包含有效引导目标的情况下的后备。您创建和使用的 USB 可能具有混合 MBR,其引导扇区包含有效的引导代码,用于从 USB 本身引导 SteamOS。

在我们在 NeoSmart Technologies 的测试中,即使是严格仅支持 EFI 且没有启用 CSM/传统启动选项的主板/固件仍会默默地使用最小的 BIOS 垫片从外部设备加载。该代码仍然是必需的,因为在大多数情况下从 CD 加载等需要替代本机 EFI 引导(即使规范也对此进行了调整)。

底线:需要更多信息。USB 的前 512 或 1024 字节的转储将揭示很多问题,有关您的主板及其 EFI 固件和配置的信息也是如此。EFI 与 exFAT 不兼容,exFAT 与 FAT32 不向后兼容(它不仅不正式兼容,而且明确破坏了向后兼容性,因此不支持 exFAT 的平台不会篡改和破坏您的 exFAT 数据),因此,它不像支持 FAT32 的固件“通过”错误的 exFAT 文件系统那么简单。