気の向くままに辿るIT/ICT/IoT
システム開発

VirtualBox

ホーム前へ次へ
VirtualBoxとは?

VirtualBox

VirtualBox

 VirtualBoxは、Innotekが開発したx86仮想マシンを作成可能な仮想化ソフトウェアの1つで後に同社をSun Micorsystemsが買収、Sun xVM VirtualBoxに、更にSunをOracleが買収、Oracle VM VirtualBoxとなり、オープンソース化されており、無償でダウンロードして利用できます。

 各種Windowsバージョン、各種Linux、Mac OS X、SolarisといったOSをホストOS、Windows、BSD系UNIX、Linux、Solaris、OS/2といったOSをゲストOSとすることができ、ホスト・ゲスト共にx86とx64(AMD64/Intel64)の一方、または両方に対応しています。

VirtualBoxの機能一例

 VirtualBoxの機能は、https://www.virtualbox.org/manual/にあるようにとても多彩で、そのほんの一例として以下のような機能があります。

 ユーザーインタフェースは、VirtualBoxの通常版GUI、簡易GUI(≒端末付きCUI)であるVBoxSDL、UNIX/Linux端末・エミュレータやコマンドプロンプトなどCUIから利用可能なVBoxManageコマンドを備え、他方、モニタなどのないヘッドレスLinux用VBoxHeadless、更には、別途プロジェクトとしてPHPで書かれたブラウザで利用可能なajaxによるwebインタフェースバージョンもあります。

 スナップショット機能を備え、ツリー上に履歴管理もでき、いつでも、その時の状態に仮想マシンを復元することができます。

 他の仮想マシンとの互換性もあり、VMwareなどでも使われるVMDK、Microsoftで使われるVHD、Parallels version 2のイメージファイルとして使われるHDDフォーマット、QEMUやKVM/QEMUで使われるQED/QEMU Enhanced Disk、QCOW/QEMU Copy-On-Write等々として仮想マシンを作成することも可能、各種仮想マシンのディスクイメージを相互に利用可能とするOVF/Open Virtualization Formatにも対応しています。

 仮想マシンを表示せずにホストOS上にゲストOSで起動したアプリケーションを表示するシームレスモード、ホストOSとゲストOS間でデータ交換に利用可能な共有フォルダ、一方、または相互にコピー&ペースト可能なクリップボード共有機能もあります。

 また、ゲストOSとホストOS間のアクセス方法の1つとしてホストOSのファイルシステムに関わらず、仮想ディスクファイル経由でゲストOSからホストOSのHDDへのアクセスを可能とする"raw hard disk access"/"raw disk access"(生の/元の/オリジナルのハードディスクへのアクセス)にも対応しています。

 ホストOSがx64なら仮想CPUとしてIntel VTxやAMD-Vを利用することでx86の完全仮想化ができますし、実行中にメモリ増設可能なメモリバルーニング機能、より効率的なページフュージョン機能なども利用可能です。

 更にVirtualBoxでは、別途、SDK/Software Development KitをインストールすることでプログラミングAPIを利用してVirtualBox自体を拡張することも可能となっています。

 これは、ほんの一例に過ぎませんが、おもしろそうな機能が満載です。

VirtualBoxの拡張機能パック / Extension Pack

 Oracle VM VirtualBoxは、バージョン4.0から複数のコンポーネントに分割されるようになり、基本となるVirtualBoxに別途、Extension Pack(当面は1つもVirtualBox 4.2.0から試験的に導入中でソースコードパッケージでのみ利用可能なVNCやサードパーティ含め複数提供される可能性もある拡張機能パッケージ)をインストールしたり、適用することができるようになっています。

 VirtualBox 4.0時点で唯一リリースされている初期バージョンのExtension Packをインストールすると下記のような機能がサポートされることになっています。

仮想USB 2.0(EHCI)
USB/Universal Serial Bus、EHCI/Enhanced Host Controller Interface
VRDP
VirtualBox Remote Desktop Protocol/デスクトップ遠隔操作プロトコル
Intel PXEブートROM(E1000ネットワークカード用サポート付き)
PXEブートとは、サーバ上のOSイメージを使ってクライアントからネットワークブートできる仕組み(PXE/Preboot eXecution Environment)
PCI パススルー(Linuxホストのみの実験的機能提供)
PCI/Peripheral Component Interconnectは、コンピュータのプロセッサと周辺機器との間の通信を行うための規格及び機器でこれを利用すると拡張カードを増設可能、PCI パススルーとは、ホストOSのこうしたPCI機器をゲストOSで利用できるようにする仕組み

 Extension Packは、[ファイル] > [環境設定]で表示されるポップアップ画面から、[機能拡張]を選択し、Extension Packのパスを指定することでインストール・適用でき、VirtualBoxをインストールしたフォルダ以下に自動でディレクトリ展開、利用可能にしてくれます。

 ちなみにWindowsで作業する場合には、ダウンロードしたExtension Packに圧縮ファイルを示す拡張子[.tar.gz]などがあれば、伸張・解凍ソフトで、または、ダブルクリックなどで展開することもできますが、拡張子がなく、それらの方法でうまくいかない場合でも先のメニューから適用すればOKです。

 更に仮想マシン(ゲストOS)ごとの機能拡張としてGuest Additionsもあります。

 また、仮想マシンを作成しなくても既にOSやアプリケーションを予めインストール及び検査・済みの仮想アプライアンスと呼ばれるパッケージをインストールして即実行してみることもできます。

ホーム前へ次へ