Если вы уже установили на свой Мак бета-версию OS X 10.10 Yosemite и отвели ей роль второстепенной операционной системы, значит, вам постоянно приходится перезагружать Мак то под одной «осью», то под другой. Сложного в этом ничего нет, но этот процесс можно значительно упростить. Поможет в этом старый-добрый AppleScript.
Перезагрузить Мак под другой операционкой вручную можно двумя основными способами. Во-первых, это удержание клавиши ⌥ в момент стартовой загрузки компьютера (когда звучит хорошо всем знакомый аккорд) — после этого появляется меню выбора загрузочного раздела, где остается только выбрать нужный дисковый том и нажать клавишу ввода, чтобы загрузилась соответствующая ось.
Второй способ более простой и очевидный: открыть «Системные настройки», щелкнуть на значке Загрузочный том, выбрать диск с системой для загрузки и нажать кнопку Перезагрузить, после чего остается только подождать, пока загрузится выбранная вами система.
В обоих случаях нужно выполнить всего несколько простых действий. Но все можно упростить до двойного щелчка мыши и ввода администраторского пароля, после чего можно хоть уйти от компьютера по каким-нибудь делам — требуемая система загрузится сама собой.
Создание программы перезагрузки
Запустите редактор AppleScript и вставьте в окно следующий короткий код:
set currentHD to "Macintosh HD"
set toBoot to “Yosemite HD”
set deviceID to (do shell script “diskutil list | awk ‘/” & toBoot & “/ {print $NF}‘”)
do shell script “bless ‑device /dev/” & deviceID & ” ‑setBoot ‑nextonly” with administrator privileges
tell application “Finder” to restart
Эти пять строчек делают следующее. В первой строке указан дисковый том, на котором установлена ваша текущая система. Во второй строке — раздел, на котором установлена OS X Yosemite. Если ваши диски называются под другому, вставьте в кавычки их имена.

Далее, через консольную команду AppleScript определяет программный идентификатор дискового раздела, указанного во второй строке (именно на нем находится ОС, под которой мы хотим быстро перезагрузиться).
Четвертая строка с другой консольной командой берет полученный ранее идентификатор и присваивает соответствующему дисковому тому статус загрузочного — то есть как бы вы ни перезагрузили теперь свой Мак, он загрузится уже с этого раздела вашего диска. Правда, эта операция требует подтверждения со стороны администратора системы.
Наконец пятая строка перезапускает систему с новыми параметрами.
Сохранение программы
Готовый код с правильными именами дисковых разделов нужно сохранить в виде приложения. Нажмите клавиши ⌘S (или выберите команду меню Файл / Сохранить) и в диалоге сохранения выберите формат файла Программа. Задайте имя приложения — например, Загрузить Yosemite — и нажмите кнопку Сохранить.
Также нужно создать аналогичную программу для возврата из Yosemite в вашу рабочую систему. Для этого нажмите клавиши ⌥⌘S (или выберите команду Файл / Дублировать) и в новом окне поменяйте местами названия дисковых разделов в первой и второй строке кода. После этого сохраните новую программу под именем, например, Вернуться в Mavericks. Скопируйте это приложение на внешний диск, чтобы, будучи в Yosemite, перенести ее на рабочий стол OS X 10.10.
Все готово. Двойным щелчком откройте программу Загрузить Yosemite, введите пароль администратора — и подождите, пока загрузится OS X 10.10. Поиграв с бета-версией новой операционки, запустите приложение Вернуться в Mavericks — и, снова введя пароль админа, подождите, пока загрузится ваша рабочая система. Все просто и удобно.
И Windows — тоже
Таким же макаром можно перезапускать Мак с любого загрузочного тома, доступного на вашем компьютере. Даже с Windows-раздела, который вы создали через Boot Camp. Правда, для перезагрузки под виндой код программы должен быть чуточку другим.
Во-первых, конечно, во второй строке исходного кода нужно указать имя Windows-тома (по умолчанию это Bootcamp). А во-вторых, в четвертой строке в консольной команде нужно добавить флаг -legacy
В целом код программы перезагрузки Мака под Windows выглядит так:
set currentHD to "Macintosh HD"
set toBoot to “Bootcamp”
set deviceID to (do shell script “diskutil list | awk ‘/” & toBoot & “/ {print $NF}‘”)
do shell script “bless ‑device /dev/” & deviceID & ” ‑legacy ‑setBoot ‑nextonly” with administrator privileges
tell application “Finder” to restart

Сохраните этот код в формате программы под названием Загрузить Windows. Единственное но — из Windows обратно в OS X придется возвращаться вручную. Хотя если вы знаете волшебный batch-сценарий, который позволит выполнить такую же автоматическую перезагрузку — добро пожаловать в комментарии. :)
















Лучшие предложения
15 товаров дешевле 1 000 рублей, которые нравятся покупателям на AliExpress
Самый популярный мультитул на AliExpress отдают со скидкой 50%
Недорогой трёхканальный видеорегистратор с AliExpress стал ещё дешевле
Если работаете сидя, то присмотрите стол с регулировкой высоты
3D-принтер Adventurer 5M Pro часто покупают, а сейчас на него скидка 48%
5 доступных полноразмерных наушников с активным шумоподавлением
10 придверных ковриков, которые будут радовать вас и гостей
Надо брать: мощная ударная дрель от Nanwei за полцены
Добро пожаловать в научную фантастику! Как технологии меняют современные компании и жизнь их клиентов
Мой особенный друг: как взять из приюта питомца с особыми потребностями и не пожалеть
Самый большой или самый длинный? 7 главных катков России
Как провести идеальный зимний день