VirtualboxのWindows11仮想マシンに大型アップデート23H2を適用する
November 06, 2023
emulator macOS Virtualbox Windows11目次
はじめに
Windows11に大型アップデートを適用するには、マイクロソフトのサイト
https://www.microsoft.com/ja-jp/software-download/windows11
から「Windows11インストールアシスタント」Windows11InstallationAssistant.exeをダウンロードし、これを起動し、指示に従い数クリックするだけでよい。普通はこれでいけるはず。
ところが、VirtualboxのWindows11仮想マシンで試したところ、「このPCは、Windows11をインストールするための最小システム要件を満たしていません 」とのメッセージが出てアップデートを適用できなかった。
ひょっとして、VirtualboxのTPM2.0エミュレーションが効いていないのかな?と思い、Virtualboxの設定を確認。
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 をダウンロード。
仮想マシン内でダウンロードした場合は、ダウンロードしたisoファイルWin11_23H2_Japanese_x64.isoを仮想マシンの外(母艦マシン側)に出す。
Virtualbox7.xでWin11_23H2_Japanese_x64.isoをマウントする。
マウントしたらCDドライブアイコンをダブルクリックするとインストールを開始する。
追加のダウンロードもあるようだ。
インストールの準備ができた状態。
ここで「インストール(I)」をクリックするとあとは何回か再起動を繰り返しながら勝手にアップデートが進む。
アップデート後のログイン画面に到達後、ログインすると、
しばらく待って、アップデート完了。バージョンを確認してみる。
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
後始末する前
後始末した後
まとめ
Virtualbox7.xのWindows11 22H2仮想マシンに23H2大型アップデートを適用する手順をまとめました。