От Windows обратно к OSX довольно легко. Чего бы я хотел, так это сделать на несколько шагов меньше, чтобы перейти от OSX к Windows. В настоящее время я запускаю системные настройки -> загрузочный диск, затем выбираю раздел bootcamp и нажимаю перезагрузку.
Будучи совершенно новым для OSX, мне кажется, что действие одним щелчком мыши на доке должно быть возможно с помощью какого-то сценария автоматизации. Однако я ничего не знаю об OSX (пока) и о том, как это работает. Во-первых, возможно ли такое, а во-вторых, пожалуйста, предоставьте несколько обучающих ссылок для такой системы автоматизации.
Примечание. Это не работает в системах с включенной защитой целостности системы .
Напишите сценарий оболочки, который делает это
#!/bin/sh
# tell OSX to change the boot disk
# nextonly just for the next time - without the default would be Windows
/usr/sbin/bless -mount /Volumes/BOOTCAMP --setBoot --nextonly
# reboot
/sbin/shutdown -r now
Это можно вызвать из окна терминала
sudo bootcamp
Используйте Automator, чтобы вызвать это через сценарий Apple и сохранить как приложение.
on run {input, parameters}
do shell script "/Users/mark/bin/bootcamp" with administrator privileges
return input
end run
sudo bless --mount /Volumes/BOOTCAMP --setBoot --nextonly
получаю ошибку Could not set boot device property: 0xe00002bc
. Кажется , проблема в SIP .#!/bin/sh -e
, система перезагрузится только в случае успешного выполнения команды bless.Еще один способ быстро перейти из OS X в Windows — это использовать Bootchamp , который добавляет такой пункт в строку меню:
Для моих потребностей в загрузке Windows Bootchamp работал хорошо.
(Я узнал об этом из аналогичного вопроса на Super User , который я однажды задал.)
Удерживайте ⌥во время загрузки, вам будет предложено выбрать, с какой ОС / диска вы хотите загрузиться!
Вот рабочий процесс Automator, который я написал для автоматической перезагрузки в Bootcamp:
https://github.com/ryanmcginnis/Restart-to-Bootcamp
Что касается El Capitan, программно установить загрузочный диск больше невозможно даже при отключенном SIP.
Кажется, этот скрипт от SuperUser обрабатывает закрытие открытых окон (и останавливает запланированный перезапуск, если пользователь нажимает «отмена»):
do shell script "hdiutil unmount /Volumes/<Windows_Partition> -quiet"
do shell script "bless -device /dev/disk0s3 -legacy -setBoot -nextonly" with administrator privileges
tell application "Finder" to restart
Я очень люблю REFIt .
rEFIt — это загрузочное меню и набор инструментов для обслуживания машин на базе EFI, таких как Intel Mac. Вы можете использовать его для простой загрузки нескольких операционных систем, включая тройную загрузку с помощью Boot Camp. Он также обеспечивает простой способ войти в предзагрузочную среду EFI и изучить ее.
Похоже, что ОП интересует команда только для OSX-Windows, поэтому я думаю, что это не совсем то, чего он хочет. Тем не менее, я считаю, что с rEFIt намного проще работать: если я хочу перейти с одной ОС на другую, мне просто нужно перезагрузиться, а затем выбрать нужную ОС.
И если вам когда-нибудь понадобится работать с 3 (или более) ОС, вы увидите, что rEFIT - гораздо лучший вариант...
Он также позволяет вам загружаться с внешнего жесткого диска или флешки, что является очень приятным бонусом.
Изменить На странице REFIt:
2013-03-29: Как вы могли заметить, rEFIt больше не поддерживается активно. Пожалуйста, ознакомьтесь с rEFInd , форком, который поддерживается и находится в активной разработке.
Что вы можете сделать, так это создать ярлык System Preferences / Startup Disk
на док-станции, в котором вы можете быстро изменить загрузочный диск для загрузки в Windows напрямую.
Для этого перетащите StartupDisk.prefPane
из /System/Library/PreferencePanes/
в правую часть дока:
Теперь вы можете щелкнуть по нему, разблокировать, выбрать BOOTCAMP и нажать «Перезагрузить». Это особенно хорошо работает на новых MacBook, потому что вы можете использовать Touch ID для разблокировки.
Я хотел использовать AppleScript вместо BootChamp, так как у меня были проблемы с постоянно работающим веб-приложением, когда оно возобновляло состояние при возврате в OS X вместо регулярного запуска. Попытка благословить том с помощью AppleScript не сработала на моем iMac с диском Fusion емкостью 3 ТБ, поэтому перезагрузка после благословления привела бы к экрану ошибки «НЕТ ЗАГРУЗОЧНОГО УСТРОЙСТВА - ВСТАВЬТЕ ЗАГРУЗОЧНЫЙ ДИСК И НАЖМИТЕ ЛЮБУЮ КЛАВИШУ».
Что мне нужно было сделать, так это благословить идентификатор диска EFI жесткого диска с помощью переключателя -device , смонтировать том BootCamp с помощью переключателя -mount и пропустить переключатель -legacy . Для меня идентификатор диска раздела EFI жесткого диска был disk1s1, но вы можете проверить свой, запустив список diskutil в терминале и найдя устройство EFI на жестком диске (не на SSD).
Я также хотел сделать «чистый» перезапуск, чтобы мои приложения не возобновлялись при возврате в OS X, поэтому я создал AppleScript, который закрывает определенные приложения, прежде чем продолжить благословение и перезагрузку:
try
set apps to {"Safari", "Google Chrome", "Mail", "Twitter"}
repeat with thisApp in apps
tell application thisApp to quit
end repeat
end try
delay 2
do shell script "bless -device /dev/disk1s1 -mount /Volumes/BOOTCAMP -setBoot -nextonly" password "YourPassWordHere" with administrator privileges
tell application "Finder" to restart
Вы можете пропустить часть о пароле, если не хотите хранить свой пароль администратора в скрипте в виде открытого текста.
Если вы поместите сценарий или его псевдоним в ~/Library/Scripts и включите меню сценариев в настройках редактора сценариев, вы получите простой способ запустить его, как с помощью BootChamp.
ноэликус
Ральф Шиллингтон
ноэликус