VirtualboxのWindows11仮想マシンに大型アップデート23H2を適用する

November 06, 2023

emulatormacOSVirtualboxWindows11

目次

はじめに

Windows11に大型アップデートを適用するには、マイクロソフトのサイト

https://www.microsoft.com/ja-jp/software-download/windows11

から「Windows11インストールアシスタント」Windows11InstallationAssistant.exeをダウンロードし、これを起動し、指示に従い数クリックするだけでよい。普通はこれでいけるはず。

windows11_update_3.png

ところが、VirtualboxのWindows11仮想マシンで試したところ、「このPCは、Windows11をインストールするための最小システム要件を満たしていません 」とのメッセージが出てアップデートを適用できなかった。

windows11_update_4.png

ひょっとして、VirtualboxのTPM2.0エミュレーションが効いていないのかな?と思い、Virtualboxの設定を確認。

windows11_update_1.png

TPM2.0は有効になっていた。はて…

試行錯誤の結果、Windows11ディスクイメージ(ISO)をダウンロードし、これでインストールするとうまくいった。本記事に備忘録としてその手順をまとめておく。

なお、この情報は2023年11月時点のものであり、今後Windows11やVirtualboxがアップデートしてインストールアシスタントで普通に大型アップデートを適用できるようになるかもしれません。

22H2仮想マシンに23H2アップデートの適用

本記事ではVirtualbox7.xでTPM2.0を有効にしてインストールしたWindows11に、大型アップデート23H2を適用する手順を記載します。

マイクロソフトのサイト

https://www.microsoft.com/ja-jp/software-download/windows11

から「Windows11ディスクイメージ(ISO)」Win11_23H2_Japanese_x64.iso をダウンロード。

windows11_update_5.png

仮想マシン内でダウンロードした場合は、ダウンロードしたisoファイルWin11_23H2_Japanese_x64.isoを仮想マシンの外(母艦マシン側)に出す。

Virtualbox7.xでWin11_23H2_Japanese_x64.isoをマウントする。

windows11_update_6.png

マウントしたらCDドライブアイコンをダブルクリックするとインストールを開始する。

windows11_update_7.png

追加のダウンロードもあるようだ。

windows11_update_8.png

インストールの準備ができた状態。

windows11_update_9.png

ここで「インストール(I)」をクリックするとあとは何回か再起動を繰り返しながら勝手にアップデートが進む。

windows11_update_10.png

アップデート後のログイン画面に到達後、ログインすると、

windows11_update_11.png

しばらく待って、アップデート完了。バージョンを確認してみる。

windows11_update_12.png

23H2アップデートはやったほうがいいと思う。個人的には7zipなどのアーカイブをエクスプローラーで直接展開できるようになったのが超便利。

肥大化した仮想ディスクの後始末

ここまでくると、Windowsのアップグレードによりvirtualboxの仮想ディスク容量が肥大化しているはずです。そこで、肥大化した仮想ディスク容量を圧縮しておきます。

VirtualBoxで仮想ディスク容量を圧縮するためには、

(1) Windows11 vmで仮想ディスクの未使用領域にゼロを書き込む
(2) VirtualBoxのツールを使って仮想ディスクのゼロ領域を圧縮

という手順になります。

マイクロソフトのサイトから、ディスクの空き領域を0で上書きするツールSDeleteをWindows11 vm上にダウンロードします。

https://learn.microsoft.com/ja-jp/sysinternals/downloads/sdelete
SDelete

Windows11 vm上のコマンドプロンプトから以下のコマンドを実行。

.\sdelete.exe -z C:

これで仮想ディスクの空き領域が0で埋め尽くされました。

Windows11 vmを終了し、ホストOSから以下のコマンドを実行

まずは圧縮すべき仮想ディスクのuuidを控えておきます。

ホストOSがmacOSの場合

$ /Applications/VirtualBox.app/Contents/MacOS/VBoxManage list hdds

ホストOSがWindowsの場合

cd 'C:\Program Files\Oracle\VirtualBox\'
.\VBoxManage.exe list hdds

こんなかんじの結果が表示されます。UUIDを控えておいて。

UUID:           ff02493c-a2d1-4fd0-9af6-a58da7f181e8
Parent UUID:    base
State:          locked write
Type:           normal (base)
Location:       C:\VirtualBox\Windows\Windows10\Windows10.vdi
Storage format: VDI
Capacity:       256000 MBytes
Encryption:     disabled

次に控えたUUIDを指定して仮想ディスクの圧縮

ホストOSがmacOSの場合

$ /Applications/VirtualBox.app/Contents/MacOS/VBoxManage modifyhd ff02493c-a2d1-4fd0-9af6-a58da7f181e8 --compact

ホストOSがWindowsの場合

cd 'C:\Program Files\Oracle\VirtualBox\'
.\VBoxManage.exe modifyhd ff02493c-a2d1-4fd0-9af6-a58da7f181e8 --compact

後始末する前

windows11_update_13.png

後始末した後

windows11_update_14.png

まとめ

Virtualbox7.xのWindows11 22H2仮想マシンに23H2大型アップデートを適用する手順をまとめました。


Written by questions6768 who lives in Uji, Kyoto.