OS10.6上にVirtualBoxでWindows7を走らせる

Mac用にもリリースされている原則フリーのVMウェア、VirtualBoxを使ってWindows7を動作させ、社内LANに接続するまでの顛末を記す。

前提

社内のネットワークはほぼ100%Windowsのみで構成され、また管理のためにMACアドレスの登録を義務付けてネットワーク接続を制限している。その関係でMacを直接社内ネットワークに繋ぐわけには行かなかった。
しかしiMacにはWi-Fiポートも内蔵されているので、Wi-Fi APを用意して現在のADSLに繋ぎ、EtherをVMに明け渡すことでOSごとのネットーク切り分けが可能だろうと考えた。

VirtualBoxのインストールと初期設定

日本オラクル | Integrated Cloud Applications and Platform Servicesからディスクイメージをダウンロードし、mpkgを起動してインストールを実行するだけ。これ自体は非常に簡単。
VM自体の基本設定は 図解:Windows7 beta を VirtualBox for Mac OS X にインストールする手順(ベータに付き全部無料) | Creazy!に従った。ただしネットワーク設定に関してはブリッジアダプタでEtherを選択。

Win7のインストール

これも手順通りに進めるだけで、特段の問題はない。

Guest Additionsのインストール

デフォルトでは、ホストOS(この場合はMacOS10.6)とゲストOS(Win7)の動作はシームレスに行かない。一度VMのウィンドウをクリックしてアクティヴにすると、その仮想デスクトップ内にマウスが乗っ取られる。その外側、つまりMac側の作業を行なう時は左Commandキーを押す。
Guest Additionsを入れると、VMのウィンドウが外とシームレスに繋がる。シームレスといってもドラッグ&ドロップで直接ファイルのやり取りができたりという程ではなく、単にマウスカーソルが両方のウィンドウ上を一続きに移動する程度だが、それだけでも随分ストレスから解放される。またVGAに限定されていた画面サイズもかなり拡張される。その他、時刻の同期や自動ログイン、共有フォルダが利用可能になるらしい。ゲストとホストでのファイルのやり取りのためにも必須のインストールだ。


Windows用のVirtualBoxについての記述では「ゲストOSのウィンドウメニューからデバイス>Guest Additionsのインストールを実行」とあるがMacではそれをやっても無反応だった。英語の記事によると、どうやらExprorerを開いて仮想CDドライヴ内にあるGuest Additionsを選択実行せねばならないらしい。

ネットワークの設定

これは基本的にデフォルトのままで問題なかった。何か特殊なネットワーク構成でもない限りは心配なさそうだ。
私の場合は親会社の社内ネットワークがMACアドレスによるアクセス制限、社内プロクシによるWeb閲覧制限をかけており、またMac本体側ではWeb制作の業務上制限を受けないアクセスが必須なので別経路の外部ネットワーク側で繋ぐ必要があるという、やや特殊な事情によりWi-Fiを導入、Mac本体はWi-Fi経由で接続を設定しEtherをVirtualBox専用に残してある。
そのため設定が面倒臭いことになるかと思ったのだが、意外にもVirtualBoxMACアドレス登録のみですんなり接続完了した。

データの交換

これは目下最大の問題だった。Parallels Desktopあたりではドラッグ&ドロップやコピー&ペーストでホスト←→ゲスト間のファイル交換が容易だが、VirtualBoxにはそんな気の利いた機能はない。調べてみるとMacOS側でDisk Utilityを使ってディスクイメージを作成、Windows側でフロッピーディスクとしてマウントしてしまう方法が紹介されていたが、これだとサイズが1.44MBに制限され、また私の環境ではそもそもマウントできなかった。
が、どうやら現行ヴァージョンではUSBフラッシュメモリ経由で手軽に大容量データ交換ができるようだ。

  1. VirtualBoxの設定でUSBのフィルタを新規作成。
  2. Windows起動。
  3. USBフラッシュメモリを挿す。
    • 自動的にWindows側でUSB機器のドライヴァインストール開始。

これで、VirtualBox下のUSBメニューからUSB 2.0 FlashDiskのチェックを外すとWindowsからアンマウントされMacにマウント、Macから取り出しを実行するとWinにマウントされるようになる。USBメモリそのものは挿しっぱなしで2OS間で制御を切り替えるだけで、手軽にデータ共有が可能だ。
試してはいないが、恐らくUSBメモリだけでなくUSBハードディスクなどでも問題なく共有は可能だろう。