VirtualBox

導入

ダウンロード

Downloads – Oracle VM VirtualBox

更新履歴はChangelog – Oracle VM VirtualBoxで確認できます。

VirtualBoxのバージョンによっては、仮想マシンの起動時に[Error relaunching VirtualBox VM process: 5]のように表示され、起動に失敗することがあります。そのような場合には過去のバージョンで代替してみます。なお、この問題は4.3.14で確認されています。virtualbox.org • View topic - Discuss the 4.3.14 release

インストール

インストールする機能を選択できます。

  • VirtualBox USB Support
  • VirtualBox Networking
    • VirtualBox Bridged Networking
    • VirtualBox Host-Only Networking ※1
  • VirtualBox Python 2.x Support … APIによりVirtualBoxを制御するためのパッケージです。これを利用するには、システムにPythonがインストールされていなければなりません。
2.1. Installing on Windows hosts - Chapter 2. Installation details

※1 VirtualBox Host-Only Networkingをインストールすると、ホストOSのネットワークにVirtualBox Host-Only Networkが追加されます。これが不要ならばVirtualBoxの[環境設定]の[ネットワーク] → [ホストオンリーネットワーク]にある、[VirtualBox Host-Only Ethernet Adapter]を削除します。

アップグレード

新しいバージョンは、メニューの【ファイル → アップデートを確認】から確認できます。それが存在するならばダウンロードを促されますので、それに従います。

VirtualBoxのアップグレードは、新しいバージョンのインストーラで上書きすることで行います。このとき次項のGuest Additionsも更新されていますので、それぞれのゲストOS上でこれも再インストールすることが推奨されます。

環境設定 (Preferences)

VirtualBoxの設定は、メニューの【ファイル → 環境設定】から行えます。

デフォルトの仮想マシンフォルダー

仮想マシンのデータは、既定ではユーザーフォルダに保存されます。それがシステム ドライブなど容量の小さいドライブに設定されているとドライブの容量を圧迫する恐れがありますので、あらかじめ変更しておくのが賢明です。この変更は[環境設定]の[一般]で行えます。

ホストキー (Host Key)

ホストキーとはゲスト側からホストを操作するための特殊なキーで、VirtualBoxではショートカットの一覧などで[Host]と表記されています。これは既定では[Right Control]となっていますが、[環境設定]の[入力]の[仮想マシン]タブを開き、[ホストキーの組み合わせ]から変更できます。

Guest Additions

Guest AdditionsをゲストOSにインストールすることで、パフォーマンスや操作性を向上できます。

これをインストールするには、まずゲストOSで光学ドライブ※1を用意します。そしてVirtualBoxのメニューから【デバイス → Guest Additionsのインストール】を選択し、ゲストOSでマウントされたドライブを実行します。アップグレードもインストールと同様で、上書きすることで行えます。

インストールされているGuest Additionsのバージョンは、たとえばゲストOSがWindowsならば、通知領域のアイコンで確認できます。

※1 光学ドライブは、VirtualBoxのメニューの【仮想マシン → 設定 → ストレージ】で[光学ドライブの追加]アイコンをクリックすることで、追加できます。

機能拡張パッケージ (extension packs)

USB 3.0のサポートなど、機能を追加できます。1.5. Installing VirtualBox and extension packs - Chapter 1. First steps

これは利用しているVirtualBoxに対応するバージョンの機能拡張パッケージを、DownloadsまたはDownload_Old_Buildsからダウンロードし、環境設定の[機能拡張]でそのファイルを指定することで有効にできます。

インストール時に「The installer failed with exit code 1: VBoxExtPackHelperApp.exe: error: Membership in the Administrators group is required to perform this action.」として失敗するならば、指示通りにVirtueBoxを管理者権限で実行したうえで、環境設定からファイルを指定します。

仮想マシンの追加

すでに作成された仮想マシンがあり、それが.vboxファイルならば、メニューの【仮想マシン → 追加】からVirtualBoxへ追加できます。

仮想アプライアンスのインポート

追加するのが.ovaファイル (Open Virtualization Format : OVF) ならば、メニューの【ファイル → 仮想アプライアンスのインポート】からインポートします。1.14. Importing and exporting virtual machines - Chapter 1. First steps

仮想マシンの作成

新しい仮想マシンは、メニューの【仮想マシン → 新規】から作成できます。

ハードドライブのファイルタイプ

5.2. Disk image files (VDI, VMDK, VHD, HDD) - Chapter 5. Virtual storage

形式   用途
VDI (VirtualBox Disk Image) VirtualBoxの既定
VHD (Virtual Hard Disk) Windows向け
VMDK (Virtual Machine Disk) VMwareなど、他の仮想化ツール向け
HDD (Parallels Hard Disk)  
QCOW (QEMU Copy-On-Write)  
QED (QEMU enhanced disk)  

ドライブの追加

固定サイズでドライブを作成した場合、容量が不足することがあります。そのときは設定の[ストレージ]から新しいドライブを割り当て、たとえばUbuntuならばそれをディスクでマウントすることで容量を確保できます。

ドライブを割り当て後「Failed to open image 'C:\sample.vhd' for writing due to wrong permissions (VERR_VD_IMAGE_READ_ONLY).」としてゲストOSの起動に失敗するときには、そのドライブが他のアプリケーションで利用されていないか確認します。たとえばVHD形式ならばディスクの管理ツールを開き、そこでマウントされているならば[VHDの切断]でそれを解除します。

スナップショット

ドライブ追加後にスナップショットを作成すると、その仮想ドライブのコピーがスナップショットのフォルダに作成され、以後それが用いられることになります。

ゲストOSのインストール

メニューの【仮想マシン → 設定】を開き、[ストレージ]で空のドライブを選択します。そして[属性]の項目の右にあるディスクのアイコンをクリックし、[仮想光学ディスクファイルを選択]でOSが格納されているISOファイルなどを指定します。そしてメニューの【仮想マシン → 起動】を実行すると、OSがインストールされます。

USBからの起動

ISOファイルや光学ドライブからは、それを[ストレージ]で指定することで起動できますが、USBドライブからの起動には少し手間がかかります。How to Boot from a USB Drive in VirtualBox - Make Tech Easier

仮想マシンの設定

たいていの設定は、ゲストOSの状態が[電源オフ]となっていないと変更できません。

共有フォルダ (Shared folders)

メニューの【デバイス → 共有フォルダー設定】から、共有フォルダの設定をできます。ここで指定する共有フォルダは、ホスト側でも共有を有効にしておかなければなりません。

フォルダを共有することがホストとゲスト間でのファイルのやりとりが目的ならば、ホストとゲスト間でのドラッグ&ドロップを有効化することでも代替できます。

共有フォルダやドラッグ&ドロップが期待どおりに機能しない場合には、USBメモリなどのUSBデバイスを介してファイルをコピーする方法もあります。その場合はメニューの【デバイス → USB デバイス】から、[Generic Mass Storage Device]を選択します。

OSごとのファイルの共有方法

グローバル設定データ (Global configuration data)

VirtualBox管理下のすべての仮想マシンの設定は、既定で%HOMEPATH%\.VirtualBox\VirtualBox.xmlにあります。本来このファイルを直接編集すべきではありませんが、VirtualBox上では問題を解決できない場合、このファイルの修正によって解決できることがあります。

ディスプレイ (Display)

アクセラレーション

2Dビデオアクセラレーションは、ゲストのWindowsに対してのみ有効です。

オーディオ (Audio)

  • Intel HD オーディオ (Intel HD Audio)
  • ICH AC97
  • SoundBlaster 16

ネットワーク (Networking)

ネットワークモード
モード  
未割り当て
(Not attached)
 
NAT NATで接続。IPアドレスはVMによって割り当て
NATネットワーク
(NAT Network)
上記のNATと同様だが、仮想マシン間でも接続可能
ブリッジアダプター
(Bridged networking)
物理的なネットワーク アダプタを介して通信。IPアドレスは外部のDHCPで割り当て 6.5. Bridged networking - Chapter 6. Virtual networking
内部ネットワーク
(Internal networking)
ブリッジアダプタと同様だが、接続できるのが仮想マシン間に限定される 6.6. Internal networking - Chapter 6. Virtual networking
ホストオンリーアダプター
(Host-only networking)
ブリッジアダプタと同様だが、接続できるのが仮想マシン間とホスト間に限定される6.7. Host-only networking - Chapter 6. Virtual networking
汎用ドライバー
(Generic networking)
 
ネットワーク構成の変更 - 仮想PCで学ぶ「体当たり」Windowsシステム管理:第10回 Oracle VM VirtualBoxを使う(後) (2/3) - @IT ネットワークアダプタの種類 - 仮想化ソフトウェア VirtualBox の使い方

NAT (Network Address Translation)

ポートフォワーディング (port forwarding)

ホストOSへのアクセス

ホストOSのlocalhostへは10.0.2.2、またはホスト側に割り当てられたIPアドレスからアクセスできます。Addressing localhost from a virtualbox virtual machine - Stack Overflow

このときホスト側では、localhost以外のホスト名でアクセスされることを意識する必要があります。

デバイス

USBデバイス

  • USB 1.1 (OHCI) コントローラー
  • USB 2.0 (EHCI) コントローラー
  • USB 3.0 (xHCI) コントローラー

仮想マシンへの割り当ての失敗

USB デバイス"xx"の仮想マシン"yy"への割り当てに失敗しました。

VERR_PDM_NO_USB_PORTS
Failed to create a proxy device for the USB device. (Error: VERR_PDM_NO_USB_PORTS).

終了コード : E_FAIL (0x80004005)
コンポーネント: ConsoleWrap

USB 3.0で接続しているならば、USB 2.0のポートへ接続します。または機能拡張パッケージを導入したうえで、仮想マシンの設定の[USB]でUSBコントローラーを[USB 3.0 (xHCI) コントローラー]に切り替えます。#15050 (Can not connect USB Stick to VM) – Oracle VM VirtualBox

busy with a previous request
USB device 'xx' with UUID {**} is busy with a previous request. Please try again later.

終了コード : E_INVALIDARG (0x80070057)
コンポーネント: HostUSBDevice

以前に接続していた元のポートへ、接続し直します。

スナップショット (Snapshots)

仮想マシンの現在の環境は、スナップショットで簡単に保存できます。

VirtualBoxで管理されているスナップショットは、仮想メディアマネージャーで一覧できます。

スナップショットの削除

スナップショットの削除に失敗し、そのエラーの詳細で「Hard disk '***' has more than one child hard disk.」と表示されるならば、仮想メディアマネージャーでそのハードディスクを確認します。

クローン (Cloning)

スナップショットでは差分のみが保存されますが、クローンでは完全なコピーが作成されます。

クローンの失敗

複製した結果デバイスのUUIDが同一となるとき、クローンに失敗します。

仮想マシン xx のクローンに失敗しました。

Cannot register the DVD image 'yy' {**} because a CD/DVD image 'zz' with UUID {**} already exists.

終了コード : E_INVALIDARG (0x80070057)
コンポーネント: VirtualBox
インターフェース: IVirtualBox {fafa4e17-1ee2-4905-a10e-fe7c18bf5554}

この問題は、デバイスへアクセスできなくなっているときに発生することがあります。それは仮想メディアマネージャーで確認でき、そこで警告が表示されているならば、そのデバイスが原因です。

仮想メディアマネージャー (Virtual Media Manager)

VirtualBoxで使用されているハードディスク、光学ディスクそしてフロッピーディスクを管理できます。これはメニューの【ファイル → 仮想メディアマネージャー】から起動できます。

警告が表示されている項目は、その項目にマウスポインタを合わせることでツールチップでその原因を確認できます。

仮想ハードディスクの除去

[ハードディスク]タブで対象のハードディスクを選択し、[除去]をクリックします。このボタンが押せなくなっているならば、先に[解放]で割り当てから解放します。[解放]も押せないならば、ウィンドウ下部の[割り当て]を確認し、仮想マシンの設定の[ストレージ]で割り当てを解除します。もしスナップショットで割り当てられているならば、そのスナップショットを削除します。

ストレージの削除

すべてのスナップショットを削除しようとすると、ストレージの削除の確認を求められます。

ハードディスク"C:\sample.vdi"のストレージ装置を削除しますか?[削除]を選択すると、指定されたストレージ装置は永久に削除されます。この操作は元に戻せません[保持]を選択すると、ハードディスクはリストから取り除かれますが、ストレージ装置は後でリストに再度追加できるように、そのまま置かれます。」

ストレージを削除するには、そのストレージが仮想マシンから割り当てを解除されている必要があります。

コマンドラインからの操作

たとえば、

VBoxManage startvm "Windows XP"

とすると、[Windows XP]と名付けられた仮想マシンをコマンドラインから起動できます。8.1. Introduction - Chapter 8. VBoxManage

VBoxManage startvm <uuid|vmname> [gui|sdl|headless|separate]
8.12. VBoxManage startvm - Chapter 8. VBoxManage

仮想マシンをUUIDから指定する場合は、

VBoxManage list vms

とすることで、そのIDを確認できます。

その他

メッセージの非表示

ゲストOSの上部に表示されるメッセージは、それをクリックして[次回からこのメッセージを表示しない]をチェックし、そして右上の×印をクリックすることで、以降非表示にすることができます。

メッセージの再表示

非表示に指定したメッセージは、メニューの【ヘルプ → すべての警告をリセット】を選択することで、再度表示することができます。

ビデオキャプチャー (Video Capture)

ゲストOSのスクリーンを、WebM形式の動画で保存できます。これはメニューの【デバイス → ビデオキャプチャー】から記録を開始できます。そしてファイルは、メニューの【仮想マシン → 設定】の[ディスプレイ]の[ビデオキャプチャー]のファイルパスで指定されている場所に保存されます。

トラブル対処法

仮想マシンを起動できない

仮想マシン"***"のセッションを開けませんでした。

Parent UUID {00000000-0000-0000-0000-000000000000}

Parent UUID {00000000-0000-0000-0000-000000000000} of the medium 'C:\***\Snapshots\{aaa…}.vhd' does not match UUID {bbb…} of its parent medium stored in the media registry ('C:\***\.VirtualBox\VirtualBox.xml').」として仮想マシンの起動に失敗するときは、{aaa…}のParent UUIDを{bbb…}に設定します。Virtual machine does not boot after snapshot. EFail (0x80004005)Michls Tech Blog

まず問題の仮想ドライブのParent UUIDが、{000…}となっていることを確認します。

C:\>VBoxManage internalcommands dumphdinfo "C:\***\Snapshots\{aaa…}.vhd"
--- Dumping VD Disk, Images=1
Dumping VD image "C:\***\Snapshots\{aaa…}.vhd" (Backend=VHD)
Header: Geometry ***
Header: uuidCreation={aaa…}
Header: uuidParent={00000000-0000-0000-0000-000000000000}

確認できたならば、その仮想ドライブのParent UUIDを{bbb…}に設定します。

C:\>VBoxManage internalcommands sethdparentuuid "C:\***\Snapshots\{aaa…}.vhd" {bbb…}
UUID changed to: bbb…

VERR_SSM_UNSUPPORTED_DATA_UNIT_VERSION

Unsupported version *** of data unit '***' (instance #0, pass 0xffffffff) (VERR_SSM_UNSUPPORTED_DATA_UNIT_VERSION).」として仮想マシンの起動に失敗するときには、中断された状態のスナップショットからの復元を断念し、停止されている状態のものから再起動させます。

仮想ドライブにアクセスできない

VirtualBoxによって管理されている仮想ドライブのファイルを移動させたりすると、VirtualBoxの起動時にその確認を促されます。

一つ以上の仮想ハードディスク、CD/DVDまたはフロッピーメディアのに現在アクセスできません。アクセス可能になるまでこれらのメディアを使用する仮想マシンを操作できません。[確認]ボタンをクリックして仮想メディアマネージャーを起動し、どのメディアにアクセスできないのか確認してください。または[無視]ボタンをクリックして、このメッセージを無視してください。

メッセージに従い[確認]をクリックすると、仮想メディアマネージャーが起動します。そこで警告のアイコン付きで表示されるのが、問題のファイルです。