VagrantのベースBOXから作ったUbuntuデスクトップ環境のGuest Addtionsを再インストールする手順

本記事では、VagrantのベースBOXから作成したVirtualBoxのUbuntuデスクトップ環境にインストールされているGuest Additionsを再インストールする方法を書きます。

<<お知らせ(2022/09/17)>>
本記事の内容は Ubuntu 18.04 LTS 日本語デスクトップ環境をもとに書いています。
もう少し汎用的な手順で書き直した記事
をアップしましたので、よろしかったら参照してください。


【目次】

[1]はじめに

VirtualBoxのGuest Additionsは、共有フォルダ、時刻同期、マウスポインタの統合、クリップボード共有、画面リサイズ等々、ホストOSとゲストOSを密に統合して使いやすくしてくれる機能を提供してくれます。

VagrantのベースBOXから作成したVirtualBoxの仮想マシンには、このGuest Additionsが予めインストールされていると思います。(VagrantのVirtualBox版ベースBOXの要件として、VirtualBox Guest Additionsのインストールが必要となっています。)

しかし、ゲストOSをバージョンアップしたり、ホスト側のVirtualBoxをバージョンアップした場合など、再インストールが必要な場合もあります。

あるいは、Guest Additionsが提供する機能(例えば画面リサイズや共有フォルダなど)がうまく動作しない場合などに、再インストールして試してみたい場合もあるかと思います。(特に、ソフトウェアのアップデートを行ったときなど)

ところで、Vagrantには、ホストのGuest AdditionsをゲストOSに自動的にインストールしてくれるプラグインがあります。

このプラグインについては、ネット上にも多くの情報、ノウハウが公開されていますのでここでは割愛します。
プラグインを利用すると便利な場合が多いと思いますが、例えば、余分な依存関係を増やしたくないとか、オーバースペックな場合もあると思います。

そこで、本記事では手動でインストールする手順について書きます。

なお本記事は、
で作成した仮想マシンで動作確認していますので、以下ではVagrantのベースBOXから構築したUbuntuのデスクトップ環境で手順を説明します。


[2]インストール手順

VirtualBoxのGuest Additionsは、「VBoxGuestAdditions.iso」というCD-ROMイメージで提供されています。(このファイルは、VirtualBoxがインストールされているディレクトリにあります。)

インストール方法は、このCD-ROMを挿入してプログラムを実行するだけなのですが、インストールに必要なパッケージが揃っていないとインストールに失敗します。(実行結果のメッセージを見ても、成功したのか失敗したのかが分かりにくいです。)

このため、インストールに必要なパッケージを揃えてからインストーラーを実行する必要があります。また、CD-ROMイメージ(VBoxGuestAdditions.iso)の準備手順はいろいろと考えられますので、以下の手順は例として考えて頂ければと思います。

(1)光学ドライブの確認

「VBoxGuestAdditions.iso」はCD-ROMイメージですので、仮想マシンに光学ドライブがないと利用できません。
そこで、Oracle VM VirtualBoxマネージャーを起動して、仮想マシンの「設定/ストレージ」のコントローラー IDE Controllerの項目を確認します。

VirutalBox/設定/ストレージ/コントローラー IDE Controller

コントローラー IDE Controllerの下に光学ドライブがあれば以下の手順は不要です。
もし、上図のように、コントローラー IDE Controllerの下に何もない(光学ドライブがない)場合は、以下の手順に従って、光学ドライブを追加します。

①仮想マシンのシャットダウン

仮想化マシンが実行中の場合は、仮想マシンをシャットダウン(vagrant haltコマンドを実行)します。

②仮想マシンに光学ドライブを追加

Oracle VM VirtualBoxマネージャーを起動して、仮想マシンの「設定/ストレージ」のコントローラー IDE Controllerの右にある「光学ドライブの追加」ボタンをクリックします。

VirutalBox/設定/ストレージで光学ドライブの追加ボタンをクリック

「光学ディスク選択」画面が表示されたら、右下の「空のままにする」ボタンをクリックします。

VirutalBox/設定 光学ディスク選択画面で「空のままにする」を選択

下図のように、コントローラー IDE Controllerの下に、「空」が追加されます。

VirutalBox/設定/ストレージ/コントローラー IDE Controllerの下に「空」が追加された状態

これで、仮想マシンに光学ドライブが追加されましたので、「VBoxGuestAdditions.iso」を利用する準備が整いました。

③仮想マシンを起動

設定画面を閉じて、仮想マシンを起動(vagrant upコマンドを実行)します。


(2)インストールに必要なパッケージのインストール

Guest Additionsのインストールに必要なパッケージ(Linuxカーネルヘッダーと基本的な開発ツール)をインストールします。

Ubuntuの場合、ターミナルを開いて以下のコマンドを実行します。
sudo apt-get update
sudo apt-get install linux-headers-$(uname -r) build-essential dkms

(3)Guest Additionsをインストールして再起動

仮想マシンのデバイスメニューを開いて「Guest Additions CD イメージの挿入...」をクリックします。

VirtualBox デバイスメニューの「Guest Additions CD イメージの挿入...」を選択

以下のようなメッセージが表示されたら、「実行する」をクリックして、インストールを行います。
(下図はUbuntu 18.04 LTSの表示ですが、Ubuntu 20.04 LTSでも同様のメッセージが表示されますので、「実行」をクリックします。)

自動的に起動するソフトウェアが含まれています。実行しますか?で「実行する」を選択

実行すると、認証を聞いてきますので、パスワードを入れて継続します。
すると、ターミナル画面が表示されて、以下のように進みます。
Verifying archive integrity... All good.
(途中省略)
VirtualBox Guest Additions: Running kernel modules will not be replaced until 
the system is restarted
Press Return to close this window...

処理が終了すると、メッセージにある通りカーネルモジュールを置き換えるために、仮想マシンを再起動(vagrant reload)します。
以上でインストール完了です。

(補足)光学ドライブを除去または空にしておきたいとき

最初の手順で空の光学ドライブを追加した場合、元の状態(光学ドライブがない状態)に戻しておきたい場合は、以下の手順で光学ドライブを除去できます。また、光学ドライブを除去するのではなく、空の状態にしておくこともできます。

①光学ドライブを除去する手順

まず、仮想マシンが実行中の場合はシャットダウン(vagrant haltコマンド)します。

次に、Oracle VM VirtualBoxマネージャーを起動して、仮想マシンの「設定/ストレージ」のコントローラー IDE Controllerの項目を確認すると、「VBoxGuestAdditions.iso」が表示されていると思います。これを右クリックすると「割り当てを除去」メニューが表示されますので、これをクリックします。

VirutalBox/設定/ストレージ/コントローラー IDE ControllerのCDイメージを選択して「割り当てを除去」をクリック


すると、確認メッセージが表示されますので、「除去」をクリックします。

VirutalBox 光学ドライブを削除しますか?


以上で光学ドライブの除去が完了しました。

②光学ドライブを空する手順

仮想マシンを実行中の場合は、仮想マシンのウィンドウの「デバイス」メニューをクリックすると「光学ドライブ」があると思います。ここをクリックするとサブメニューが開き、一番下に「仮想ドライブからディスクを除去」という項目がありますので、これをクリックします。これで、光学ドライブが空になります。

もう一つの方法は、仮想マシンをシャットダウンして、①の「光学ドライブを除去する手順」を実行します。続いて最初の手続きと同様に空の光学ドライブを追加します。

コメント

このブログの人気の投稿

VirtualBoxのスナップショット機能

Google Document AIで画像から表形式データを抽出する(Vision API OCRとの違い)

オントロジーエディタ Protégé を使ってみる