UEFI 具有在启动时支持复杂应用程序的基础架构。当前最迫切的需求之一是用于 GPT 磁盘管理的 UEFI 应用程序。
由于分区管理与磁盘上的文件紧密相关,因此许多分区管理无法由操作系统完成。可以存在于 ESP 上的 UEFI 启动管理器只有一个要求,即不删除 ESP。
此外,与使用启动盘相比,将其直接保存在 ESP 中是处理磁盘和分区问题最方便的方法。事实上,拥有 2 个具有各自 ESP 和相同副本的独立硬盘diskmgmt.efi
(我们姑且这么称呼)将使计算机完全灵活。
有没有这样的项目/产品?
答案1
它非常专业且功能有限,但gptsync
可以作为 EFI 应用程序运行。该程序最初是现已放弃的 rEFIt 项目的一部分。我已将其更新为rEFInd,不过。请注意,gptsync
专门用于创建混合型 MBR,它们丑陋、危险、实用性有限,因此我不建议gptsync
用于一般用途;但对于某些特殊用例(例如在 Mac 上双启动 Windows 和 OS X),它可能是一个有用的工具。
MariusMatutiae 建议使用我的gdisk
,但它不能作为原生 EFI 应用程序使用。在不久的将来,它可能也不会成为原生 EFI 应用程序,因为它gdisk
是用 C++ 编写的,而我知道没有价格合理的 EFI C++ 编译器。大多数 EFI 应用程序都是用 C 编写的,可以使用 GCC 和 GNU-EFI 或 Tianocore 工具包在 Linux 下构建 C 应用程序。理论上,可以使用 GCC 为 EFI 编译 C++,但大多数 C++ 库不受支持,并且gdisk
严重依赖 C++ 库。有一个适用于 EFI 的 Intel C++ 编译器,但它贵得离谱(大约 1,000 美元,如果我没记错的话),所以我不会买它。如果有人有权使用该编译器并愿意尝试gdisk
为 EFI 构建,我很乐意提供帮助或接受补丁,但目前还不会发生这种情况。
更简单的解决方案可能是移植parted
或fdisk
EFI。(直到最近,fdisk
才支持 GPT;但最新版本支持。)不过,我还没有研究过这种可能性。
目前,可以通过启动实时 CD/DVD/USB 闪存驱动器进行分区。当然,这不如从 EFI shell 或 EFI 启动管理器启动分区工具那么快,但确实如此那启动和运行速度很慢。磁盘分区是一项不需要经常执行的任务,除非在测试硬件或操作系统配置等的实验室中。
更新:
正如评论中提到的,将 GPT fdisk 移植到 EFI 的项目已经取得了成果,形式为UEFI GPT fdisk 项目。这基本上是一个附加库,它为 EFI 提供了一部分 C++ 功能——足以gdisk
为 EFI 构建二进制文件。
答案2
如果你已经调用它diskpart.efi
你甚至会把名字说对。☺
当然,还有更好的工具。我认为,一些功能更强大的分区工具的 EFI 版本会受到欢迎。EFI 有图形功能。它们甚至可以是 GUI 工具。
答案3
当然有磁盘分区:
GPT fdisk(又名 gdisk)是一个文本模式菜单驱动程序,用于创建和操作分区表
其作者 Rod Smith 经常在此论坛上回答问题。您可以在此处直接向他提出有关新功能的请求。
你觉得你到底缺乏什么磁盘分区?