仮想化ソフトウェアパッケージ「Oracle VM VirtualBox」でWindows10をホストOSとし、UbuntuをゲストOSとして動作させた場合、ウィンドウサイズを変更しても画面表示がウィンドウに追従してリサイズされないという問題に当たりました。
環境
今回使用した構成は以下の通り
- ホストOS:Windows10 Pro
- ゲストOS:Ubuntu Desktop 20.04
- 仮想化ソフトウェア:Oracle VM VirtualBox 6.1
対処方法
環境によっては、方法1だけでウィンドウサイズに応じてリサイズされることもあります。それでもリサイズされない場合、方法2に進んでください。
方法1:Guest Additionsの読み込み
- VirtualBoxのゲストOSを開く
- 「デバイス」→「Guest Additions CDイメージの挿入…」

「Guest Additions CDイメージの挿入」を読み込むというのは、どうもVirtualBoxのデバイスドライバをダウンロード/インストールしているようなものらしいです。
補足:VirtualBoxエラー
上記でGuest Additionが読み込まれず以下のようなエラーが表示されることがあります。

「仮想化光学ディスクC:¥Program Files¥Oracle¥VirtualBox¥VBoxGuestAdditions.isoをマシン○○に挿入できません。」というようなエラーは、ファイルが該当フォルダに存在しているが、対処方法が分からない。ということらしいのでフォルダに少し手動で変更を加える必要があります。
手順1:
1.ゲストOS(ここではUbuntu)の電源をOFF
2.VirtualBoxマネージャー上で変更を加えたい仮想マシンを選択
3.「設定」→「ストレージ」

4.コントローラーIDEを選択→「光学ドライブの追加」アイコン

5.「Not Attached」にある「VBoxGuestAdditions.iso」クリック→「選択」
これで「VBoxGuestAdditions.iso」が一旦追加されるが、このままでは同じエラーが発生する。そこで次のような手順を踏む
手順2:
1.ゲストOS(Ubuntu等)の起動
2.ゲストOSが起動している状態でコントローラーIDEに追加された「VBoxGuestAdditions.iso」を選択
3.属性欄にあるディスクアイコンを選択→「仮想ドライブからディスクを除去」

4.もう一度「Guest Additions CDイメージの挿入…」を行う
この手順を踏むことで、エラーを回避し正常にGuest Additionsを読み込むことに成功しました。
Guest Additionsをインストールできると、3Dアクセラレーションを有効化できるため、「DirectX」や「OpenGL」をサポートするビデオカードが必要なプログラムやアプリを実行できるようになります。ですが、画面のリサイズ問題に対しては注意が必要なので、今回に限り3Dアクセラレーションを有効化しないことをおすすめします。(補足あり)
方法2:Graphics Controllerの変更
上記の方法で「Guest Additions CDイメージを挿入…」を読み込んだ場合でも、画面表示がウィンドウサイズに追従してリサイズされないことがあります。
そのような場合、以下の手順を踏むことでしっかりとリサイズしてくれるようになりました。
手順:
- VirtualBoxiマネージャー上で変更を加えたい仮想マシンを選択
- 「設定」→「ディスプレイ」
- 「グラフィックスコントローラー」の項目を「VMSVGA」から「VBoxSVGA」に変更
- 「OK」

選択できるグラフィックスコントローラー
- VBoxSVGA
LinuxまたはWindows7以降で使用できるデフォルトのグラフィックコントローラー。従来のVBoxVGAと比べてパフォーマンスと3Dサポートが向上されている。
- VBoxVGA
Windows7より前のものなど、レガシーなゲストOSを使う場合こちらのグラフィックコントローラーを使用する。
- VMSVGA
LinuxをゲストOSのタイプに選択すると、デフォルトで設定される。このグラフィックコントローラを使用してVMware SVGAグラフィックデバイスをエミュレートする。VirtualBox6.0から導入された。
- Nope
グラフィックアダプタを指定しない。
※VboxSVGAを選択すると「無効な設定が見つかりました」と表示されますが、今のところ動作上は問題はありません。
補足:「無効な設定が見つかりました」
上記の「設定」→「ディスプレイ」から、アクセラレーションの項目で「3Dアクセラレーションを有効化」にチェックを入れることで「無効な設定が見つかりました」という警告は消えます。
ですが、
3Dアクセラレーションを有効にすることで仮想マシンの起動と同時にグラフィックスドライバーが「VMSVGA」に強制的に変更されるため、画面表示がウィンドウサイズに応じてリサイズされなくなります。(2021/3/14現在)
VMSVGAは新しいグラフィックコントローラーなので、今後、修正されるかもしれません。それまで以前から使われているVBoxSVGAを使用する分には、個人的に性能上も特に問題ないです。
参考:
VirtualBox6.0で画面がリサイズされない場合はGraphic Controllerを変えると直るかもしれない
「VBoxGuestAdditions.isoをマシンxxxに挿入できません。」の対処
20200422: VirtualBox 6.1.6 で Ubuntu 18.04.4 LTS が動かん
VirtualBox Mania ディスプレイ設定