Он узкоспециализированный и ограниченный, но gptsync
работает как приложение EFI. Эта программа изначально была частью заброшенного проекта REFIt. Я обновил его для ссылки, хотя. Обратите внимание, что gptsync
он используется исключительно для создания гибридных MBR, которые уродливы, опасны и имеют ограниченную полезность, поэтому я не рекомендую gptsync
для общего использования; но для определенных специализированных случаев использования (таких как двойная загрузка Windows и OS X на Mac), это может быть полезным инструментом.
MariusMatutiae предложила использовать my gdisk
, но она не доступна в качестве нативного приложения EFI. Это, вероятно, не будет в ближайшем будущем, потому что gdisk
написано на C ++, и я не знаю доступного компилятора C ++ для EFI. Большинство приложений EFI написаны на C, и можно создавать приложения C под Linux с помощью GCC и наборов инструментов GNU-EFI или Tianocore. C ++ теоретически может быть скомпилирован для EFI с GCC, но большая часть библиотеки C ++ не поддерживается и в gdisk
значительной степени опирается на библиотеку C ++. Есть компилятор Intel C ++ для EFI, но он смехотворно дорогой (примерно 1000 долларов США, IIRC), поэтому я не собираюсь его покупать. Если бы кто-нибудь, имеющий доступ к этому компилятору, попытался бы построить gdisk
для EFI, я был бы рад помочь или принять патчи, но на данный момент это победило.
Более простым решением может быть порт parted
или fdisk
EFI. (До недавнего времени fdisk
не поддерживал GPT; но последние версии поддерживают.) Однако я не рассматривал эту возможность.
На данный момент создание разделов можно выполнить, загрузив флэш-накопитель CD / DVD / USB. Конечно, это не так быстро , как запуск инструмента разбиения из оболочки EFI или менеджер загрузки EFI, но это не так, что медленно вставать и бежать. Разбиение диска - это задача, которую не нужно выполнять очень часто, за исключением, возможно, лабораторной работы, в которой проводится тестирование конфигурации оборудования или ОС и т. П.
ОБНОВИТЬ:
Как упоминалось в комментариях, проект по переносу GPT fdisk на EFI принес свои плоды в виде проекта UEFI GPT fdisk. По сути, это дополнительная библиотека, которая предоставляет подмножество функций C ++ для EFI - достаточно для создания gdisk
двоичного файла для EFI.
diskpart.efi
исходный код, и он сильно отличается по организации от любого кода C, который я видел, на самом деле он больше похож на код Win32 ..