Если вы уже установили на свой Мак бета-версию 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-сценарий, который позволит выполнить такую же автоматическую перезагрузку — добро пожаловать в комментарии. :)
Лучшие предложения
12 недорогих осенних аксессуаров, которые не дадут замёрзнуть
10 отличных шампуней, которые можно найти на «Яндекс Маркете»
Отборные скидки: выгодные предложения от AliExpress, «Яндекс Маркета», Lamoda и других магазинов
10 средств, с которыми будет проще ухаживать за секс-игрушками
10 вещей с тыквами и в виде тыквы, чтобы уютно «затыквиться» на всю осень
Выгодно: кроссовки adidas Originals со скидкой 54%
Список покупок: 10 товаров с AliExpress для стильного оформления детской
10 товаров с AliExpress для приготовления и подачи вареников
Молодые художники получат возможность выставить работы в Третьяковской галерее
Как создать репутацию, которая будет работать на вас: 7 советов для владельцев бизнеса
Год Fashion на Ozon. Как зарабатывать на моде
Как отличить подделку духов от оригинала: 7 заблуждений, которые могут помешать сделать правильный выбор