LoginSignup
1
0

More than 1 year has passed since last update.

VirtualBox Extension Pack をコマンドライン (CLI) からインストール&アップデートする

Posted at

VirtualBox を使用するときによく使うアドオン VirtualBox Extension Pack ですが、このアドオンの追加インストール面倒じゃないですか?
また、バージョンアップ時によく忘れていたりしませんか?

EULA は毎回同意していますので、これもコマンドラインからまとめてインストールさせてほしいものです。

実は VBoxManage コマンドに Extension Pack をインストールするコマンドがあります。
今回はこれを利用してコマンドからインストール&アップデートを行います。

前提条件

ざっくり2つです。

1. VirtualBox がインストール済みである

これは Scoop なり、Chocolatey なり、winget なりでコマンドラインからインストールしましょう。

おすすめは Scoop でのインストールです。

PowerShell
scoop add bucket nonportable
scoop install virtualbox-np

VirtualBox 本体のコマンドラインからのインストール方法はすでに確立されていますので、解説は他に任せます。
また、BIOS で VT-x が有効になっているかなどの初歩的トラップの解説も他に任せます。
今回の本質とはかけ離れますので。

2. VBoxManage にパスが通っている

VBoxManage -v と入力して、バージョン情報が返ってくれば OK です。
エラーの場合は、VirtualBox インストールフォルダに移動して作業してみてください。
デフォルトでは下記パスに移動すれば、パスが通っていなくても OK です。

PowerShell
cd "C:\Program Files\Oracle\VirtualBox"
VBoxManage -v

Scoop で VirtualBox をインストールしていれば、パスは自動で設定してくれます。
Scoop 最高!

コマンド

下記7行です。一気にコピペして実行できます。
途中、ユーザーアカウント制御が表示されますのでご注意ください。

PowerShell
$ver = VBoxManage -v
$ver = $ver.Remove( $ver.IndexOf("r") )
Invoke-WebRequest -Uri "https://download.virtualbox.org/virtualbox/${ver}/Oracle_VM_VirtualBox_Extension_Pack-${ver}.vbox-extpack" -OutFile Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack -UseBasicParsing
echo y | VBoxManage extpack install --replace Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack
rm Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack
VBoxManage extpack cleanup
Remove-Variable ver

ざっくり解説すると、ver という変数に現在の VirtualBox のバージョンを取得させ、それに対応した Extension Pack をダウンロードしてインストール(アップデート)させているだけです。

感想

実は scoop でインストールできる virtualbox-with-extension-pack-np だと、Extension Pack も合わせてインストールしてくれるのですが、この Extension Pack が古いバージョンのものがインストールされることが多いです。
いちいち Issue だすのもめんどくさいし、出したところで手動でアップデートしなきゃいけないし、ということで応用が効く手段を構築しておきたかったのでした。

ま、Docker 使う機会の方が多くなってきているんですけどね。。。

参考

公式ドキュメントより
Oracle VM VirtualBox User Manual
Chapter 8. VBoxManage
8.41. VBoxManage extpack
https://www.virtualbox.org/manual/ch08.html#vboxmanage-extpack

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0