как быстро перезагрузиться с OSX на Windows и обратно

От Windows обратно к OSX довольно легко. Чего бы я хотел, так это сделать на несколько шагов меньше, чтобы перейти от OSX к Windows. В настоящее время я запускаю системные настройки -> загрузочный диск, затем выбираю раздел bootcamp и нажимаю перезагрузку.

Будучи совершенно новым для OSX, мне кажется, что действие одним щелчком мыши на доке должно быть возможно с помощью какого-то сценария автоматизации. Однако я ничего не знаю об OSX (пока) и о том, как это работает. Во-первых, возможно ли такое, а во-вторых, пожалуйста, предоставьте несколько обучающих ссылок для такой системы автоматизации.

Каков был «довольно простой» путь из окон? Просто открыть трей буткемпа?
@noelicus Да, щелкните правой кнопкой мыши значок буткемпа и выберите «Перезагрузить в OS X». Может быть интересно узнать, что после этого исходного поста я перешел от буткемпа к параллелям (которые на iMac конца 2013 года (32 ГБ оперативной памяти, 3 ТБ Fusion и т. ..) это действительно намного лучшая среда.Теперь просто проведите двумя пальцами вперед и назад между двумя операционными системами.
Кажется, нет никакого способа сделать «однократную загрузку в OS X». Это меню bootcamp в Windows, похоже, меняет постоянный запуск. С другой стороны, я также установил параллели. Очень круто, но медленнее родного бут!

Ответы (9)

Примечание. Это не работает в системах с включенной защитой целостности системы .

Напишите сценарий оболочки, который делает это

#!/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
Просто имейте в виду, что когда вы нажимаете на этот скрипт, у вас не будет возможности сохранить несохраненную работу из любого приложения. Система перезагрузит вашу машину любой ценой!
Разве это не должно быть --mount /Volumes/BOOTCAMP --setBoot --nextonly (обратите внимание на двойные тире перед параметрами)?
Может ли кто-нибудь проверить, работает ли это на OSX 10.10 или выше? Даже с двойным тире у меня это не работает (просто перезагружается в OSX). Я проверил, что команда не выдает никаких ошибок, запустив ее непосредственно в командной строке, и убедился, что /Volumes/BOOTCAMP существует.
Я также не могу заставить его работать на macOS 10.12.2. При вызове sudo bless --mount /Volumes/BOOTCAMP --setBoot --nextonlyполучаю ошибку Could not set boot device property: 0xe00002bc. Кажется , проблема в SIP .
Если вы измените первую строку на #!/bin/sh -e, система перезагрузится только в случае успешного выполнения команды bless.
Это больше не работает из-за защиты целостности системы. Посмотрите это и ответ @celestialroad на этот вопрос.

Еще один способ быстро перейти из OS X в Windows — это использовать Bootchamp , который добавляет такой пункт в строку меню:

введите описание изображения здесь

Для моих потребностей в загрузке Windows Bootchamp работал хорошо.

(Я узнал об этом из аналогичного вопроса на Super User , который я однажды задал.)

BootChamp не работает с определенными настройками и требует дополнительных секунд при загрузке компьютера.
С El Capitan BootChamp больше не работает :( - kainjow.tumblr.com/post/128933657269/bootchamp-and-el-capitan
Я установил это, и «перезагрузка в Windows» неактивна?

Удерживайте во время загрузки, вам будет предложено выбрать, с какой ОС / диска вы хотите загрузиться!

Это не то, о чем он спрашивал, это определенно не «быстро», не «автоматизировано» и не «в один клик».
@looris иногда нет необходимости заново изобретать велосипед..
@nuc С 38 тысячами просмотров, я бы сказал, что есть. Лохорис имеет на это право.
Вопрос звучал так: «Что бы я хотел, так это сделать на несколько шагов меньше, чтобы перейти от OSX к Windows». Это легко решает проблему (именно то, что я искал, когда нашел этот вопрос), не требует нового программного обеспечения или сценариев.

Вот рабочий процесс 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
ошибка «Не удалось установить свойство загрузочного устройства: 0xe00002e2» номер 3

Я очень люблю REFIt .

rEFIt — это загрузочное меню и набор инструментов для обслуживания машин на базе EFI, таких как Intel Mac. Вы можете использовать его для простой загрузки нескольких операционных систем, включая тройную загрузку с помощью Boot Camp. Он также обеспечивает простой способ войти в предзагрузочную среду EFI и изучить ее.

Похоже, что ОП интересует команда только для OSX-Windows, поэтому я думаю, что это не совсем то, чего он хочет. Тем не менее, я считаю, что с rEFIt намного проще работать: если я хочу перейти с одной ОС на другую, мне просто нужно перезагрузиться, а затем выбрать нужную ОС.

И если вам когда-нибудь понадобится работать с 3 (или более) ОС, вы увидите, что rEFIT - гораздо лучший вариант...

Он также позволяет вам загружаться с внешнего жесткого диска или флешки, что является очень приятным бонусом.

Изменить На странице REFIt:

2013-03-29: Как вы могли заметить, rEFIt больше не поддерживается активно. Пожалуйста, ознакомьтесь с rEFInd , форком, который поддерживается и находится в активной разработке.

Быстрая загрузка делает это красиво. Это в строке меню.введите описание изображения здесь

http://www.macupdate.com/app/mac/25414/quickboot

Что вы можете сделать, так это создать ярлык System Preferences / Startup Diskна док-станции, в котором вы можете быстро изменить загрузочный диск для загрузки в Windows напрямую.

Для этого перетащите StartupDisk.prefPaneиз /System/Library/PreferencePanes/в правую часть дока:

Перетаскивание StartupDisk.prefPane в док-станцию

Теперь вы можете щелкнуть по нему, разблокировать, выбрать BOOTCAMP и нажать «Перезагрузить». Это особенно хорошо работает на новых MacBook, потому что вы можете использовать Touch ID для разблокировки.

Прогресс для перезагрузки в Windows

В настоящее время это единственное решение из-за обновлений, выполненных в macOS.

Я хотел использовать 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.