パソコンよろずQ&A

よろずと言いつつ、すっかりBoot Camp Only Blogです。現在、更新・コメント返信は一時休止しております。

MacからWindowsに切り替えて再起動する機能を追加するには

2007年08月17日 | Mac
Boot Campには「Windows側からMac OS Xで再起動する」機能がありますが、MacからWindowsに切り替えるには起動ディスクの設定が必要です。そこで今回は、AppleScriptを使って擬似的に「Mac OS X側からWindowsで再起動する」機能を追加する方法をご紹介します。

【07/10/29訂正】Mac OS X 10.5 (Leopard)に合わせて一部記述を変更いたしました。画面はMac OS X 10.4 (Tiger)のままですが、同様の手順でお使いいただけます。

 アプリケーションフォルダを開き、「AppleScript」-「スクリプトエディタ」をダブルクリックして起動する
  

 起動したスクリプトエディタに下記のコードを入力し、「管理者パスワード」の箇所を自分の管理者パスワードに置き換える

※本ブログの「Mac OS XからWindowsのNTFSパーティションに書き込めるようにするには(1)~(3)」によってntfs-3gを利用されている場合は、コードが異なります。

※Boot Campアシスタント以外で複数のパーティションに分割している場合や、システムディスクとは別のディスクにインストールしている場合は、記述が異なります。コード内「disk0s3」の部分を、ディスクユーティリティでWindowsのシステムパーティションを選択して「情報」ボタンをクリックし、「ディスク識別子」に表示されている値に書き換えてください。

【07/08/18追記】Windowsのパーティションが標準と異なる場合の対処方法について追加しました。ご指摘をいただきました、隊長@やから建設様にはこの場を借りて御礼申し上げます。

※下記コードはコピーしてお使いいただけます。

ntfs-3gを利用していない場合(通常はこちら)
tell application "Finder"
display dialog "コンピュータを再起動してもよろしいですか?" & return & return & "お使いのコンピュータは Windows を使用して起動します。" default button 2 with icon note
end tell
do shell script "sudo bless --device /dev/disk0s3 --legacy --setBoot" password "管理者パスワード" with administrator privileges
do shell script "sudo shutdown -r now" with administrator privileges

ntfs-3gでWindowsパーティションをマウントしている場合
tell application "Finder"
display dialog "コンピュータを再起動してもよろしいですか?" & return & return & "お使いのコンピュータは Windows を使用して起動します。" default button 2 with icon note
end tell
do shell script "diskutil unmount /dev/disk0s3"
do shell script "diskutil mount /dev/disk0s3"
do shell script "sudo bless --device /dev/disk0s3 --legacy --setBoot" password "管理者パスワード" with administrator privileges
do shell script "sudo shutdown -r now" with administrator privileges

  

 「コンパイル」をクリックして、構文に誤りがないことを確認する
  

※もしも画面のように色が変わらなかったり、エラーメッセージが表示された場合は、手順2のコードと見比べて誤りを修正してください。

 「ファイル」メニューの「別名で保存」をクリック
  

 保存の画面で以下のように設定して、「保存」ボタンをクリック

・「名前」に「Windows で再起動」と入力
・「名前」右横の「▼」ボタンをクリックしてフォルダ選択できる状態にしてから「Macintosh HD」の「ユーザ」-「(ユーザ名)」-「ライブラリ」-「Scripts」の順に選択
・「フォーマット」から「スクリプト」を選択
・「実行専用」にチェックを付ける

  

 アプリケーションフォルダを開き、「AppleScript」-「AppleScriptユーティリティ」をダブルクリックして起動する
  

 「メニューバーにスクリプトメニューを表示」にチェックを付け、「ライブラリスクリプトを表示」のチェックを外して、AppleScriptユーティリティを閉じる
  

以上で設定は完了です。これでメニューバーのスクリプトメニューからWindowsで再起動できるようになりました。実際の使い方は以下の通りです。

 メニューバーのスクリプトメニューアイコン()をクリックし、「Windows で再起動」をクリック
  

 「コンピュータを再起動してもよろしいですか?」という画面が表示されたら、「OK」ボタンをクリック
  

※ntfs-3gを利用している場合は、ディスクのアンマウントと再マウントが行われるため、若干再起動まで時間がかかります。

これで、Windows側とMac OS X側の切り替え手段がほぼ揃いました。

それでは、また。


最新の画像もっと見る

23 コメント

コメント日が  古い順  |   新しい順
表示フォントの変更等 (とーちゃん)
2009-11-17 14:13:02
ダイアログに表示させる文字の表示フォントやサイズ、太字の仕方ななどを教えていただけませんか?

いろいろ調べましたが出来ませんでした。

あと、ダイアログウインドウのサイズは変更可能ですか?

よろしくお願いします。
返信する
OSX 10.6 snow leopardでの再起動 (ビギナー)
2009-11-08 20:51:22
はじめまして。mac初心者です。

さっそくですが、質問が2点ございます。

まず、これまでcore2duo2.0Ghz搭載13インチのmac bookにbootcampでXP home editionをインストールして使用していました。その際こちらで拝見した方法で、問題なくmac→XPの再起動が行えていました。

最近macをOSX10.6にアップグレードしたところ(XPはそのまま)、mac→XPの再起動ができなくなりました。10.6での記述方法はまた違ってくるのでしょうか?ご教授頂ければ幸いです。

それともう一つ、XP→XPの再起動は10.5のときからできませんでした。現在(10.6)も当然できません。これに関しても解決方法を教えて頂けますでしょうか?

以上、2点についてアドバイスをお願いします。
返信する
パスワードは""でくくられておりますでしょうか>ちびてん様 (管理人)
2009-05-07 06:19:25
コメントありがとうございます。>ちびてん様
回答が大変遅くなり、誠に申し訳ございませんでした。

管理者パスワードについては、ちびてん様の認識で間違っておりません。考えられる原因としては、管理者パスワードが""(ダブルクオート)でくくられていないということはございませんでしょうか?

今一度、ご確認いただければ幸いです。
よろしくお願いいたします。
返信する
パスワードを求められる (ちびてん)
2009-04-19 20:05:21
便利そうなので、私も作ってみたのですが、「パスワード」の入力を求められます。これって、「setBoot" password "管理者パスワード" with administrator privileges」の"管理者パスワード"を自分のパスワードに置き換えることで、入力不要にしているのではないのでしょうか?
返信する
再起動すると表示されるかと思われます。>かな様 (管理人)
2009-03-31 02:11:47
お返事が大変遅くなり、誠に申し訳ございませんでした。>かな様

すでに解決済みかとは存じますが、おそらくスクリプトメニューが新規作成されたScriptsフォルダを認識していないことが原因と思われますので、Mac OS Xを再起動することで表示されるかと思われます。

もし、それでもまだ表示されないようでしたら、いったん作成したフォルダを削除した上で再起動し、スクリプトメニューから「スクリプトフォルダを開く」-「ユーザ・スクリプト・フォルダを開く」を選択することで、新しくScriptsフォルダが作成されます。

よろしくお願いいたします。
返信する
Scriptsフォルダについて (かな)
2009-03-18 12:08:05
初めまして、Mac1年生の超初心者です。

手順通り進めていたのですが、手順5の「Scripts」フォルダが私のMacにありません。
新規作成して保存してみたのですが、スクリプトメニューに切り替えの項目も出てきません。
どうしたら出来るでしょうか?

なんにも分かってなくて本当に申し訳ありません!どうぞ教えてください。
返信する
ありがとうございます (kanade)
2008-03-17 15:53:58
ご丁寧にありがとうございます。
数日前まではoptionキーの切り替えも出来ていたのですが、他の要因のようです。
お手数おかけしてすみません。
マウスドライバ等を導入したりした際に何度か不具合が出ていましたのでそのせいかもしれません。

rEFItのご紹介ありがとうございます。
こちらも入れてみたいと思います。

この他にもいくつか疑問点に触れている記事があり、とても助かりました。
今後も楽しみにしています。
返信する
コメントありがとうございます。>kanade様 (管理人)
2008-03-17 07:39:15
コメントありがとうございます。>kanade様

・optionキーによる起動OSの選択の件
本スクリプトは起動OSの切り替えと再起動を行うだけの役割ですので、起動時のoptionキーによる起動OSの選択には影響を及ぼさないかと存じます。起動音が鳴る前から、選択画面が出るまでの間、optionキーを押したままにしても表示されませんでしょうか。

・起動ディスク設定が変更される件
ご推察の通り、起動ディスクはWindows側パーティションに切り替えられてしまいます。blessコマンドには次回起動時のみ切り替えるというオプションもございますが、残念ながらWindowsには利用できません。

もしも基本はMac OS Xで、起動時にWindowsを選択できさえすればよいと言うことでしたら、本ブログの「起動時のWindowsとMac OSの選択画面をカスタマイズするには」(http://blog.goo.ne.jp/pcqanda/e/282e0a14c72eee8a2f0386a54ddbf02e)でご紹介しているrEFItを導入されることをおすすめいたします。

根本的な解決になっておらず、申し訳ございません。
よろしくお願いいたします。
返信する
気のせいかもしれませんが・・・ (kanade)
2008-03-14 15:41:14
お世話になります。
再起動が大変だと思っていたので、こちらの記事とても参考になりました。

ところで、こちらのスクリプトを導入してから、起動時optionキー長押しによる起動OSの選択が出来なくなってしまったような気がします。
もしかしたら別の要因かもしれないので恐縮なのですが、何かお心当たりがありましたら教えてくださると助かります。

また、こちらで再起動しますと、コントロールパネルでの起動ディスク設定は変更されてしまいますでしょうか?
起動をMacに設定していてもWINで終了した翌日起動するとWINが起動してしまいます。
起動はいつもMacで、WINの起動はoption選択かこちらのスクリプトによる起動になればよいのですが...。

長々と申し訳ありません。
お時間ある時にご考慮いただけると幸いです。
返信する
m(_ _)m (じゅま)
2008-02-29 12:12:36
管理人さま、早速のご回答ありがとうございました。

なるほど、ntfs-3gだったんですか(納得)。
てっきりスクリプトかと思いましたが、まるっきり勘違いしておりました。

書いてないのにドンピシャリと言い当てるなんてすごいですね。お陰ですご~くスッキリできました!

これからも応援します。
返信する
ntfs-3gを導入するとアイコンは表示されなくなります。>じゅま様 (管理人)
2008-02-29 01:00:34
コメントありがとうございます。>じゅま様

じゅま様のご質問の原因は、ntfs-3gを導入されたことによると思われます。ntfs-3gはMac OS X標準のntfs用ドライバではないため、システム環境設定の起動ディスクからは起動可能ボリュームとして認識されないため、アイコンが表示されなくなります。

ちなみに、Windows側のコントロールパネルの起動ディスクではntfs-3gは無関係であるため、両方のボリュームが表示されております。

よろしくお願いいたします。
返信する
起動ディスクアイコンへの干渉? (じゅま)
2008-02-28 16:40:33
初めまして。
こちらのサイトが丁寧で判りやすいので度々参考にさせてもらってます。
ちょっと気になる事があるので質問させてください。

おそらくAppleスクリプトでのWindows再起動を導入してから(確証は無いんですけど)だと思うんですが、「システム環境設定>起動ディスク」の画面からWindowsのアイコンが消えました。
アイコンが出てないから、この画面からWindowsでの再起動を選ぶことは当然出来ません。
試しにVistaを再インストールしましたが相変わらずアイコンは表示されませんでした。
これってAppleスクリプトの方が優先されるから、とかそういう事なんでしょうか?

もっとも、メニューバーに設けたAppleスクリプトでのWindows再起動は出来るので別に不便でも何でもないんですが、なんとなくスッキリしないので、回答を頂ければ助かります。
返信する
blessコマンドのオプションを変更すれば可能です。>のんたん様 (管理人)
2007-12-04 07:28:59
コメントありがとうございます。>のんたん様
回答が大変遅くなりましたことを深くお詫び申し上げます。

Mac OSの起動ディスクを切り替える場合は、blessコマンドのオプション「--legacy」が不要です。仮に、2台目の内蔵HDDのMac OSを起動する場合は、以下のようなコマンドになります。

do shell script "sudo bless --device /dev/disk1s2 --setBoot" password "管理者パスワード" with administrator privileges

ちなみに、この方法は外部HDDでも有効です。

今後ともよろしくお願いいたします。
返信する
Macの再起動 (のんたん)
2007-11-24 22:22:10
上記の方法で Mac OS同士の切り替え(ハードディスク2つ搭載してあるMacでTiger←→Leopardの切り替え)に応用しようとしましたが・・・ うまくいきません。
こんなのも作れますか?
返信する
問いかけ、ありがとうございます。 (きたろ~です。)
2007-08-21 22:01:50
その後、どうにかAirMacを生かすところまできました。
後はブラウザなどの設定がうまくいっていないのかもしれません。

休日以外、なかなか時間が取れないので前に進むのが遅いのですが、上記の内容も確認させていただきながら、また質問させていただきます。

返信する
いくつかご確認いただきたいことがございます。>きたろ~様 (管理人)
2007-08-20 07:14:12
コメントありがとうございます。>きたろ~様

AirMacでワイヤレスネットワークが構築できないとのことですが、現在はどのような状況でしょうか。

(1)Windowsのバージョン(XP/Vista)は何でしょうか

(2)アクセスポイントの機種名をお教えください

(3)暗号化の種類(WEP/WPA/暗号化無し等)をお教えください

(4)SSIDのステルス機能をお使いでしょうか

(5)Windowsの無線アクセスポイント一覧は表示されておりますでしょうか

以上、お手数ですがご確認の程よろしくお願いいたします。
返信する
コメントありがとうございます。>40歳からのMac様 (管理人)
2007-08-20 07:08:28
ご評価のコメントありがとうございます。>40歳からのMac様

「Windows側にも付け加えたく」なられたのは、今回の再起動機能についてでしょうか? まだお試しでないかもしれませんが、Boot Camp 1.4 Betaには同等の機能がWindows側に付け加えられております。詳しくは本ブログ「Boot Camp 1.4でWindows Vista製品版をセットアップするには」(http://blog.goo.ne.jp/pcqanda/e/5e0bcb6e94c78b989d6717a4185402ef)をご参照いただければ幸いです。

今後ともよろしくお願いいたします。
返信する
このコメントに対することではないのですが、、 (きたろ~)
2007-08-19 22:45:11
BootCampでWindowsを設定することには成功したのですが、Windows側でairmacを使ったワイヤレスネットワークが構築できません。
どうすれば良いのでしょう、、
返信する
ありがとうございます (40歳からのMac)
2007-08-18 21:36:29
Macを使い始めてからいつも拝見させて頂いてます。

Apple Scriptって使いこなせばとても便利なんですね。
こういうのって、痒いところに効いてホントに助かります。
BootCamp Windows側にも付け加えたくなります。
返信する
コメントありがとうございます。>隊長@やから建設様 (管理人)
2007-08-18 05:11:10
コメントありがとうございます。>隊長@やから建設様

ご高察の通り、Boot Campアシスタント以外で作成した複数パーティションの場合、「disk0s3」の部分を書き換える必要がございます。

ディスクユーティリティでWindowsのシステムパーティションを選択して、「情報」ボタンをクリックし、「ディスク識別子」に表示されている値に書き換えていただければ大丈夫です。

ご質問の件は後ほど記事にも反映させていただきます。ご指摘ありがとうございました。

今後ともよろしくお願いいたします。
返信する
ご評価ありがとうございます。>dotmb様 (管理人)
2007-08-18 05:04:47
身に余るご評価をいただき、誠にありがとうございます。>dotmb様

正式バージョンでは、dotmb様もサイトでご紹介されていた、「真実は?BootCamp完成版のスリープ機能」(http://dotmb.netwalk.in/?eid=455587)の実装を期待したいところですね。

今後ともよろしくお願いいたします。
返信する
2つ以上のパーティションの場合・・・ (隊長@やから建設)
2007-08-18 00:08:55
いつもお世話になっております。
今回の記事は私に取って非常にタイムリーでした!
(いつもですが)

スクリプトの内容についてお聞かせください。
以前こちらでお世話になり、BootCamp環境で複数
パーティションを作成したのですが、
その場合はスクリプトの『/dev/disk0s3』
この部分は変わるのでしょうか?
例えば、先頭パーティションがOSXで2つ目が共用
ドライブ(FAT32)で3つ目がWindowsの場合です。

いつもイレギュラーな質問ばかりですみません。
返信する
凄く便利ですね! (dotmb)
2007-08-17 21:38:23
いつもおせわになっております。
今回はまたとても便利なテクニックですね!
私のブログでもご紹介させていただいてしまいました。
返信する