VirtualBox バージョン 5.2 のコマンドライン操作
このページでは,Windows における VirtualBox バージョン 5.2 のコマンドライン操作方法を解説する.GUI を使わずにリモート操作や自動化を行いたい場合に有用である.操作には VBoxManage コマンドを用いる.
注意: VirtualBox 5.2 はサポートが終了したバージョンである(2025年7月にサポート終了,2026年6月時点でセキュリティ更新は提供されていない).新規に学ぶ場合は VirtualBox 7 系の利用を検討するとよい.本ページのコマンドの多くは新しいバージョンでもそのまま使用できる.
目次
【関連する外部ページ】
VirtualBox の公式サイト: https://www.virtualbox.org/
前提条件
VBoxManage コマンドを使うには,VirtualBox のインストールディレクトリにパスが通っている必要がある(パスが通っているとは,コマンド名だけで実行できる状態を指す).Windows の場合,このディレクトリは通常「C:\Program Files\Oracle\VirtualBox」である.パスが通っていない場合は,環境変数 PATH に追加するか,フルパスでコマンドを実行する.
情報の取得
以下に Windows での操作例を示す.
- VirtualBox バージョンの取得
インストールされている VirtualBox のバージョンを表示する.
VBoxManage -v
- 仮想マシンの一覧取得
仮想マシンの名称と UUID(仮想マシンを一意に識別する識別子)を表示する.次の例では,仮想マシンをまだ作成していないため,何も表示されない.
VBoxManage list vms
- 仮想ストレージ一覧の取得
仮想ハードディスクの UUID,ParentUUID(スナップショットの親ディスクを示す識別子),フォーマット,場所,状態,タイプ,使用状況を表示する.次の例では,仮想ストレージをまだ作成していないため,何も表示されない.
VBoxManage list hdds
- 仮想 DVD ドライブ一覧の取得
仮想 DVD ドライブの UUID,フォーマット,場所,状態,タイプ,使用状況を表示する.次の例では,仮想 DVD ドライブをまだ作成していないため,何も表示されない.
VBoxManage list dvds
- OS タイプ一覧の取得
仮想マシン作成時に指定できる OS タイプの一覧を表示する.後述の modifyvm コマンドの --ostype オプションに指定する値を,ここで確認できる.
VBoxManage list ostypes
- ブリッジインターフェース一覧の取得
ブリッジ接続で使用できるホストのネットワークアダプタ一覧を表示する.名称,GUID,DHCP 設定,IP アドレス,ネットワークマスク,IPv6 アドレス,IPv6 ネットワークマスクプレフィックス長,MAC アドレス,メディアタイプ,状態,VBox ネットワーク名が含まれる.
表示される値は,ホストのハードウェアと設定により異なる.
VBoxManage list bridgedifs
- ホストオンリーインターフェース一覧の取得
ホストオンリーネットワーク(ホストと仮想マシンの間でのみ通信できるネットワーク)のインターフェース一覧を表示する.名称,GUID,DHCP 設定,IP アドレス,ネットワークマスク,IPv6 アドレス,IPv6 ネットワークマスクプレフィックス長,MAC アドレス,メディアタイプ,状態,VBox ネットワーク名が含まれる.
表示される値は,ホストのハードウェアと設定により異なる.
VBoxManage list hostonlyifs
- DHCP サーバ一覧の取得
VirtualBox が管理する DHCP サーバの設定を表示する.ネットワーク名,IP アドレス,ネットワークマスク,割当開始 IP アドレス,割当終了 IP アドレス,有効・無効状態が含まれる.
表示される値は,ホストのハードウェアと設定により異なる.
VBoxManage list dhcpservers
- ホスト情報の取得
ホストマシンのハードウェア情報を表示する.ホスト時刻,オンラインプロセッサ数,総プロセッサ数,プロセッサ詳細,メモリサイズ,利用可能メモリ,オペレーティングシステム,OS バージョンが含まれる.
表示される値は,ホストのハードウェアと設定により異なる.
VBoxManage list hostinfo
- ホスト CPUID の取得
ホスト CPU の CPUID 情報(CPU の機能フラグ)を表示する.仮想マシンの CPU 設定をカスタマイズする際の参考になる.
表示される値は,ホストのハードウェアと設定により異なる.
VBoxManage list hostcpuids
- システム属性の取得
VirtualBox 全体の設定値と制限値を表示する.既定の仮想マシンフォルダ,最大ゲスト RAM サイズなどが含まれる.
表示される値は,ホストのハードウェアと設定により異なる.
VBoxManage list systemproperties
仮想マシンの操作
この章では,仮想マシンの作成から起動,スナップショット,複製までの一連の操作を扱う.以下に,これから実行するコマンドの全体像を示す.各コマンドの詳細は後続の節で説明する.
【ここで実行するコマンド例】
VBoxManage createvm --name ubuntu1804
VBoxManage registervm /home/kaneko/VirtualBox\ VMs/ubuntu1804/ubuntu1804.vbox
VBoxManage modifyvm ubuntu1804 --ostype Ubuntu_64 --memory 8000 --acpi on --hwvirtex on --nestedpaging on --largepages on --vtxvpid on --accelerate3d on --accelerate2dvideo on --nic1 bridged --bridgeadapter1 enp0s31f6 --usb on --usbehci off
rm -f /home/ubuntu1804.vdi
VBoxManage createhd --filename /home/ubuntu1804.vdi --size 80000
VBoxManage storagectl ubuntu1804 --name ubuntu1804sata1 --add sata --bootable on
VBoxManage storageattach ubuntu1804 --storagectl ubuntu1804sata1 --port 1 --type hdd --medium /home/ubuntu1804.vdi
VBoxManage storageattach ubuntu1804 --storagectl ubuntu1804sata1 --port 2 --type dvddrive --medium /home/www/computer/linux/ubuntu-18.04.1-desktop-amd64.iso
VBoxManage startvm ubuntu1804
【関連する外部ページ】 http://www.virtualbox.org/manual/ch08.html#vboxmanage-list
仮想マシンの作成と登録
- XML 仮想マシン定義ファイルの生成
仮想マシンの設定を保持する XML ファイルを生成する.createvm コマンドは,既定では XML ファイルを生成するだけで VirtualBox には登録しない.そのため,次の項目の registervm コマンドで登録する必要がある.
- マシン名: ubuntu1804
VBoxManage createvm --name ubuntu1804
- XML 仮想マシン定義ファイルの登録
生成した定義ファイルを VirtualBox に登録する.登録すると,list vms コマンドの一覧に表示されるようになる.
VBoxManage registervm /home/kaneko/VirtualBox\ VMs/ubuntu1804/ubuntu1804.vbox VBoxManage list vms
仮想マシンの設定
- 登録済み仮想マシンのプロパティ設定
仮想マシンのハードウェア構成を設定する.主なオプションは次のとおりである.
--acpi: 電源管理機能(ACPI)を有効にする.ゲスト OS の正常なシャットダウンに必要である.
--hwvirtex: Intel VT-x または AMD-V によるハードウェア仮想化支援を有効にする.処理速度の向上に寄与する.
--nestedpaging: ネステッドページング(メモリ仮想化を高速化する機能)を有効にする.
--vtxvpid: VT-x VPID を有効にする.仮想マシン切り替え時のオーバーヘッド(切り替えに伴う余分な処理)を減らす.
- マシン名: ubuntu1804
- OS タイプ: Ubuntu_64
- 割当メインメモリサイズ: 8000(メガバイト)
- ネットワークインターフェース: ブリッジ接続(bridged),enp0s31f6
enp0s31f6 という名前は「VBoxManage list bridgedifs」で確認できる.
◆ NAT 接続の設定例
NAT 接続では,仮想マシンはホストの IP アドレスを共有してインターネットにアクセスする.外部から仮想マシンへ直接接続することはできない.
VBoxManage modifyvm ubuntu1804 --ostype Ubuntu_64 --memory 8000 --acpi on --hwvirtex on --nestedpaging on --largepages on --vtxvpid on --accelerate3d on --accelerate2dvideo on --nic1 nat --usb on --usbehci off◆ ブリッジ接続の設定例
ブリッジ接続では,仮想マシンがホストと同じネットワークに直接参加する.仮想マシンに独自の IP アドレスが割り当てられ,外部からの接続も可能になる.
VBoxManage modifyvm ubuntu1804 --ostype Ubuntu_64 --memory 8000 --acpi on --hwvirtex on --nestedpaging on --largepages on --vtxvpid on --accelerate3d on --accelerate2dvideo on --nic1 bridged --bridgeadapter1 enp0s31f6 --usb on --usbehci off
ストレージの設定
- 仮想ハードディスクイメージファイルの作成
仮想マシンのハードディスクとして使う VDI ファイルを作成する.
- イメージファイル名: /home/ubuntu1804.vdi
- イメージファイルサイズ: 80000(メガバイト)
VBoxManage createhd --filename /home/ubuntu1804.vdi --size 80000
- SATA ストレージコントローラの作成
仮想マシンにストレージコントローラを追加する.ハードディスクや DVD ドライブを接続するために必要である.
- 仮想マシン名: ubuntu1804
- ストレージコントローラ名: ubuntu1804sata1
- システムバス種類: sata
VBoxManage storagectl ubuntu1804 --name ubuntu1804sata1 --add sata --bootable on
- 仮想ハードディスクと仮想 DVD ドライブの割り当て
作成したストレージコントローラに,仮想ハードディスクと仮想 DVD ドライブを接続する.ポート番号は重複しないように設定する.
仮想ハードディスクの割り当て設定を次に示す.
- 仮想マシン名: ubuntu1804
- ストレージコントローラ名: ubuntu1804sata1
- ポート番号: 1
- タイプ: hdd
- イメージファイル名: /home/ubuntu1804.vdi
VBoxManage storageattach ubuntu1804 --storagectl ubuntu1804sata1 --port 1 --type hdd --medium /home/ubuntu1804.vdi
仮想 DVD ドライブの割り当て設定を次に示す.
- 仮想マシン名: ubuntu1804
- ストレージコントローラ名: ubuntu1804sata1
- ポート番号: 2
- タイプ: dvddrive
- ISO イメージファイル名: /home/www/computer/linux/ubuntu-18.04.1-desktop-amd64.iso
VBoxManage storageattach ubuntu1804 --storagectl ubuntu1804sata1 --port 2 --type dvddrive --medium /home/www/computer/linux/ubuntu-18.04.1-desktop-amd64.iso
仮想マシンの起動と確認
- VirtualBox GUI を使用した起動前の確認
コマンドラインで起動する前に,GUI で設定内容を確認するとよい.GUI ではエラー時のメッセージを確認しやすく,設定変更も簡単に行えるためである.
virtualbox
- 仮想マシンの起動
電源断(Powered off)または保存状態(Saved state)の仮想マシンを起動する.
VBoxManage startvm ubuntu1804
- 起動状態の確認
VirtualBox で表示が「実行中」に変わることを確認する.
Ubuntu が起動し,デスクトップ画面が表示されることを確認する.
スナップショットと複製
- スナップショットの作成
スナップショットは,仮想マシンのある時点の状態を保存する機能である.設定変更やソフトウェアのインストール前に作成しておくと,問題が起きたときに以前の状態へ戻せる.
作成時はデータの整合性を保つため,仮想マシンを一時停止(pause)してから実行し,完了後に再開(resume)する.
VBoxManage controlvm ubuntu1804 pause VBoxManage snapshot ubuntu1804 take ubuntu1804-snap1 VBoxManage controlvm ubuntu1804 resume - 仮想マシンの複製
既存の仮想マシンを複製して,同じ構成の仮想マシンを作成する.テンプレートとして使う場合や,テスト環境を用意する場合に有用である.
複製は,仮想マシンの電源を切った状態で次のコマンドを実行する.
注意: clonevm コマンドは,既定で複製先に新しい UUID と MAC アドレスを割り当てる.そのため,元の仮想マシンと複製を同一ネットワーク上で同時に起動しても,MAC アドレスの競合は発生しない.
VBoxManage clonevm ubuntu1804 --mode machine --name ubuntu1804-new1 --register