【问题标题】:Set boot volume with apple script - Mac使用苹果脚本设置启动音量 - Mac
【发布时间】:2012-02-17 15:27:28
【问题描述】:

我的 Mac 上有两个分区:Mac OS X 和 Windows 7。我经常在它们之间切换,所以我开始寻找一种自动重启到另一个分区的方法(无需在重启时按 Alt)。对于 Windows,这很容易,因为 Apple 提供的 Boot Camp 实用程序有一个快速菜单。不过,在 Mac 上,我不得不搜索并在 Apple Script 中找到了这段代码:

do shell script "bless --mount /Volumes/Windows/ --setBoot" with administrator privileges
do shell script "shutdown -r now" with administrator privileges

问题是这不起作用。当它在运行此脚本后重新启动时,它会转到 Mac 分区,而不是 Windows。

AppleScript 的好处是我可以将它保存到应用程序中并从 Dock 中运行,但到目前为止它还没有工作。有什么想法吗?

【问题讨论】:

    标签: macos applescript boot restart disk-partitioning


    【解决方案1】:

    对于 bless 命令,您应该使用 -legacy 选项,该命令也应该是

    do shell script "bless --mount /Volumes/BOOTCAMP/ --setBoot --legacy" with administrator privileges
    

    如您所见,我的 windows 分区名为 BOOTCAMP,请填写已安装 windows 卷的确切路径。如果没有安装卷,bless 命令也将不起作用。

    我不会从命令行使用关机命令。它不会使您能够保存未保存的文档。改用系统事件

    tell application "System Events" to shut down
    

    【讨论】:

    • 太棒了!解决了我的问题!只是出于好奇,--legacy 是做什么的?
    • 打开 legacy 选项后,您可以启动基于 BIOS 的系统。这就是 windows 所需要的。
    • 从系统偏好设置更改引导分区时,不需要密码。难道没有另一种方法可以通过不需要提供密码的脚本来做到这一点吗?
    • 首先:是的。权限很重要,您需要具有管理员权限才能更改启动卷(查看左下角的锁定符号)。您可以将管理员用户分配给 do shell 脚本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 2021-06-12
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多