VirtualboxのWindows10仮想マシンをデータを引き継いでWindows11にアップグレードする

October 21, 2022

emulatormacOSVirtualboxWindows11

目次

はじめに

virtualbox6.xまではTPM2.0等の要件が満たされていなかったので、Windows11をインストールするには、ここに挙げたようなトリッキーな方法が必要でした。(この方法でインストールした、なんちゃってWindows11をTPM2.0等の要件を満たしたWindows11に更新する方法も本稿で解説します。

Windows11インストール要件を満たしたvirtualbox7.0がリリースされて、晴れて正規の方法でWindows11をインストールすることができるようになりました。

そこで、本稿ではvirtualbox7.0を使用し、Windows11をインストールする手順をまとめました。virtualbox7.0になってWindows11の新規インストールは超簡単になりましたが、virtualbox6.xで動いていた既存のWindows10仮想マシンをvirtualbox7.0のWindows11にデータを生かして更新するのは、それなりに複雑な手順になります。

本稿がWindows11アップグレードの一助になれば幸いです。

virtualbox7.0

以下のサイトからインストーラをダウンロードし、インストールします。

https://www.virtualbox.org/wiki/Downloads
Download VirtualBox

Windows11の新規インストール

Windows11の新規インストールは、Windows11インストーラーのISOイメージをあらかじめダウンロードしておけば、超簡単です。

以下は設定の一例です。設定方法はvirtualbox6.xとは若干変わっていますが直ぐわかると思います。

windows11_clean_install1.png

windows11_clean_install2.png

windows11_clean_install3.png

以上の設定で「開始」をクリックするとインストールを開始しますが、その前に念のため設定を確認しておきましょう。

設定>システム>マザーボード

windows11_clean_install4.png

  • TPMが「v2.0」になっていること
  • 「EFIを有効」にチェックが入っていること
  • 「Enable Secure Boot」にチェックが入っていること

が確認できると思います。「開始」をクリックするとインストールが始まり、

windows11_clean_install5.png

ここから数分で何の操作指示もなしにここまで行っちゃいます。

windows11_clean_install6.png

たったこれだけ。超簡単。

Windows10(TPMなし)をデータを引き継いでWindows11(TPM2.0)に更新

これまでvirtualbox6.xで利用していたWindows10 vmを、データを引き継いでvirtualbox7.0のWindows11に更新してみます。「データを引き継いで」というのが重要。

まずは現状確認。virtualbox7.xを起動し、Windows10 vmの設定を確認します。

設定>システム>マザーボード

Windows10_vm.png

筆者の場合、

  • TPM: なし
  • EFIを有効化:チェックなし
  • Enable Secure Boot:チェックなし

となっていました。つまり、Windows11インストール要件を満たしていない!

vmを起動し、Windows10の [設定]>[Windows Update]でも確認

windows10_update.png

そこで、以下の手順でWindows11アップグレードを進めます。ただし、これを実行する前にvmはバックアップしておきましょう。手順を少しでも間違えるとvmが起動しなくなってしまいますから。

(1) Windows10を最新の22H2版にアップグレード

(2) Windows10仮想ディスクをMBRディスクからGPTディスクに変換する

(3) TPM2.0とSecure Bootを有効にする

(4) Windows11アップグレード

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

以下、順にみていきます。

Windows10を最新の22H2版にアップグレード

まずはWindows10を最新の22H2版にアップグレードしましょう。古いWindows10では以降の手順がうまくいかない可能性があります。筆者の例ではWindows10 21H2版ではうまくいきませんでした。

Microsoftのサイトにアクセス

https://www.microsoft.com/ja-jp/software-download/windows10%E3%80%80
Windows 10 のダウンロード

「今すぐアップデート」をクリックし、Windows10を更新します。

Windows10仮想ディスクをMBRディスクからGPTディスクに変換

Secure Bootを有効にするためには、GPTディスクである必要があります。筆者のWindows10 vmは、

  • EFIを有効化:チェックなし

だったので、このvmはMBRディスクということになります。念のため、Windows10を起動し「ディスクの管理」で現状確認してみます。「ここに入力して検索」欄に「ディスクの管理」と入力し、「ディスクの管理」アプリを起動。

disk_mng1.png

ディスク0を選択し、右クリックで「プロパティ」を表示、「ボリューム」タブを見ると、

disk_mng2.png

パーティションのスタイルが、マスターブートレコード(MBR)となっていたら、GPTディスクに変換する必要があります。以下がその手順です。

(1)「Windowsロゴ」を右クリックし、「設定」をクリック

(2) 「更新とセキュリティ」をクリック

(3) 左メニューの「回復」を選択し、「PCの起動をカスタマイズする」から「今すぐ再起動」をクリック

recoverly_option1.png

(4) 「オプションの選択」から「トラブルシューティング」を選択

recoverly_option2.png

(5) トラブルシューティング」から「詳細オプション」を選択

recoverly_option3.png

(6)「詳細オプション」から「コマンドプロンプト」を選択

recoverly_option4.png

再起動後アカウントとパスワードを入力します。

(7) 現状確認

コマンドプロンプトから以下のコマンドを入力

mbr2gpt /validate

recoverly_option5.png

Validation completed successfully となればOK。

(8) GPTに変換

コマンドプロンプトから以下のコマンドを入力

mbr2gpt /convert

recoverly_option6.png

Conversion completed successfully となればOK。

(9) コマンドプロンプトウィンドウを閉じて、「PCの電源を切る」を選択

(10) virtualvox7.xでvmの設定変更

設定>システム>マザーボード

「EFIを有効化」にチェックを入れる

efi_enabled.png

(11) vm起動

「ディスクの管理」でGPTになっていることを確認

「ここに入力して検索」欄に「ディスクの管理」と入力し、「ディスクの管理」アプリを起動。

disk_mng3.png

ディスク0を選択し、右クリックで「プロパティ」を表示、「ボリューム」タブを見る、

disk_mng4.png

パーティションのスタイルが、GUIDパーティションテーブル(GTP)に変わった。これでOK。一旦シャットダウンする。

TPM2.0とSecure Bootを有効にする

GPTディスクに変換できたら、次はTPM2.0とSecure Bootを有効にしします。

(1) Virtualbox7.x vmの設定

設定>システム>マザーボード

uprade_settings.png

  • TPMを「v2.0」にする
  • 「Enable Secure Boot」にチェックを入れる
  • 「Resrt Keys to Default」をクリック

Virtualbox7.xのWindows10 vmを起動し、

[設定] > [更新とセキュリティ] > [Windows セキュリティ]
[Windowsセキュリティを開く]をクリック

[デバイス セキュリティ] > [セキュリティ プロセッサ] > [セキュリティ プロセッサの詳細]

device_security.png

[セキュリティ プロセッサの詳細]

device_security2.png

[セキュリティ プロセッサのトラブルシューティング] >[TPMのクリア]

device_security3.png

[クリアして再起動]

これでvmでTMP2.0とSecure Bootが使用可能になり、Windows11インストール要件が満たされました。

再起動後に、[設定]>[Windows Update]で確認

windows_update_result.png

ここで「このPCでWindows11を実行できます」ではなく、ハードウェア要件を確認する旨のメッセージが出るかもしれませんが、それでも大丈夫です。Windows11アップグレードに進んでください。

Windows11アップグレード

MicrosoftのWindows11ダウンロードページを開く

https://www.microsoft.com/ja-jp/software-download/windows11
Windows 11 をダウンロードする

windows11_download.png

[今すぐダウンロード] をクリックし、Windows 11 インストール アシスタントWindows11InstalationAssistant.exeをダウンロードし起動

upgrade_install1.png

[同意してインストール]

upgrade_install2.png

あとは待つだけ。

無事Windows11にアップグレードできました。

windows11upgraded.png

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

ここまでくると、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(TPMなし)をデータを引き継いでWindows11(TPM2.0)に更新

ここに挙げたようなトリッキーな方法で、TPM2.0等のWindowss11インストール要件が満たされていなvirtualbox6.xで無理矢理Windows11をインストールした場合、そもそもWindowss11インストール要件を満たしていないので、1年に一度のWindows11の大型アップデートが容易にできません。インストール アシスタント(Windows11InstalationAssistant.exe)で弾かれてしまいます。

なんちゃってWindows11(TPMなし)が動いているvmでも、前節に挙げた方法でインストール要件を満たしてあげればインストール アシスタントにより大型アップデートを適用できるようになります。

具体的な手順は前節と重複するので、詳細は前節を参照していただくとして、おおよその手順は次のようになります。

(1) なんちゃってWindows11仮想ディスクをMBRディスクからGPTディスクに変換する

(2) virtualbox7.xで なんちゃってWindows11 vm のTPM2.0とSecure Bootを有効にする

(3) Windows11大型アップデートを適用

実行前にvmのバックアップをお忘れなく!

まとめ

Virtualbox6.xのWindows10仮想マシンをデータを引き継いでVirtualbox7.xのWindows11にアップグレードする方法を紹介しました。


Written by questions6768 who lives in Uji, Kyoto.