引领未来的启动方式:UEFI:NTFS 开源项目详解
项目地址:https://gitcode.com/gh_mirrors/ue/uefi-ntfs
1、项目介绍
UEFI:NTFS 是一个通用的引导加载器,专为在纯 UEFI 模式下从 NTFS 或 exFAT 分区启动而设计。即使你的系统不原生支持这种功能,它也能让你实现这一目标。这个项目最初是为 Rufus 设计的,但也可以独立使用。其核心目标是打破大多数 UEFI 系统只支持从 FAT32 分区启动的限制,让你能从 NTFS 分区进行 UEFI 启动。
2、项目技术分析
UEFI:NTFS 的工作原理与 Rufus 配合默契:
- Rufus 在目标 USB 硬盘上创建两个分区。第一个是一个几乎占用所有空间的 NTFS 分区,用于存放 Windows 文件(如 Windows To Go 或常规安装),第二个是非常小的 FAT 分区,位于末端,包含了 NTFS UEFI 驱动程序以及 UEFI:NTFS 引导加载器。
- 当 USB 硬盘以 UEFI 模式启动时,UEFI 固件忽略第一个 NTFS 分区(除非固件已经包含 NTFS 驱动,那样会有两个相同的启动选项),执行 FAT 分区中的 UEFI:NTFS 引导加载器。
- UEFI:NTFS 加载 NTFS UEFI 驱动,找到同一介质上的 NTFS 分区,并执行
/efi/boot/bootia32.efi
、/efi/boot/bootx64.efi
、/efi/boot/bootarm.efi
或/efi/boot/bootaa64.efi
,达到与直接从 NTFS 分区 UEFI 启动相同的效果。
3、项目及技术应用场景
- 扩展系统安装媒体:如果你有大于 4GB 的 Windows 安装镜像文件(FAT32 无法支持的大小),UEFI:NTFS 可以帮助你在 UEFI 模式下顺利启动。
- 双 BIOS+UEFI 启动:你可以使用 UEFI:NTFS 来从 'Windows To Go' 驱动器进行 BIOS 和 UEFI 双模式启动。
- 增强旧设备的功能:对于那些只支持 FAT32 的旧版 UEFI 系统,UEFI:NTFS 提供了一种升级其启动能力的方式。
4、项目特点
- 兼容性广泛:UEFI:NTFS 兼容 Secure Boot 并已由微软签名验证。
- 灵活的驱动支持:可以使用 ntfs-3g GPL v2 许可的驱动,但也因为微软对 GPLv3 的限制,目前不能使用 EfiFs 的 NTFS 和 exFAT 驱动。
- 方便的编译和测试:提供 Visual Studio 解决方案以及适用于 MinGW 和 MinGW64 的 Makefile 支持,还可在 QEMU 中进行测试。
- 易用性:可以直接下载 Rufus 的
uefi-ntfs.img
镜像文件,复制到目标硬盘末尾创建的同尺寸 FAT 分区,即可使首个 NTFS 分区成为可 UEFI 启动的分区。
总的来说,UEFI:NTFS 是一个创新的解决方案,让 UEFI 系统跨越了只能从 FAT32 分区启动的局限,实现了更为广泛的存储格式支持。如果你需要更自由地利用你的系统启动能力,UEFI:NTFS 绝对值得一试!