トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

VirtualBox

一部の情報は非常に古いもの(20年以上前〜)ですので、利用する際はご注意ください(Java 1.4 とか .NET 1.0 とか、Windows 2000 とか)
お問い合せは wiki@shise.net まで。Gmail に転送されるので、スパムは全部カットされます。


 

VirtualBox とは

VirtualBox とは仮想環境ソフト。

仮想環境とは、言うなればファミコンとかスーファミとかプレステのエミュレータみたいな事を Windows とか Linux とかも同じようにエミュレータ上で動かそうよ、という話。

その Windows とか Linux のエミュレータが VirtualBox というプログラム。
VirtualBox 以外にも VMware Player とか色々とエミュレータがある。

なお、この業界ではエミュレーターとは言わず、仮想環境だとかハイパバイザーという呼び方をする。
ハイパバイザー上で動いている OS の事をゲスト OS だとか、仮想マシンだとか Virtual Machine だとか単に VM といった呼び方をする。


VirtualBox をインストールしたマシンの、USB 3.0 に接続した USB デバイスを仮想マシンにマウントしようとすると、正常にマウントできない現象があったが、VirtualBox 4.2.18 で解消されたようだ。

ダウンロードはここ
https://www.virtualbox.org/wiki/Downloads


ライセンス

VirtualBox 単体は GPL ライセンスなので、結構自由に配れるはず。
GPL ライセンスなので、もしソースコードを書き換えたらコードを配布しないといけない。

Extension Pack はライセンスが違うので、勝手に再配布は出来ない。


小技


色々小技。

 コマンドライン


コマンドラインで VirtualBox を扱うための技。
コマンドラインは、VirtualBox をインストールしたパスにある。
普通は

C:\Program Files\Oracle\VirtualBox\

の下かな。


仮想マシンを登録する


VirtualBox の仮想マシン構成ファイル vbox を指定するといい感じに登録できる。
vbox ファイルは、ユーザプロファイルの下の .VirtualBox の下にあった気がする。

VBoxManage registervm "filepath.vbox"


フルスクリーンで仮想マシンを起動する。


普通に VBoxManage コマンドを叩い VM を起動してもフルスクリーンに出来ないけど、VirtualBox コマンドを直接叩くと全画面表示でいきなり立ち上げれる。

VirtualBox.exe --startvm --fullscreen "VM NAME"


あらゆる通知メッセージを非表示にする。


VirtualBox を初めて使おうとすると、色々と親切にメッセージが表示される。
しかし、VirtualBox である事を意識せずに特定ユーザーに使って貰いたいこともある。

普通は、次から表示しない にチェックを入れて無効化してもらうけど、その手間が面倒くさい場合は、以下のコマンドを何らかの形で打ち込む。
そうすると、ありとあらゆるメッセージを非表示にしてくれるので、楽ちん。
再度メッセージを表示したい場合は、VirtualBox を普通に起動して、ヘルプの下にメッセージを再度表示するみたいな内容のメニューがあるのでソレを選ぶ。

VBoxManage setextradata global 
"GUI/SuppressMessages" 
"remindAboutAutoCapture,remindAboutMouseIntegrationOn,showRuntimeError.warning.HostAudioNotResponding,
remindAboutGoingSeamless,remindAboutInputCapture,remindAboutGoingFullscreen,remindAboutMouseIntegrationOff,
confirmGoingSeamless,confirmInputCapture,remindAboutPausedVMInput,confirmVMReset,
confirmGoingFullscreen,remindAboutWrongColorDepth"

なお、ここでは見やすさのために改行しているが、本来はこれを一行で打つ。


このコマンドを打つと、現在のユーザのプロファイルの下の .VirtualBox フォルダの VirtualBox.xml ファイルのファイルに、打ったコマンドの内容が記載されている。
保存場所がプロファイル配下なので、ユーザーごとに設定が必要。


仮想マシンの最大解像度を指定する。


こんな感じでコマンドを叩く

VBoxManage setextradata global "GUI/MaxGuestResolution" "1024,768"

たぶん仮想マシンの最大解像度が 1024x768 になる。

C# で、物理マシンと同じ解像度を取得してコマンドを叩くなら、

string.Format("{0},{1}", Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height));

こんな感じで画面サイズを取得するのがいいかも。
ただし、このコードはプライマリ側のディスプレイの解像度なので、デュアルディスプレイの環境とかだとどうなるか知らん。


VirtualBox の仮想マシン上で認識される BIOS 名を変える。


たまに、仮想マシン上での実行を許可してくれない製品があったりする。
そういう製品は、大抵 BIOS の名前だとか、ハードウェアの提供元の名前だとかが VirtualBox という名前かどうかを確認していているように思う。
なので、そんな都合の悪い製品を VirtualBox 上で動かすために BIOS 名とかを変更してしまって(偽装?)、無理やり起動してしまおうという作戦。


コマンドラインで以下のコマンドを入力する。

BIOS の名前

VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVendor" "BIOS Vendor"

ハードウェアの提供社名

VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVendor" "System Vendor"

ハードウェアの製品名

VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemProduct" "System Product"

一番最後の引数に、適当な名前(アルファベット)を入力する。


つか、全部ここに載ってる。

http://www.virtualbox.org/manual/ch09.html#changedmi