
MacでWindowsを使う最もお手軽な手段はBoot Campです。
しかし、Boot CampにはMacとWindows間の切り替えに時間がかかる問題があります。
起動ディスクを変更する
起動ディスクを変更するのがBoot CampでもMacとWindowの一般的な切り替え方だと思います。
しばらくはWindows OSを使う、しばらくはmacOSを使う、ならいいのですがMacとWindowsを行き来きするためにこの方法は向きません。
macOSからWindows OSに切り替える
- 「システム環境設定」から「起動ディスク」を選択します。
- 「起動ディスク」の画面で「BOOTCAMP」を選択し、「再起動」を押下します。
- macOSが終了し、Windowsが起動します。
Windows OSからmacOSに切り替える
- WindowsのタスクバーにあるBoot Campアイコン(ひし形のアイコンです)をクリックします。
- メニューから「OS Xで再起動」を選択します。
- Windowsが終了し、macOSが起動します。
一時的にWindowsに切り替えてMacに戻る
普段はmacOSを使っていて、一時的にWindowsを使うような場合は起動ディスクは変更せず、以下の手順を使うと少しだけ時間が節約できます。
- macOSで再起動を実行します。
- 再起動が始まる前に「option」キーを押し、起動ディスクの選択画面が表示されるまで押し続けます。
- 起動ディスクの選択画面でWindowsを選択します。
- Windowsが起動します。
- Windowsでの作業が終わったら、「再起動」を実行します。
- 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で再起動」が追加されます。

これでメニューバーから「Windowsで再起動」を選ぶだけでmacOSが終了し、Windowsが起動します。
そして、Windows上で再起動を指示するとWindowsが終了してmacOSが起動します。
Boot Camp領域をMac上で動くようにする
根本的な解決方法はWindows OSとWindowsアプリがインストールされているBoot Camp領域をmacOS上で動作するようにすることです。
まるでMacアプリのようにWindows OSが動くようになります。
変換してしまえばMacとWindowsの切り替え時間はゼロになります。
難しそうな話に聞こえるかもしれませんが、実際の作業はParalles Desktopがすべてやってくれます。
コメント
初めまして。
上記と同じことをしたいと思い、スクリプト・エディタにてスクリプトをコピペして、コンパイルしました。
結果、以下のエラーが出てしまいます。
基本的な問題なのかもしれませんが、対応方法をご存知でしたら教えてください。
ここを訪れた他の人にもきっと役に立つと思います。
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を無効にすればいいのでは?
よろしくお願いします!
こちらのスクリプトを試させていただきましたが、スクリプトをメニューバーから使っても一度歯車のアイコンが表示された後何も起きません。アイコンも消えます。
手順は、スクリプトエディタに上記のスクリプトをコピペし、パスワードをログインに使用しているものに変更(アカウントは一つのみです)。コンパイル後デスクトップに保存し、スクリプトフォルダを開くからユーザスクリプトフォルダを開いて保存しています。OSは以下の通りです。
El Capitan10.11.5(15F34)
MacBook Air (13-inch, Early 2015)
もし何か対処法などご存知なら教えていただけたらと思います。