狐の王国

人は誰でも心に王国を持っている。

MacBook Air 11"(Mid 2012) に Win8 と Debian GNU/Linux をインストールする

このブログも前のサーバにあったときもふくめると干支が一回りしてしまった。2001年の年初だったか春だったかに「狐の王国」という名前で Hyper NIKKI System で始めたのである。技術メモと生存報告として書いてたのだが、最近そんな記事書いてないなあ。たまには原点に戻りましょうかね。

というわけで手元に MacBook Air 11" (Mid 2012) がある。いつも持ち歩いてる iPad 2 と同じく、昔スタートアップに参加していた某所から、後払いの報酬として頂いたものだ。

ふだん作業に使ってるのは MacBook Pro 15" (Late 2011) で、持ち歩くのはたいへん重たい。iPad 2 もあるからモバイルはそちらに任せるつもりで15インチにしたのだが、やはりプログラミングができないと不便である。以前使っていた MacBook white (Early 2008) をサブマシンにしようとしてたのだが、どうもトラックパッドの調子が悪く、どうしたものかなーと思ってたところだった。たいへん助かる。ホントありがとうございます。

さらに MacBook Pro 15" のディスク容量が残りとぼしく、VMware Fusion で利用してる Windows XP Home を消したかった。ちょうど先月までアップグレード版 Windows 8 が3300円でゲットできたので、ついでにアップグレードもすることにした。

もちろん作業環境として Debian GNU/Linux もぶちこむ。MacBook なんか使ってるから Apple 信者だと思われがちだが、俺はれっきとした Debian 信者である。

というわけで用意するものは以下。

とりあえず8GB以上のUSBメモリを使って Mountain Lion のインストールディスクを作る。Mountain LionのインストールSDカード/USBメモリーを作る方法という記事が参考になる。

次にこのUSBメモリパーティションを切るのだが、注意点がある。まず MacOS X は Lion からリカバリ領域があり、これがMBRとして見た場合プライマリパーティションとして認識される。EFI用に見えないパーティションがもう一つあるので、MacOS をふくめると3つのプライマリパーティションが既に存在することになる。もちろん本来は GUID パーティションとか GPT パーティションとか呼ばれるものなのでこんなこと考えなくていいはずなのだが、実際にこれで4つ目のパーティションが見えなくなったことがあるのでまず頭に入れておく。念のため Windowsパーティションは2つ目にしておく。

というわけでパーティション構成は以下。名前をわかりやすくつけておくと後々表示されるときにどれがどれだかわかるので便利だ。

Mountain Lion インストール用USBメモリが出来たら、Option を押しながら起動してとりあえずこのようにパーティションを切っておき、そのまま Mountain Lion をインストールする。リカバリ領域が作られないよ、という警告がでるが、こうしてUSBメモリから起動できるのだから気にしないことにした。

インストールが完了したら、もう1本別のUSBメモリを用意し、Windowsのisoイメージをコピーしてくる。今回このISOファイルは Windows XP 上では作れなかったので、仮想マシンWindows 8 評価版を入れて、Windows8-Setup.exeをダウンロードして実行、「メディアからインストール」を選択して作成した。

そして Boot Camp Assistant を起動し、さらにもう1本別のUSBメモリ(俺は Mountain Lion のメモリを消して再利用した)を用意して、そこに Windows インストールディスクを作成。これは画面にしたがってれば作れる。Apple から Windows 用ドライバをダウンロードできるので、さきほどisoイメージをもってくるのに使ったUSBメモリに保存しておく。後に Debian を入れるときにも使うので、firmware-brcm80211パッケージも拾ってきてここに保存しておく。一度このディスクは抜いて、インストールディスクだけ挿した状態にしておく。

インストールディスクが完成したらまた再起動し、起動音がなってすぐ Option キーを押し続ける。そうするとオレンジ色のwindowsとかかれたアイコンが出てくるので、そこから起動。これで Windows 8 インストーラが立ち上がるので、Windows HD をフォーマット。

ただしこの Windows 8 はアップグレード版なので、前の OS がインストールされたディスクが必要になる。繋がってさえいれば問題無くアップグレードできるようなのだが、仮想マシンから実ディスクに移してくるのもかったるい。そこらの掲示板にも書いてあるのだが、どうもWindowsフォルダが存在してさえいれば問題無いとか。

ということでまたさらに別の USB メモリに仮想マシンを利用して Debian GNU/Linux(Wheezy) をインストール。VMware は USB 起動に対応してないので、USBメモリから起動するOSを仮想マシンで利用する(1)という記事を参考にPlop Boot Managerを利用してセットアップした。XふくめGUI環境は入れてないので、Capsキーが嫌いな俺はconsole-setup を使用した CapsLock の無効化という記事のようにCapsをCrtlとして設定しておいた*1

さてできあがったUSBメモリで起動。 ntfsprogs が入ってればマウントできるので、

# mount -t ntfs /dev/sda3 /mnt
# mkdir /mnt/windows

としておいた。これで再び Windows 8 インストールディスクから起動し、インストールしてみる。インストールが終り、設定 -> PC情報 を見てみるとちゃんと「ライセンス認証されています」と出ている。いいのかなこれ……。元の Windows XP Home もこの Windows 8DSP版というわけじゃないし、ハードに依存するライセンスじゃないんだから何も問題はないはずだが。

それはさておきインストールディスクを作った時に一緒に作っておいたドライバの入ったUSBメモリを挿し、ドライバ類をインストール。音も出るようになるし FaceTime Camera なども動作するようだ。おまけに Macintosh HD も見える。便利だなあ。

さてこれからが本番、 Debian GNU/Linux のインストールである。Linux 2.6 ではうまくコンソールに文字が表示されなかったので、現在の testing バージョンである Wheezy を使うことにする。

Debian のサイトから amd64 版の Wheezy netinst イメージをダウンロードしてくる。でもってまた別のUSBメモリ(俺は Mountain Lion/Windows 8のインストールに使用したものを流用)を用意して、MacBook に挿し、Disk Utility で情報を見る。Disk Identifier を見ると、disk11 とか disk5 とか書かれてる。これが /dev/dsk11 とか /dev/disk5 とかに対応してる。今回は disk5 だった。これを確認したら、ディスクはアンマウントしておく。Eject はしないでいい。ターミナルから、

$ sudo -s
# cat debian-wheezy-DI-b4-amd64-netinst.iso >/dev/disk5

としてisoファイルを焼き込む。終ったら Eject し、MacBook Air に挿しこみ、例によって Option を押しながら起動。オレンジ色の windows と表示されたディスクが出てくるので、これを選択。なぜ windows と表示されてるかというと、おそらく GUID が LinuxWindows で同じだからであろう。GUIDパーティションテーブルという Wikipedia の記事を見ると確かに同じだ。なにやってんですか Linux さん……。

さて Debian インストーラを起動。途中でネットワークインターフェイスfirmware を外部ディスクから読むか聞かれるので、例の USB メモリを挿しこんで yes を押す。こんだけで認識しちゃうのね。便利になったなあ……。

問題のパーティショニングだが、これは作っておいたパーティションをそれぞれ/とswapに指定しておくだけにする。boot flag も要らないみたいだ。あとで grub を入れるときのために、root partition に指定した partition #N の N だけ覚えておく。今回は4だったので、grub のインストール画面では /dev/sda4 を指定する。

さてインストールが終り、Option を押しながら再起動すると……見事に Macintosh HD しか見えない! さっき入れた debian どこいったの!? Window 8 は!?(涙)

ちょっと焦りつつも MacOS を起動し、SafarirEFIt をダウンロード、インストールしてみる。署名なんかはされてないので Ctrlクリックで副メニューからmpkgを開いてみた。これで回避できるのは便利なのかなんなのか……。

2回ほど再起動すると rEFIt の画面が出てくる。しかし WindowsDebian も起動しない。しかし rEFIt の画面から partitioning tool を選んで MBR と同期を取ってみると……Windows起動しない、Debian……起動した!! しかも Grub の画面から Windows 選べる! 選んだら Windows 8 起動したよおい! わー、なんつーことだ。

一度起動に成功したら、今度は refit からも起動に成功した。謎だなあ……。

よくわからんがこれで MacOS X, Windows8, Debian GNU/Linux のトリプルブート環境が完成した。さてこれからそれぞれのOSをセットアップし、物理ドライブに入ってる DebianMac/Win 両方から仮想マシンで呼び出せるようにしておこうかと思うのだが、うまくいくかなあ……。

*1:Wheezyではこのページのとおり /etc/default/console-setup ではなく /etc/default/keyboard に同様の設定を書かないとうまくいかなかった。

Sugano `Koshian' Yoshihisa(E) <koshian@foxking.org>