MacとWindowsを簡単に切り換える

MacでWindowsを使う最もお手軽な手段はBoot Campです。

しかし、Boot CampにはMacとWindows間の切り替えに時間がかかる問題があります。

起動ディスクを変更する

起動ディスクを変更するのがBoot CampでもMacとWindowの一般的な切り替え方だと思います。

しばらくはWindows OSを使う、しばらくはmacOSを使う、ならいいのですがMacとWindowsを行き来きするためにこの方法は向きません。

macOSからWindows OSに切り替える

  1. 「システム環境設定」から「起動ディスク」を選択します。
  2. 「起動ディスク」の画面で「BOOTCAMP」を選択し、「再起動」を押下します。

  3. macOSが終了し、Windowsが起動します。

Windows OSからmacOSに切り替える

  1. WindowsのタスクバーにあるBoot Campアイコン(ひし形のアイコンです)をクリックします。
  2. メニューから「OS Xで再起動」を選択します。
  3. Windowsが終了し、macOSが起動します。

一時的にWindowsに切り替えてMacに戻る

普段はmacOSを使っていて、一時的にWindowsを使うような場合は起動ディスクは変更せず、以下の手順を使うと少しだけ時間が節約できます。

  1. macOSで再起動を実行します。
  2. 再起動が始まる前に「option」キーを押し、起動ディスクの選択画面が表示されるまで押し続けます。
  3. 起動ディスクの選択画面でWindowsを選択します。
  4. Windowsが起動します。
  5. Windowsでの作業が終わったら、「再起動」を実行します。
  6. Windowsが終了し、macOSが起動します。

YosemiteまではApple Scriptでできた

MacからWindowsに切り換えるためにmacOSを終了して、Macが起動したらoptionキーを押し続けて、Windows OSを撰択する・・・。

全然スマートじゃありませんね。

実はこの手順はYosemite (macOS X 10.10)までは以下のApple Scriptで自動化できていたのですが、El Capitan (OS X 10.11)でSIP(System Integrity Protection)が導入されたことで自動ではできなくなってしまいました。

Yosemiteまでならできた方法

まず、Windowsに切り換えるためのApple Scriptをメニューバーから実行出来るようにAppleSctiptエディタ.appを起動し、「AppleSctiptエディタ」-「環境設定」メニューを開いて、「メニューバーにスクリプトメニューを表示」にチェックします。 メニューバーにスクリプトメニューを表示

それでAppleSctiptエディタ.appで次のようなスクリプトを作成します。

スクリプト中にはMacの管理者パスワードを埋め込む必要があります。

do shell script "sudo bless --mount /Volumes/BOOTCAMP/ --legacy --setBoot --nextonly" password "管理者パスワード" with administrator privileges
tell application "Finder" to restart

AppleSctiptエディタ.appの「コンパイル」ボタンを押して、スクリプトエラーなくコンパイルできたら、”Windowsで再起動.scpt”みたいな名前でユーザスクリプトフォルダに保存します。

するとメニューバーのApple Scriptメニューに「Windowsで再起動」が追加されます。 Apple Scriptメニュー

これでメニューバーから「Windowsで再起動」を選ぶだけでmacOSが終了し、Windowsが起動します。

そして、Windows上で再起動を指示するとWindowsが終了してmacOSが起動します。

Boot Camp領域をMac上で動くようにする

根本的な解決方法はWindows OSとWindowsアプリがインストールされているBoot Camp領域をmacOS上で動作するようにすることです。

まるでMacアプリのようにWindows OSが動くようになります。

変換してしまえばMacとWindowsの切り替え時間はゼロになります。

難しそうな話に聞こえるかもしれませんが、実際の作業はParalles Desktopがすべてやってくれます。

コメント

  1. colgate より:

    初めまして。

    上記と同じことをしたいと思い、スクリプト・エディタにてスクリプトをコピペして、コンパイルしました。
    結果、以下のエラーが出てしまいます。
    基本的な問題なのかもしれませんが、対応方法をご存知でしたら教えてください。

    ここを訪れた他の人にもきっと役に立つと思います。

    error “Legacy mode not supported on this system” number 3

    そして、”–legacy”を外すと以下です。

    error “Could not set boot device property: 0xe00002bc” number 3

    Legacy modeを有効にする方法も分からず、setBootを外したら、そもそもスクリプトの意味がないだろうし。
    Googleで調べてみましたが、わかりませんでした。

    • 匿名 より:

      setBootに失敗するのはEl CapitanのSIPが原因ではないでしょうか?
      SIPを無効にすればいいのでは?

  2. colgate より:

    よろしくお願いします!

  3. 匿名 より:

    こちらのスクリプトを試させていただきましたが、スクリプトをメニューバーから使っても一度歯車のアイコンが表示された後何も起きません。アイコンも消えます。
    手順は、スクリプトエディタに上記のスクリプトをコピペし、パスワードをログインに使用しているものに変更(アカウントは一つのみです)。コンパイル後デスクトップに保存し、スクリプトフォルダを開くからユーザスクリプトフォルダを開いて保存しています。OSは以下の通りです。
    El Capitan10.11.5(15F34)
    MacBook Air (13-inch, Early 2015)
    もし何か対処法などご存知なら教えていただけたらと思います。