быстрый и грязный способ сделать это, чтобы раскошеливаться либо bless --info
или systemsetup liststartupdisks
команд. Вы можете указать, что вы хотите, чтобы результат в формате plist упрощал анализ.
Что касается выполнения этих команд, то должен работать типичный NSTask. Вы также можете использовать system(), я полагаю, но это не стандартная практика для OS X, поскольку у NSTask есть много преимуществ по сравнению с ней.
Чистым способом сделать это будет получение списка дисков, а затем просмотр каждого из них для известных файлов, которые делают OS X загрузочным. Такие вещи, как файл boot.efi в/System/Library/CoreServices, файл ядра mach и содержимое /System/Library/CoreServices/SystemVersion.plist.