如何从OSX快速重启到Windows并返回


31

从Windows返回OSX相当容易。我想从OSX到Windows的步骤要少一些。目前,我启动系统偏好设置->启动磁盘-然后选择bootcamp分区,然后按重新启动。

对OSX来说,这是全新的东西,似乎应该可以通过某种自动化脚本在扩展坞上执行一键式操作。但是,我对OSX以及如何工作一无所知。首先,这是可能的,其次,请提供此类自动化系统的一些辅导链接。


1
Windows的“相当简单”的方式是什么?刚打开训练营托盘?
noelicus

@noelicus是的,右键单击bootcamp图标,然后在OS X中选择Reboot。自从这篇原始文章以来,我已经从Bootcamp转移到了并行环境(在2013年末的iMac(32GB内存,3TB融合等)上,它可能变得很有趣。 ..)确实是一个更好的环境,现在只需在两个操作系统之间来回滑动两根手指即可
Ralph Shillington 2015年

似乎没有办法“一次引导到OS X”。Windows中的bootcamp菜单似乎会更改永久启动。另外,我还安装了并行服务器。很酷,但是比本地启动慢!
noelicus

Answers:


19

注意:这在启用了系统完整性保护的系统上不起作用

编写一个执行此操作的shell脚本

#!/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

5
请记住,单击此脚本时,您将没有机会从任何应用程序中保存任何未保存的工作。不论费用如何,系统都会重新启动计算机!
nuc

2
是--mount / Volumes / BOOTCAMP --setBoot --nextonly(注意参数前的双破折号)吗?
Aldekein 2014年

1
有人可以验证它是否可以在OSX 10.10或更高版本上运行吗?即使有双破折号对我也不起作用(只是重新启动进入OSX)。我已经通过直接在命令行上运行命令来验证该命令不会引发任何错误,并验证了/ Volumes / BOOTCAMP的存在。
davertron '16

1
我也无法在macOS 10.12.2上使用它。当我调用时sudo bless --mount /Volumes/BOOTCAMP --setBoot --nextonly,出现错误Could not set boot device property: 0xe00002bc。似乎问题是SIP
詹森·库姆斯

2
由于系统完整性保护,这不再起作用。请参阅以及@celestialroad对这个问题的回答。
Timmmm

14

在引导过程中按住,将提示您选择要从哪个操作系统/驱动器引导!


13
这不是他的要求,绝对不是“快速”,“自动化”或“一键式”。
o0'。

7
@looris有时不需要重新发明轮子。–
nuc

1
@nuc我有38K的浏览量。Lohoris拥有它的权利。
bpcookson

问题是“我想从OSX到Windows的步骤要少一些。” 这样就可以轻松解决问题(正是我找到这个问题时正在寻找的东西),不需要新软件或脚本。
crimbo

14

快速从OS X迁移到Windows的另一种方法是使用Bootchamp,它添加了一个如下所示的菜单栏项:

在此处输入图片说明

对于我的Windows启动需求,Bootchamp运行良好。

(我从我曾经问过的有关超级用户类似问题中学到了这一点。)


BootChamp不适用于某些设置,并且在启动计算机时会花费额外的时间。
aeroxy

3
使用El Capitan,BootChamp不再起作用:(- kainjow.tumblr.com/post/128933657269/bootchamp-and-el-capitan
wilsjd

我安装了此软件,“在Windows中重启”显示为灰色?
niico


2

似乎来自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

2

我真的很喜欢rEFIt

rEFIt是用于基于EFI的计算机(如Intel Mac)的启动菜单和维护工具包。您可以使用它轻松启动多个操作系统,包括使用Boot Camp进行三次启动设置。它还提供了一种进入和探索EFI预引导环境的简便方法。

OP似乎对仅OSX到Windows的命令感兴趣,因此我想这并不是他想要的。不过,我发现rEFIt的使用更加容易:如果我想从一个操作系统转到另一个操作系统,我只需要重新启动,然后选择想要的操作系统即可。

而且,如果您需要使用3个(或更多)操作系统,您会发现rEFIT是更好的选择...

它还允许您从外部硬盘驱动器或笔式驱动器启动,这是非常不错的奖励。

从rEFIt页面编辑

2013-03-29:您可能已经注意到,rEFIt不再得到积极维护。请检出rEFInd,这是一个已维护且正在积极开发中的fork。



0

我想使用AppleScript而不是BootChamp,因为在返回OS X而不是定期启动时,始终运行的webapp在恢复状态时遇到问题。尝试通过AppleScript来保护卷在带有3TB融合驱动器的iMac上无法正常运行,因此在保护后重启会导致错误屏幕“无法启动的设备-插入启动盘并按任意键”。

我所要做的就是祝福硬盘的EFI磁盘ID与-device开关,安装与集训卷-mount开关和跳过-legacy开关。对我来说,HDD的EFI分区磁盘ID为disk1s1,但是您可以通过在终端中运行diskutil列表并从HDD(而不是SSD)中查找EFI设备来验证您的磁盘。

我还想进行一次“干净”的重启,以使我的应用程序在返回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一样轻松地运行它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.