Вопрос или проблема
У меня есть старый MacBook Air 2015 года. Недавно я установил на него Linux Ubuntu 2024 на новом разделе ext4. Я могу запускать либо macOS 12, либо Ubuntu в любой момент, удерживая клавишу option
при запуске. Поскольку всю семью использует этот Mac, я хочу, чтобы приоритет загрузки оставался на macOS, чтобы моя семья не сталкивалась с вариантами двойной загрузки при запуске. Я знаю, что могу настроить загрузочный диск в настройках системы macOS, а также использую efibootmgr -o xxxx,yyyy
в Linux, чтобы изменить этот порядок загрузки, но проблема в том, что каждый раз, когда я переключаюсь с macOS на Ubuntu через выбор загрузочного диска (удерживая клавишу options
при запуске), порядок загрузки снова устанавливается на раздел Ubuntu, так что мне нужно снова менять этот порядок после завершения работы. Есть ли способ изменить это поведение так, чтобы приоритет загрузки всегда был на macOS, независимо от того, какая ОС была последней использованной? Не знаю, является ли это особенностью Mac или Ubuntu, поэтому я публикую это в обоих сообществах.
Ответ или решение
Для того чтобы установить постоянный приоритет загрузки macOS на вашем MacBook Air 2015, вам нужно учесть несколько важных моментов, так как поведение, которое вы описываете, связано с особенностями работы систем macOS и EFI.
1. Установка загрузочного диска в macOS
Первый шаг — это задать приоритет загрузки через параметры системы macOS. Для этого выполните следующие действия:
- Загрузитесь в macOS.
- Откройте "Системные настройки" (System Preferences).
- Выберите "Загрузочный диск" (Startup Disk).
- Выберите ваш диск с macOS.
- Нажмите "Перезагрузить" (Restart) для подтверждения.
Эти действия сохранят приоритет загрузки на macOS, однако при выборе Ubuntu через загрузочное меню (с зажатой клавишей option
) он будет временно изменен.
2. Использование efibootmgr
в Linux
Если вы используете efibootmgr
для управления загрузкой в Ubuntu, и у вас возникают проблемы с восстановлением приоритета после выбора Ubuntu, то это иногда связано с тем, как система EFI обрабатывает последовательности загрузки.
Используйте следующую команду для установки постоянного порядка загрузки, где xxxx
— это идентификатор macOS, а yyyy
— идентификатор Ubuntu:
sudo efibootmgr -o xxxx,yyyy
Тем не менее, это может не решать вашу проблему, если будет изменен порядок загрузки после перезагрузки через систему macOS.
3. Установка постоянного приоритета загрузки
Для того чтобы сохранить постоянный приоритет на macOS независимо от того, какое значение загружалось последним, вы можете попробовать следующее решение:
- Использование скриптов. Создайте скрипт на Ubuntu, который будет автоматически устанавливать порядок загрузки обратно на macOS каждый раз при запуске. Например, добавьте его в ваши системные задания (
cron
илиsystemd
).
4. Пример скрипта
Создайте файл, например set_boot_order.sh
, и добавьте в него следующее:
#!/bin/bash
# Укажите правильные идентификаторы для macOS и Ubuntu
efibootmgr -o xxxx,yyyy
- Сделайте файл исполняемым:
chmod +x set_boot_order.sh
- Запланируйте выполнение этого скрипта каждый раз при загрузке. Вы можете использовать
cron
для выполнения скрипта при загрузке системы.
@reboot /path/to/set_boot_order.sh
5. Другие варианты
Если описанные выше методы не приводят к желаемому результату, вы можете рассмотреть возможность использования сторонних загрузчиков, таких как rEFInd, который предоставляет более гибкие настройки управления загрузкой операционных систем.
Заключение
Эти шаги помогут вам установить постоянный приоритет загрузки для macOS на вашем MacBook Air. Будьте осторожны при работе с EFI и загрузочными секторами, поскольку неправильные изменения могут привести к проблемам с загрузкой системы.