カテゴリー「VirtualBox」の10件の記事

【VirtualBox】 WindowsXP on VirtualBox 4.1.10 on Mac OS X Lion

久しぶりのVirtualBoxネタ。それも初のMacOSネタです。
実は自宅にはソフト開発のための色々な環境を揃えています。
LinuxをメインにWindows XP、そしてMac OSです。
Macは主にiOSやMac OSアプリの開発に使うのですが、最近結構使い慣れてきてメールとかも見れるようにしました。(元々メールはIMAPなので、どのクライアントから見ても実体は一つ)

で、そろそろ次の段階。
今までWindowsはubuntu上で動作しているVirtualBoxの上で動かしていました。
こうするとWindows起動のためにubuntuも起動する必要があります。
中で扱ってるデータは、ほぼクラウド化しているので必要なのはクライアント環境のみ。
そこでMac OSにもVirtualBoxをインストールして、そこでWindowsXPを動かす事に。
VirtualBox Diskイメージを共有化しようとも思ったのですが、ライセンスの懸念とかもあったので別途インストールしました。

WindowsXPなんて古いOS使っているものだから、Service Packやらパッチやらでインストールも大変です。

20120331_100841


【VirtualBox】 ゲストOSがフリーズする。

我が家ではubuntu上で動作するVirtualBox(4.1.8)でWindowsXPを使用しているのですが、最近なんかやけにフリーズする現象が発生してました。ゲストOSを再インストールしようかと、新しい仮想ディスクを作ってインストール作業をしている最中にもフリーズ。これはディスクやゲストOS側の問題ではないと思い、VirtualBoxのバージョンを上げたり下げたり。

しか〜し、全く状況が改善せず。

発生する問題は以下の通り。

  • WindowsXP(ゲストOS)を起動してしばらくすると(数分〜数十分位)完全にフリーズ。
  • ホスト側のマウスカーソルは動くけど、ボタンを押してもゲスト側は反応せず。
  • ゲストOS側の時計の秒針も停止。
  • Windowsキーでスタートメニューを表示できず。
  • VirtualBoxからALT+CTRL+DELを送るも反応せず。
  • VirtualBoxから仮想マシンの電源断を試みるも反応なし。
  • そもそもOracle VM VirtualBox マネージャーがフリーズし、ホスト側でも操作VirtualBoxの操作ができない。

結局、コンソールから

killall VirtualBox

としてプロセスを強制終了していたのですが、これで終了した場合はホスト側リソースの一部が開放されないようで(恐らくVT-xだと思いますが)、再度VirutalBoxを立ち上げてもゲストOSが起動しません。そんな事を何度も繰り返しているとホスト側の負荷が上がって全く操作ができなくなる始末。

ホスト側のリソースを食いつぶした結果、ホストOS側も動けなくなったという事なのでしょう。VirtualBoxのプロセスを強制終了した場合は必ずホスト側OSの再起動を行う事をお薦めします。

さて、原因が全くわからず困り果てていたのですが、あるとき top コマンドでプロセスのCPU負荷をモニターしていたら powernapd がCPUコア0を専有している時がある事に気づきました。powernapはクラスタ構築時などにアイドルノードのパワーマネージメントを行ったり、WOLをサポートしたりするためのパッケージですが、どうもこいつが悪さをしていそうな予感。もともとWOLのためにインストールしただけなので、パッケージを削除してみたところ、CPU負荷も下がり、安定動作するようになった気がします。まだ経過観察中ですが、同様の症状の方は試してみる価値はありそう。

sudo apt-get purge powernap powernap-common

WOLは別途、以下のように設定しました。

sudo apt-get install ethtool
sudo vi /etc/rc.local

exit 0の上に

/sbin/ethtool -s eth0 wol g

を記述。
/usr/sbin/ethtoolの場合もありますので、"which ethtool"でethtoolのパスを調べてください。

【VirtualBox】 VirtualBox 4.0.x on ubuntu 10.04 LTS インストール方法

VirtualBox 4.0.4へのアップデートを再チャレンジ中です。
とりあえずインストール方法を。VirtualBoxのサイトみりゃ分かるんやけど、いちいちパッケージをダウンロードしてくるのも面倒なので、distribution listに追加する事にした。

/etc/apt/sources.listのファイル末尾に以下の行を追加
deb http://download.virtualbox.org/virtualbox/debian lucid contrib
ubuntuのバージョンによって"lucid"の所が"hardy"やったり"maverick"やったりします。

次に

Oracleのpublic keyを追加
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

最後に Synaptic パッケージマネージャを開いて"VirtualBox"で検索すると、VirtualBox-4.0のパッケージがインストールできるようになります。

VirtualBox 4.0になったらこんなんなりました。

Screenshotoracle_vm_virtualbox

う〜ん、前回トラブったのが嘘のようにスムーズに動くなぁ。

インストール方法が違うと言っても、インストールしてるバージョンは同じやねんけどなぁ。

とりあえず、このまま様子を見ることにしよう。

【VirtualBox】 3.2.12 → 4.0.4 アップデートしたら...

普段、ubuntu上でVirtualBoxを動かして、その仮想マシンでWindows XPを使っていまする。VirtualBoxは今までバージョン3.2.12を使っていたのやけど、この度新しい 4.0.4 がリリースされました(この所、結構頻繁にアップデートするんよねぇ)

VirutalBoxダウンロードページ
http://www.virtualbox.org/wiki/Downloads

3DのサポートやらゲストOSのメモリ割り当て上限が緩和されたりと、色々更新されたんでアップデートする事にしたのやけど、さすがメジャーバージョンのアップデート、トラブっております。

更新履歴
http://www.virtualbox.org/wiki/Changelog

我が家ではubuntu 10.04 LTSを使ってるんやけど、まず最初にVirtualBox 3.2.12をアンインストールする必要があります。これはパッケージマネージャからアンインストールすればOK。その後、上記ダウンロードサイトから、「VirtualBox 4.0.4 for Linux Host」「ubuntu 10.04LTS "Lucid Lynx"」の i386版 をダウンロードしました。(Core Duo2なので)
.debファイルやから、そのままパッケージインストーラでインストールできまする。実行ファイルの位置とかも同じやから、以前のショートカットも使えるし、特に問題なし。

さて、VirtualBoxを起動すると、GUIが変更されておりました。例えば実行中のゲストOSの画面のサムネイルが表示されるようになったりと...。でもまぁ、本質ではないなぁと思ってそのままWindowsXPを起動。

ん...
にゃんか起動が遅いゾ。

あ〜、4.0.4のGuest OS Additionをインストールしてないからかな?と思って、そのまま起動を待つ。起動後に「デバイス」メニューから「Guest Additionsのインストール」を選択して、インストール開始と。Guest Additionsのインストール自体も遅いながらも無事に完了して3.2.12のAdditionsから4.0.4に更新されました。そして再起動...

ん...
にゃんか、まだ遅いゾ。

その後、何度か試してみたんやけど、どうやらバックグラウンドでシステムが何か処理を行っている様子。ゲストOSのパフォーマンスを見るとCPUの使用率が100%になってしまう。数分するとCPU使用率も下がるんやけど、Cドライブとかをエクスプローラーで開くとまた100%張り付きに。原因不明っす。多分VirtualBoxのどっかの設定やと思うんやけど、とりあえず急ぎやったので3.2.12に戻しました。手順は同じ(というか逆やね)です。

また時間ができたら調査する事にしよう。

そうそう、4.0.4のGuest Additionsで3D関連のドライバをインストールするにはWindowsをSafeモードで起動する必要があります。3.2.12まではそのままインストールできたのやけどね。という事で、Windows起動時にF8を押してセーフモードを選択してから、Guest Additionsをインストールしてくださいな。

【VirtualBox】 VirtualBoxのバージョンアップ (2.1 -> 3.1.2)

Sunのサイトに行ったらVirtualBox 3.1.2がリリースされていたので、ubuntu 8.04の環境でもアップデートしてみた。
今まで使用していた VirtualBox 2.1 をパッケージマネージャを使用して削除。

以下のSun VirtualBoxサイトから deb パッケージをダウンロード。
http://dlc.sun.com/virtualbox/vboxdownload.html

我が家の環境は ubuntu 8.04 LTS (Hardy)なので

virtualbox-3.1_3.1.2-56127_Ubuntu_hardy_i386.deb

をダウンロードして、ダブルクリック -> パッケージ・インストーラが起動するので、インストールっと。
インストール途中でvboxdrvの再コンパイルを行うウィンドウが表示されるので「進む」を選択。

これだけで、元のVirtualBoxのHDイメージから仮想マシン側のOSを起動する事ができました。

ちなみに、2.1からのアップデート情報やけど、結構色々ある。

- マルチプロセッサに対応
- USBに普通に対応(OSE版やなくても大丈夫)
- パフォーマンス向上?(した気がする)

その他、細かい設定もろもろ。

まぁ、定期的にバージョンアップするのは良い事ですわ。

Screenshotvirtualbox

【VirtualBox】共有フォルダ

久しぶりにVirtualBoxネタ。
共有フォルダの設定方法を覚書きしておこう。
VirtualBoxではホスト側(VirtualBoxを動かしているマシン)の任意のフォルダをゲスト側(VirtualBox上で動いているOS)と共有する事ができる。もちろんNetwork越しにSambaやCIFSで共有する事もできるけど、ホスト<->ゲストだけやったら共有フォルダを使うのが楽。

VirtualBox Windowの右下の↓のようなアイコンがありまする。
Virtualbox
この内、左から6番目、つまり

Virtualbox_2
このアイコンを右クリックしまする。
(ちなみに上記の図は、既に共有フォルダが設定済みの環境で、かつ共有フォルダにアクセスしている最中のスクリーンショットなので、フォルダ絵の右下に丸いアイコンが出てるけど、通常時はフォルダ絵のみなはず)

そうすると以下の共有フォルダの設定画面が出るので、そこで共有したいホスト側のフォルダと共有名を設定しまする。
ま、大抵は一時的な共有でええやろけど、起動する度に設定するのが面倒っていう事なら共有フォルダに登録してしまうのが良いかと。
Screenshot

あとはゲストOS側の設定。
共有フォルダで設定したフォルダは vboxsvr という仮想マシン名のフォルダとして見えるみたい。
という事で、ゲストがWindowsやったらExplorerでも開いて

\\vboxsvr\共有フォルダ名(上記の例だと "kan")

とすれば、見えるはず。
もちろんネットワークドライブの割り当てから設定すれば任意のドライブにマップする事も可能です。

(2009/01/03追記)

ご指摘を受けて、vboxsrv -> vboxsvr と修正しました。

その後の調査で、WindowsXP on ubuntu 8.04 環境では WindowsXP 中で vboxsvr, vboxsrv のいずれも使用できる事が分かりました。ネットワークドライブの割り当てで

\\vboxsvr\kan

\\vboxsrv\kan

のいずれでもマウントする事ができました。

環境依存の可能性がありますので、うまくいかない方は両方をお試しください。

【VirtualBox】 64bit Windows7 RC on VirtualBox 2.1.2 on ubuntu 8.04 LTS

Windows7 RCがリリースされたんで、さっそくVirtualBox2上で動かしてみました。
うん、Windows7 betaの時と同じや。
ネットワークの設定もNATを選択しておけばちゃんとつながった。
なんかホストとの間はIPv6で接続している気もするが...

とりあえず無事インストールして動作しましたという報告まで。


Screenshotwindows7rc_sun_xvm_virt_5

起動中 (起動〜ログイン画面まで: 約40〜50秒)

Screenshotwindows7rc_sun_xvm_virt_6

ログイン画面 (ログイン後〜メニュー操作できるまで: 約10秒)

Screenshotwindows7rc_sun_xvm_virt_7

デスクトップ(その他、ガジェット等)

特に見た目はWindows7 betaと違いがないっぽい。

でも、全体的にもっさり感はあるなぁ。

色々な状態遷移の遅さをアニメーションで誤魔化している感はあるね。

右下部分を拡大すると・・・↓

Screenshotwindows7rc_sun_xvm_virt_8

はい、ちゃんとWindows 7 RCです。

とりあえず、ちょっと使ってみるかな。

色々ソフト入れて互換性とか調べてみようっと。

【VirtualBox】 Windows7 beta on VirtualBox 2.1.2 on ubuntu 8.04 LTS

Windows7 β版をVirtualBox 2.1.2上で動かしてみた。
まずはマイクロソフトのβテストサイトからWindows7のDVDイメージをダウンロード。実にサイズが2.5GBもある。VirtualBoxは 2.1.2にアップデートしておかなければならない。2.1.2でWindows7をサポートしたのだよ。GuestAdditionsも2.1.2をインストールしないとおかしな事になるです。

Windows Vistaすらパスしてた僕には中々新鮮ですな。でも、やっぱり見た目に凝ってる面が強くて個人的には余り好きではないかも。まぁ、自宅PCの環境を全部Linuxにしてしまったのはそれが理由だけど・・・

スクリーンショットを貼っときます。
Screenshotwindows7beta_sun_xvm_virt

ガジェットをいくつか表示してみた所。
今の所、同じVirtualBox 2.1.2で動作しているWindows XPの方がサクサク動いて軽いです。これがWindows7による問題なのか、β版だからなのか、VirtualBoxのせいなのかは分かりまへん。

ちなみに一つだけ注意点を。
VirtualBox 2.12にWindows7をインストールした後、GuestAddtionsは必ず「デバイス」メニューから選択して2.1.2のGuestAddtionsをインストールしてください。何を間違えたか、僕はここで予めhomeに置いてあったGuestAddtions 1.5.6のディスクイメージをマウントしてインストールしてしまったのやけど、これが失敗やった。1.5.6のインストーラが「このバージョンには対応してまへん」と言ってきたので気づいてん。でも、なぜか一部インストールされてしまったらしく、2.1.2のGuestAdditionsをインストールしようとしても「Old versionがあるから先にアンインストールせい」と言ってくる。で、言われるままに1.5.6のアンインストールをしようとすると「このバージョンには対応してまへん」って・・・

Windowsではインストーラもアンインストーラも同じ実行ファイルである事が殆どなんやけど、ご丁寧にもアンインストール時にもバージョンチェックされて実行を跳ねてるらしい。ちゅーか、アンインストール位はやって欲しかった。レジストリをいじれば良いのだけど、β版なのとインストールしたばかりやったので、もう一度HDDイメージを消してWindows7を再インストールする羽目になってしもた。

今のところ、それ位かなぁ。ハマりポイントは。
常用はしないけど、もうちょっと使ってみてフィードバック入れてみますだ。

【VirtualBox】 Windows XP on VirtualBox on ubuntu with USB2.0

1/7にWindows XP on VirtualBox 2.0 on ubuntu 8.04 LTS (Hardy)の事を書いたのだけど、肝心のUSB2.0を有効にする方法を書き忘れてました・・・ ちょっとだけ面倒なんよねぇ。

  1. USBマウント用のグループ作成して自分を参加させる
  2. /etc/fstabで/proc/bus/usbをautoマウントする
  3. VirtualBoxでのフィルタ設定

要はホスト側でusb busを直接マウントして、仮想マシンにブリッジしてあげるわけですなぁ。ネットワークと同じようなものやね。

 
VirtualBox with USB2.0の設定

Screenshot
「システム」-「システム管理」-「ユーザとグループ」を起動
ロックの解除をしておく。
んで、「グループの管理」をクリック

Photo
「グループの追加」をクリック




Screenshot_2 グループIDは自動的に空いている番号が割り当てられるので、そのままで良いです。
ここではこの番号を覚えておきましょう。グループ名を適当に入力します。例えば「usbusers」とでもしておきましょうか。最後にグループのメンバから自分のユーザIDにチェックを入れて、このグループに参加するように設定します。

これで、USBを使うためのユーザを作って自分のアカウントを参加させました。
次に /etc/fstab を修正します。

sudo gedit /etc/fstab

ファイルの末尾に以下の行を追加

none /proc/bus/usb usbfs auto,devgid=(上記で作成したグループのID),devmode=664 0 0

この設定を有効にするために、ここで一旦再起動でもしましょうか。
次にVirtualBoxの設定画面を開きます。

Screenshotsun_xvm_virtualbox 多分、最初はUSBの所が「無効」になっていると思うので、USBをクリックして設定画面を開きます。で、「USBコントローラを有効化」にチェックを入れます。ついでに「USB 2.0 (ECHI)コントローラを有効化」にもチェックいれます。これでUSB 2.0をサポートできるはず。もし、High Speedデバイスで問題が起きるようであれば、このチェックボックスを外してUSB2.0を諦めましょう。

さて、下の「USBデバイスフィルタ」ですが、ここは右の「+」がついたUSBのアイコンボタンを押すことで現在接続しているUSBデバイスから、マウント時に自動的に仮想OSに見せるデバイスを指定できます。良く使うやつは登録しておくと手間がかからなくて楽っすね。

ちなみに、ここに何も登録していない時は仮想OS起動後、VirtualBox Windowの「デバイス」メニューもしくは、右下ステータスバーのUSBアイコンを右クリックする事でマウントするデバイスを選択できます。

ふぅ、駆け足やったけど、これで全部かなぁ

【VirtualBox】 Windows XP on VirtualBox on ubuntu

家のPC環境をLinuxに移行して快適PC生活なのだけど、やはり世の中はWindowsでないと成り立たない物もあるわけです。Windows版しかないアプリとか著作権保護されたコンテンツとか...。という事で仕方ないのでubuntu上にVirtualBoxをインストールしてそれでWindows XPを動かす事にしてみたわけです。
今のところWindowsでないと困る事は以下の事位かな。

  • GyaoとかDRM対応のストリーミングサイト
  • SDオーディオ(Panasonic SD-Jukebox)
  • IEでないと見れないサイト
  • PaSoRi(Edyリーダ)
  • Microsoft Money
  • TANITA InnerScan

DRM対応のストリーミングはどうしようもないですね。そもそもWindows Media Playerを前提に作られているからこればっかしは仕方がない。SDオーディオはCPRMなんで、これもやっぱり仕方がない。IEでしか見れないサイトはそんなん作るのが悪いんだが、まぁテストとか大変やろうから仕方がない。とは言え、Firefox on ubuntuでも十分なんで、それほど不満はないかな。Microsoft MoneyとTANITA InnerScanはWindows版しかないんで、これも仕方がない。当たり前だけど...

ubuntu 8.04 LTSにはVirtualBox 1.5.6 OSEのパッケージが提供されていて、Synapticパッケージ・マネージャからインストールできるのだけど、このOSE版はUSBに対応していないのです。USBに対応しているのは2.xのOSE(Open Source Edition)でないバージョンしかないので、これをインストールする必要があります。

VirtualBox 2.1 for ubuntu 8.04 LTS (Hardy)のインストール方法
(参考サイト:http://www.howtoforge.com/installing-virtualbox-2.0.0-on-ubuntu-8.04-desktop

http://www.virtualbox.org/wiki/Linux_Downloads

上記サイトでubuntu 8.04 LTS (Hardy Heron)を選択。
使用しているCPUによって正しいパッケージを選んでください。
ウチはIntel Core2 E6600なので、i386版をインストールしました。
Firefoxでアクセスすれば自動的にubuntuのインストール情報(.deb)を引っ張ってくれるので、そのまま進めればすんなりできるはず。

後は仮想マシンの設定をしていつも通りWindows XPのインストールディスクをセットして起動すればOKなんだけど、ちょっとだけコツが必要かも。
まず仮想マシンの設定は以下のような感じにしました。

OSタイプ                     Windows XP
メインメモリ                  512MB
ビデオメモリ                 32MB
起動順序                     CD/DVD-ROM、ハードディスク
ACPI                          有効
IO APIC                       無効
VT-x/AMD-V               有効
PAE/NX                       無効
3Dアクセラレーション      有効

メインメモリはWindows XPなら1GBは必要なのですが、クリーンインストールして常駐アプリも少なく上記の用途だけであれば、512MBでも問題なく動作します。そもそもVT-xを有効にしてもネイティブCore2上で動作させた時よりも遥に重くなるので、メモリがボトルネックにはならないです。一応試してはみたのですが、768MB位までは動作が軽くなった感じがしたけど、それ以上だと変わらなかったです。まぁ、仮想マシンはシングルコアで動作するんでこんなもんでしょうね。

この状態でインストールディスクをセットして仮想マシンを起動すれば良いのですが、起動後に仮想マシンウィンドウの「デバイス」からディスクをセットしたドライブをマウントするようにしましょう。そうしないと起動ディスクが見つからないとか何とか...

この後ちょっとトラブルが...
仮想マシンを起動しようとするとACCESS_DENIEDとかで起動しない。
これはどうやらvboxdrvが起動していない事とVirtualBoxを起動するユーザがvboxusersグループに参加していない事が原因らしい。vboxdrvはsysv-rc-confを使って起動可能なんだけど、そのためにはまずsysv-rc-confをSynapticパッケージ・マネージャからインストールする。その後ターミナルで

sudo sysv-rc-conf

SysV Runlevel Configでvboxdrvのサービスをrunlevel 3〜5まで起動すればOK。念のためubuntuを再起動して、後は普通にWindows XPのインストールをするだけ。
↓こーんな感じになります。
Screenshot

でも、ここでちょっと問題が発生。
ネットワークが繋がらない...

ネットワークが接続できない問題を解決
(参考サイト:http://superlinux.blog50.fc2.com/blog-entry-19.html
(参考サイト:http://blog.s21g.com/articles/942

  1. brigde-utilsをインストール
  2. /etc/network/interfacesを編集
  3. ブリッジポートを作成
  4. VirtualBoxでホストインタフェースを設定

結局やっている事は、ゲストからホストのネットワークインタフェースにつないで、それを外部ネットワークにブリッジ接続するという事ですな。VMwareとかVirtualPCだったら自動的にやってくれるのだけど、VirtualBoxの場合は自分でしなければならないからちょっと面倒。で、Linuxでのブリッジ接続の設定方法ですが、通常ネットワークポートが1ポートの場合、eth0に接続されていると思います。この状態だと、ループバックデバイス(通常lo)と外部ポート(eth0)の2種類だけが見えるのですが、今回はここにブリッジ用ポート(br0)を新規に作るわけです。で、eth0の中身はクリアしてbr0に接続してあげればホスト側はOK。ゲスト側も新しいインタフェース(上記サイトの例だとvbox0)を作って、br0に接続してあげると...。
う〜む、賢いですな。
結果、我が家の/etc/network/interfacesは以下のようになりました。

auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0

auto eth0
iface eth0 inet static
address 0.0.0.0

auto br0
iface br0 inet static
address xxx.xxx.xxx.xxx
netmask 255.255.255.0
gateway xxx.xxx.xxx.xxx
bridge_ports eth0

IPアドレスの所は伏せ字になっています。各自の環境に合わせて正しい値をいれてください。
あとハマったのは、VirtualBox 2.xはOpen Sourceではないので、VBoxAddIFスクリプトがないという事結局OSE版のパッケージから探して持ってきました。面倒だったら、一旦VirtualBox 1.56 OSEをインストールして仮想マシン用のインタフェースを作成した上でアンインストールすれば良いのではないかと思われまする。

参考サイトにも書かれているのだけど、この状態でも/dev/net/tunのパーミッションの問題で毎回エラーが出て気になる人もいるはず。そんな時はchmod 666 /dev/net/tunをサービスかセッション起動時に実行しておけば良いです。

VirtualBox 2.xならUSBのフィルタ設定をしておけば自動的にゲストOSにもマウントされるので便利です。TANITA InnerScanのUSBとか登録しときました。

ちなみに、ここまでの処置を行ってもSD-Jukeboxは正しく動作しなかったです。CPRM対応のカードリーダはやはりデバイス認証で失敗するようで、マウントできませんでした。残念!でも、それ以外は全部OK。Windowsのライセンス余らすのも勿体ないので、ちょうど良かったですな。