VirtualBox で Windows いれた

IE での表示確認をするためだけにマシンを立ち上げ直すのもめんどうになってきたので、いま流行りの(?)仮想環境にチャレンジしてみることにしました。ディスクもあまってるし、メモリにも余裕があるし‥。

Windows XP を起動中の図。「このウィンドウの中だけ別のOS!」というのは、なかなか痛快な気分です。

Windows XP を起動中の図

さっそく Multiple IE と IE Developer Toolbar をインストールしてスタイルをチェック中の図。ウィンドウを最大にしてワークスペースを別にしてみました。クリックひとつでOS切り替え!みたいな感覚。いいですねえ。

Multiple IE 実行中の図

こういう仮想環境ってあまり使ったことがなかったのでちょっと半信半疑だったのですが、操作にストレスを感じることもなく、ちゃんと動くのにはびっくりしました。すごいですね‥。

以下、導入にあたって気づいたことなどメモしておきます。

インストール

emerge 中にライセンスへの同意を求められるので、仕掛けて寝ると翌朝起きたときにがっくりしますよ。

# emerge -pv app-emulation/virtualbox-bin
[ebuild  N    ] app-emulation/virtualbox-modules-1.4.0
[ebuild  N    ] media-libs/libmng-1.0.9-r1
[ebuild  N    ] x11-libs/qt-3.3.8-r3  USE="gif mysql opengl"
[ebuild  N    ] app-emulation/virtualbox-bin-1.4.0-r1  USE="additions"

Qt か! しかもバージョン3か! というのはともかく、ソース版のパッケージはなんと Segmentation fault でビルドが通らなかったので、バイナリ版のパッケージを入れました。

additions フラグをつけておくと、Guest additions なるものがいっしょに入ります。これを使うとホスト・ゲスト間の共有フォルダが作れたりするので、つけておいたほうがいいでしょう。

起動するまで

ちゃんと起動するまでにはいろいろやることがありました。

lrwxrwxrwx 1 root root      /usr/bin/virtualbox -> /opt/VirtualBox/wrapper.sh*
-rwxr-x--- 1 root vboxusers /opt/VirtualBox/wrapper.sh*

起動コマンドはこんな感じになっているので、vboxusers グループのひとでないと起動できないんですね。
また、/dev/cdrom に書き込み権限がないと、ドライブを認識してくれませんでした。

lrwxrwxrwx 1 root root      3 Sep  2  2007 cdrom -> sr0
brw-rw---- 1 root cdrom 11, 0 Sep  2  2007 sr0

というわけで cdrom グループにも追加しておきます。

# gpasswd -a sakana vboxusers
# gpasswd -a sakana cdrom

さらに、vboxdrv というモジュールを読みこんでおく必要があります。

# modprobe vboxdrv

これは毎回実行するのもめんどうなので、/etc/modules.autoload.d/kernel-2.6 に書いておきます。

ちなみにこのモジュールは、app-emulation/virtualbox-modules パッケージで提供されるものです。したがって、カーネルのバージョンを変えるたびにこのパッケージを emerge しなおさないといけません。

共有フォルダを作る

仮想マシンの作りかたなどは vine_user さんの記事がとても参考になりました。ありがとうございます。ここでは先に進んで、共有フォルダを作ります。

無事ゲストOSが起動できたら、Guest additions をインストールしておきます。そして仮想マシンをいったん終了させてから、

$ vboxmanage sharedfolder add [仮想マシン名] -name [共有フォルダ名] -hostpath [ホストOS上の共有フォルダへのパス]

と実行。そしたら仮想マシンを起動させて、コマンドプロンプトから

> net use v: \\vboxsvr\[共有フォルダ名]

とすると共有フォルダが V:ドライブに割り当てられます。ネットワークドライブとして使うんですね。

これでホスト・ゲスト間でファイルのやりとりができるようになるのですが、そのファイルをいちいち共有フォルダにコピーするのもめんどうです。そこで試しに共有フォルダに

$ ln -s / root

とシンボリックリンクを作ってみると‥

ゲストOSからファイルシステムを見る

見れた‥! (´Д`;)

セキュリティとか大丈夫なんでしょうか‥。でも便利なのは便利ですね。

ホストOSのIPアドレス

DHCP を使う設定で ipconfig すると、こんなふうでした。

IP Address. . . . . . . . : 10.0.2.15
Subnet Mask . . . . . . . : 255.255.255.0
Default Gateway . . . . . : 10.0.2.2
DHCP Server . . . . . . . : 10.0.2.2
DNS Servers . . . . . . . : 10.0.2.3

起動するたびに変わるわけでもないようです。ここからホストOSで動いてる Apache につなぐのってどうしたらいいんだろう、と思ったら

http://10.0.2.2/

でいけました。んー、なるほど。

仮想マシンを直接起動する

いちど仮想マシンの設定が完了してしまうと、いちいち管理画面から起動するのもめんどうです。(めんどうばっかりですね‥)

$ vboxmanage startvm [仮想マシン名] -type gui

と実行すると、仮想マシンを直接起動することができます。これをランチャーなどに設定しておけばボタンひとつで起動できて便利です。


いやあ、それにしても技術の進歩ってすばらしいですね。デュアルブートとか死語になるんじゃないかって思っちゃうくらいです。VirtualBox を選んだ理由は特にないのですが(ほかのもよく知らないし)、しばらく使ってみようと思います。

いただいたトラックバック

  1. From: WebOS Goodies さん - 2007/9/9 13:09

    今週の話題 : LaTeX を HTML に変換する JavaScript ライブラリなど

    今週から新しい仕事が入ってしまいまして、また通常記事を 1 本しか投稿できませんでした・・・orz 。しばらくは不安定な投稿ペースになってしまいますが(いままでもじゅう » 全文を見に行く

いただいたコメント

  1. From: 歩行者 さん - 2007/9/9 13:24

    こんにちは、歩行者です。
    今回も「今週の話題」でリンクさせていただきました。
    VirtualBox 、けっこうちゃんと動くんですね・・・。
    ファイル共有までできるとは、VMware いらないかも(笑)。
    また面白い Gentoo 情報を楽しみにしています(^^)

  2. From: さかな - 2007/9/9 22:04

    歩行者さん、いつもありがとうございます!
    VMware はちょっとだけさわったことがあるくらいなので比較はできないんですけど、VirtualBox、かなりいいです。正直こんなにちゃんと動くとは予想してなかったです。(っていうのも失礼ですね‥)

    「今週の話題」にもちょっと慣れてきたことだし(w、次の目標は歩行者さんが Linux デスクトップへの移行を決意できること、かしら。がんばります!

よろしければコメントをどうぞ...

(お持ちでしたら)