Изучаем файл настроек загрузки Mac OS X — com.apple.Boot.plist
В Mac OS X тысячи файлов настроек с расширением .plist, в которых прописаны абсолютно все параметры работы системы и отдельных программ. Но есть среди них и самый важный файл, отвечающий за параметры загрузки самой Mac OS X — com.apple.Boot.plist. Любой неверный параметр, прописанный там, серьёзно осложнит вам жизнь, потому что Мак может перестать загружаться. Тем не менее, знать устройство этого файла стоит любому пользователю, потому что через него можно настроить многие аспекты поведения компьютера. А особенно важно понимать устройство com.apple.Boot.plist владельцам хакинтошей, которым неизбежно придётся редактировать этот файл.
Кратко опишем, что позволяет сделать файл com.apple.Boot.plist:
- зафиксировать определённые режимы загрузки (см. здесь). Например, можно заставить систему всегда загружаться в 64-битном режиме, вместо того, чтобы держать клавиши 6 и 4 при загрузке.
- настроить графический режим загрузки: изменить разрешение экрана для заставки с яблочком или для текстового режима загрузки
- ограничить количество используемой памяти или ядер процессора
- загрузить систему с другим ядром
- настроить задержку загрузчика перед выбором системы по умолчанию
Последние опции будут полезны владельцам хакинтошей в случае возникновения проблем.
Редактирование файла
Теперь пару слов о том, как редактировать файл com.apple.Boot.plist. Он лежит в папке /Library/Preferences/SystemConfiguration/. Но открыв его в стандартном редакторе TextEdit, вы не сможете сохранить внесённые изменения, потому что сделать это вам не позволят права доступа к файлу.
Варианты есть такие:
1) Терминал. Вводите команды и нажмите Enter после каждой из них:
sudo -s
Введите пароль администратора (символы на экране не появятся) и нажмите Enter.
nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
Если не хотите вводить такую длинную строку, можете сократить её, как показано ниже:
nano /L*/Pref*/SystemC*/com.apple.Boot.plist
Прямо в Терминале откроется окно редактора. Мышь в нём работать не будет, курсор нужно перемещать стрелками клавиатуры.
Когда закончите редактирование, нажмите Ctrl+X, затем Y и Enter.
2) TextMate. Этот вариант поудобнее — программа TextMate умеет редактировать почти любой код в любых файлах, даже защищённых системой. Открыть в ней com.apple.Boot.plist вы сможете через контекстное меню файла, через меню File-Open в самой программе или перетаскиванием файла на иконку TextMate в Доке.
При сохранении файла вам попросят ввести пароль.
Разметка файла
Теперь о главном: поговорим о содержимом файла com.apple.Boot.plist. По умолчанию это содержимое всегда выглядит вот так:
<?xml version=»1.0″ encoding=»UTF-8″?>
<!DOCTYPE plist PUBLIC «-//Apple Computer//DTD PLIST 1.0//EN» «http://www.apple.com/DTDs/PropertyList-1.0.dtd»>
<plist version=»1.0″>
<dict>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string></string>
</dict>
</plist>
Нас интересует только то, что находится между тегами <dict> и </dict>.
Секция Kernel — это имя ядра системы. Если написать просто имя файла, то загрузчик станет искать его в корне диска. Можно прописать путь к файлу ядра от корневой папки (что-нибудь вроде /Users/kernel) или даже путь к другому диску (в формате rd(0,1)/kernel, где первая цифра — это номер жёсткого диска, причём счёт начинается с нуля; а вторая — номер раздела на этом диске, здесь счёт идёт с единицы).
Если у вас хакинтош, то вам очень пригодится дополнительная секция Timeout, задающая паузу загрузчика (в секундах), после которой он начнёт грузить систему по умолчанию:
<?xml version=»1.0″ encoding=»UTF-8″?>
<!DOCTYPE plist PUBLIC «-//Apple Computer//DTD PLIST 1.0//EN» «http://www.apple.com/DTDs/PropertyList-1.0.dtd»>
<plist version=»1.0″>
<dict>
<key>Kernel</key>
<string>beta</string>
<key>Timeout</key>
<string>0</string>
<key>Kernel Flags</key>
<string>»Graphics Mode»=»1280x1024x32″</string>
</dict>
</plist>
Но самая важная секция — Kernel Flags. Здесь содержатся т.н. флаги ядра — короткие обозначения режимов загрузки системы. Всего их более 50, большинство из них имеют сугубо техническую направленность. Но пользователю могут пригодиться следующие:
-v загрузка в текстовом режиме (на экране вместо яблока вы увидите все системные сообщения)
-x загрузка в безопасном режиме (отключатся все посторонние расширения системы)
-s загрузка в режиме командной строки (на экране появится командная строка Терминала)
-F загрузка в обход имеющихся кэшей системных файлов
«Graphics Mode»=»1280x1024x32» — графический режим видеокарты при загрузке. Первая цифра — ширина экрана, вторая — высота (обе в пикселях), третья — глубина цвета (в битах)
«Text Mode»= аналогичная настройка для текстового режима
«Boot Graphics»=»Yes» (или «No») — ещё один переключатель графического/текстового режима загрузки
«MKext Cache»= — путь к кэшу расширений ядра
«Kernel Cache»= — путь к кэшу ядра
maxmem=2048 — максимальный объём используемой памяти (в мегабайтах)
cpus=2 — количество используемых системой ядер процессора
rd=disk1s2 — загрузка системы с другого раздела с ядром, находящимся на данном разделе. Принцип тот же: первая цифра — это номер жёсткого диска (счёт начинается с нуля), вторая — номер раздела на этом диске (счёт идёт с единицы)
boot-uuid= — обозначение раздела загрузки через специальный идентификатор. Об этом мы поговорим отдельно в цикле статей про хакинтош
arch=x86_64 — загрузка ядра в 64-битном режиме
-legacy — принудительная загрузка в 32-битном режиме
Обратите внимание, что во флагах большие и маленькие буквы различаются. Часть флагов обязательно вводится с дефисом. Если в названии флага есть пробел, то оно вводится в кавычках. Если флаг содержит параметр в виде цифры, то она прописывается с помощью знака «=» без пробелов.
Ядра и загрузчики Mac OS от сторонних программистов для хакинтошей могут иметь свои дополнительные параметры.
Устранение проблем
Как мы уже говорили, ошибка в настройке com.apple.Boot.plist может привести к отказу системы загружаться. Чтобы исправить эту ошибку, вам придётся загрузиться с установочного DVD Mac OS X, но не устанавливать систему снова, а просто выбрать в верхем меню «Терминал» и ввести:
nano /Volumes/…/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
Вместо трёх точек введите название раздела, на котором установлена Mac OS X.