もどる

BootCampのおぼえがき。 OSXとWindowsを共存させる。
それだけなら普通にBootCampを利用すれば良いが、運用する際に便利なように
どちらのOSからも参照可能な領域をexFATで作成しておく。

何回もやっている割に思い出すのが面倒なのでとりあえずメモしておく

まずはBootCampドライバを落としてく。
BootCampアシスタントを実行し、サポートソフトのダウンロード
にだけチェックをいれ次へ

ドライバ類は直接zipを落としても良いし、個別にメーカから入手でも構わないが
Appleのアシスタントが居ないとキーボードやトラックパッドの設定が出来ないので必要です。

このアシスタントの実行で、OSX側への変更がインストールされる。
ディスクユーティリティを起動して、パーティーションを設定する。
普通に2パーティーションならBootCampアシスタントで行えるので
ここでは3パーティーションとして、OSX, Windows, 共有領域 とする。
OSX以外のWin用に割り当てる領域はとりあえずFATとしておいて構わない。細々とは後で行う。
パーティーションの管理だけはOSXで行う。
!パーティーションの分割や管理はこの一連の手順でやらないと面倒になる。
OSXではEFIで管理、WindowsはMBRとなるので下手にそれぞれのOSがいじると破綻する。
また、実際には EFI, OSX, リカバリ(Lion以降), Windows, 共有領域(左図TEMP) となり
Windowsからは最後の4領域以降は認識できなくなる。調整してWindowsから4領域目を作成すると拡張パーティーションと
なり、OSXから参照できなくなる。

この解説は、諸々の伝統の隙間を少ない手順で通り抜ける方法である。
WindowsのCDを入れ、OPTIONキーを押し下げながら再起動する。
インストール先の選択は、Lion以降では「ドライブ0パーティーション4」となる筈である
選択の出来ない パーティーション5 がどちらからも読み書きできる領域とする予定地である。

OSXからパーティーションマップを変更している為、FATをインストール先と
出来ないだけなので、ドライブ0パーティーション4を選択し、フォーマットを押す
フォーマットを行えば、「次へ」が押せるようになるので後は普通にインストール
途中再起動をするが、その時にOPTIONを押し忘れると普通にOSXが立ち上がってしまう。
その場合は、OPTIONを押しながら再起動を行い Windowsパーティーション を選択すれば
インストールが続行される。
Installが終わってもLion以降では共有の領域が認識できない。
Windowsのディスク管理からフォーマットすると拡張パーティーションとなるので
リカバリ領域を削除し、パーティーションが4つに収まるようにする。
ターミナルを立ち上げ diskutil でリカバリパーティーションをOSX領域に統合する
以降のリカバリはHDDからではなくインターネットを利用することになる。

ターミナルから diskutil list を実行し、パーティーションが5つある事と
パーディーションの順番を確認する。
この disk0s3 を消して disk0s2 に統合する。

$diskutil eraseVolume HFS+ Blank /dev/disk0s3
これでリカバリ領域の中身が空になり
$diskutil mergePartitions HFS+ Lion disk0s2 disk0s3
これでリカバリ領域がOSX領域に統合される。
WindowsでBootしなおすとFAT領域が見えるようになる筈なので
これをフォーマットし直して完了。
FAT(32)では4G以上のファイルが作成できないのでNTFSが良いのだが
Lion以降ではNTFSへの書き込みが出来なくなったので、exFATを使うと
どちらからも読み書きが可能で、4GB以上のファイルを置くことが出来る。
Windowsから対象のドライブを右クリックしてフォーマットか
ディスクユーティリティでフォーマットを行う。
フォーマット形式にNTFSしか表示されない場合があるので、その時はコマンドプロンプトを
管理者として実行(コマンドプロンプトアイコンを右クリック)し、formatを実行する。
>format e:(ドライブ名) /fs:exfat
FATNTFSexFAT
Leopard?×exFATは10.6以降?
Snow LeopardexFATを作成すると壊す事がある
ntfsmounterを使うと楽
LionNTFSに書き込めない

XPexFATにはKB955704が必要
VistaexFATはSP1以降
7,8ま、FAT,exFATはMSなので。ね。
起動のたびにOPTIONを押し下げるのが面倒なのでrEFItをインストールする。
これは普通に持ってきて、OSX上でインストールをすれば良い。
メンテナンスが止まりrEFIndへ移行している様であるがノートの場合は要注意
蓋を閉じたスリープから休止への移行(safesleep?)に必要なツールが無く、失敗する事がある。
(フォーラムでたまに話題に出るがパッケージに反映されている様では無い?2013年後半時点 たとえば この へん)
rEFItでは rEFIt Blesser がその間を取り持つツールとしてインストールされる
スリープから休止に移行する時に電源が入り、これを失敗するのが原因だかで、efi->blesserと繋いで休止にさせるとか何とか?

あとの手は pmset で休止のモードをハイブリッドにしなければこの問題は起きなかったはず。

2015/06/04追記

Yosemite にアップデートしたらなにか挙動が変だったので rEFIt を rEFInd にした。
Ver 0.8.3 ではEFI(ESP)領域へインストールすると起動に時間がかかるという問題があった。
(電源をいれてrEFIndのメニューが出るまで30秒ほどかかるという問題)
・NTFSだかの開始セクタに問題があるからフォーマットし直せば良い。
・インストール先にespを指定せずOSXの領域(HFS)を指定すれば良い。
といった 解決方法が出た模様。

現在この問題は解消しているのでこれからインストールする人はrEFIndを入れると良い。
先に書いたスリープの問題も解決しているようなので割と快適。
また起動メニューにbootの付いていないexFATが表示されなくなってスッキリ。

rEFIndのインストールは Getting rEFInd から A binary zip file を選んでダウンロード
zipファイルを展開したディレクトリをターミナルで開いて、そこからインストールスクリプトを実行すればok
$ ./install.sh

すでにインストールしてあるrEFItをアンインストールするにはEFI領域をmountして
ファイルの削除を行えば良い。
2015/10/15(12/29)追記

El Capitanが出たのでアップデートしたところ、
システムの保護が強化されたのでrEFIndのインストールに失敗する様です。

インストールするにはこの特権保護を超える必要があり、それには
1.SIPを無効にしてからインストール
2.リカバリモードなどからインストール
この2種類の方法があるようです。

SIPを無効にするには
リカバリモードで起動して、メニューバーから「ターミナル」を起動し
$ csrutil disable
を実行し、再起動することでSIPが無効となります。
起動後はrEFIndをインストールする事が出来、インストール後には
$ csrutil enable
として有効にするべきでしょう。が諸々不安なのでそのまま使っています。

2の方法はこのリカバリモードのターミナルからcsrutilを実行する代わりに
インストールシェルを直接実行してしまう方法です。
HDDにあるリカバリ領域を開放して、ネットからリカバリを持ってくると
csrutilはいませんのでSIPを変更できません。
そこでターミナルから直接rEFIndのインストールシェルを実行してインストールしてしまいます。
/Volume/(ディスクのボリュームラベル名)/User/Download などに
展開済みのrEFIndに移動してインストールです。
この時、日本語入力はできませんのでボリューム名は適当なアルファベットにしておく必要があります。
インターネットからリカバリをダウンロードすると2時間程度かかりますので
リカバリ領域を削除する前に実行しておくか、rEFIndのisoイメージを使う方が簡単かもしれません(未確認)


spotlight検索や、time machineのバックアップ対象からWindows領域や共有領域を外しておいた方が、速度が遅くならなくて良い。
以上