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マネージャーのメニューの【ファイル → アップデートを確認】から確認できます。それが存在するならばダウンロードを促されますので、それに従います。

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

環境設定 (Preferences)

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

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

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

ホストキー (Host Key)

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

Guest Additions

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

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

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

※1 光学ドライブは設定の[ストレージ]で、[光学ドライブの追加]アイコンをクリックすることで追加できます。

機能拡張パッケージ (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を管理者権限で実行したうえで、環境設定からファイルを指定します。「終了コード : E_FAIL (0x80004005)」として失敗する場合も、管理者権限で試します。

仮想マシンの追加

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

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

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

仮想マシンの作成

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

VirtualBox 7.0以降ならば、自動インストールを用いることでGUIからも簡単に仮想マシンを作成できます。第737回 VirtualBox 7.0の新機能[Windows 11とUbuntu 22.10の自動インストール編] | gihyo.jp あわしろいくや (2022/11/02)

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

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

まずディスクの管理を起動し、USBドライブのディスク番号を確認します。それから管理者権限でコマンドプロンプトを起動し、そのドライブを指定して仮想ハードドライブを作成します。

VBoxManage internalcommands createrawvmdk -filename C:\file.vmdk -rawdisk \\.\PhysicalDriveDiskNum
9.9.1.1. Access to entire physical hard disk - Chapter 9. Advanced topics

次にメニューの【仮想マシン → 新規】から仮想マシンを作成し、先に作成した仮想ハードドライブを割り当てます。そのとき「Permission problem accessing the file for the medium 'C:\file.vmdk' (VERR_ACCESS_DENIED).」としてディスクイメージを開けないときには、VirtualBoxを管理者権限で起動し、作成し直します。

仮想マシンの設定

VirtualBoxマネージャーのメニューの【仮想マシン → 設定】から、選択されている仮想マシンの設定を確認、変更できます。

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

共有フォルダ (Shared folders)

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

ここでの設定を再起動後も維持するならば、設定時に[永続化する]をチェックします。

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

共有フォルダの代替

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

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

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

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

ディスプレイ (Display)

ビデオメモリー

128MB以上を割り当てるには、ディスプレイ数を増加させます。割り当て後、ディスプレイ数は元の数に戻せます。

グラフィックスコントローラー

  • VBoxSVGA … ゲストがLinuxやWindows 7以降での既定。Guest Additionsが必要
  • VBoxVGA … ゲストがWindows 7より前で使用する
  • VMSVGA … VMware SVGA graphic deviceをエミュレートするときに使用する。Guest Additionsが必要

VMSVGAではゲストOSの画面が自動でリサイズされないときには、VBoxVGAなどに変更してみます。

アクセラレーション

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

オーディオ (Audio)

  • Intel HD オーディオ (Intel HD Audio controller)
  • ICH AC97 (Intel AC'97 controller)
  • SoundBlaster 16 (SoundBlaster 16 card)

ネットワーク (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デバイスが正しく認識されないときには、仮想マシンの設定の[USB]にあるUSBコントローラーの設定を確認します。

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

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

以前に接続していた元のポートへ、接続し直します。またはホストOSを再起動します。

スナップショット (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で使用されているハードディスク、光学ディスクそしてフロッピーディスクを管理できます。これはVirtualBoxマネージャーのメニューの【ファイル → 仮想メディアマネージャー】から起動できます。

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

ツールチップで「Could not open the medium '***'」として警告が表示され、場所でパスが誤っているならば、それを用いている仮想マシンの.vboxファイルの<MediaRegistry>要素を修正することで改善できます。

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

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

ストレージの削除

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

ハードディスク"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の上部に表示されるメッセージは、それをクリックして[次回からこのメッセージを表示しない]をチェックし、そして右上の×印をクリックすることで、以降非表示にすることができます。

メッセージの再表示

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

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

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

トラブル対処法

一時的にブートするデバイスを変更するには、起動時にF12を押します。8.8.1. General settings - Chapter 8. VBoxManage

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

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

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).」として仮想マシンの起動に失敗するときには、中断された状態 (オンライン) のスナップショットからの復元を断念し、停止されている状態 (オフライン) のものから再起動させます。

VERR_SSM_LOADED_TOO_MUCH

Failed to load unit 'vga' (VERR_SSM_LOADED_TOO_MUCH)」として仮想マシンの起動に失敗するときには、電源オフの状態 (オフライン) のスナップショットに復元してから起動を試みるか、起動する状態の環境で電源オフの状態にしてから新しい環境へ移行します。#16350 (VERR_SSM_LOADED_TOO_MUCH when restoring snapshot) – Oracle VM VirtualBox

VERR_SSM_LOAD_CPUID_MISMATCH

*** is not supported by the host but has already exposed to the guest」。電源オフの状態 (オフライン) で起動させます。この問題はスナップショットが保存の状態 (オンライン) であるとき、ホストのシステム変更や異なるホストへデータを移行したときに発生します。

The virtual machine has terminated unexpectedly during startup with exit code 1

The virtual machine '***' has terminated unexpectedly during startup with exit code 1 (0x1). More details may be available in 'C:\***\Logs\VBoxHardening.log'.

OSの更新後に問題が発生するようになったならば、VirtualBoxをアップグレードしてみます。windows - virtualbox.org • View topic - [Solved] Virtual machine not starting

BLKCACHE_IOERR

The I/O cache encountered an error while updating data in medium "ahci-0-0" (rc=VERR_ACCESS_DENIED). Make sure there is enough free space on the disk and that the disk is working properly. Operation can be resumed afterwards.

設定の[ストレージ]で、[ホストのI/O キャッシュを使う]を有効にします。

No bootable medium found! System halted.

FATAL: No bootable medium found! System halted.

仮想マシンの設定の[システム]の[マザーボード]にある、[EFIを有効化]をチェックしてみます。

VbglR3InitUser failed: VERR_ACCESS_DENIED

 

The VM session was aborted.

  • もう一度、起動を試みる
  • 起動を断念し、以前のスナップショットに復元する
  • VirtualBoxをアップグレードする

動作が遅い

プロセッサー数やメインメモリーやビデオメモリーに、実行に必要な十分なリソースが割り当てられているか確認します。

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

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

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

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

VirtualBoxのクラッシュ

0x**************** の命令が 0x**************** のメモリを参照しました。メモリが read になることはできませんでした。

0x**************** の命令が 0x**************** のメモリを参照しました。メモリが written になることはできませんでした。

ゲストOSのクラッシュ

  1. メニューの【仮想マシン → リセット】を実行
  2. メニューの【仮想マシン → ACPI シャットダウン】を実行
  3. メニューの【ファイル → 閉じる】(アプリケーションの終了と同じ) から、[現在のスナップショットに復元]をチェックしない状態で、[仮想マシンの電源オフ]を実行
複数のダウンロードサイトから、まとめて検索