VirtualboxのWindows10仮想マシンをデータを引き継いでWindows11にアップグレードする
October 21, 2022
emulator macOS Virtualbox Windows11目次
はじめに
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とは若干変わっていますが直ぐわかると思います。
以上の設定で「開始」をクリックするとインストールを開始しますが、その前に念のため設定を確認しておきましょう。
設定>システム>マザーボード
- TPMが「v2.0」になっていること
- 「EFIを有効」にチェックが入っていること
- 「Enable Secure Boot」にチェックが入っていること
が確認できると思います。「開始」をクリックするとインストールが始まり、
ここから数分で何の操作指示もなしにここまで行っちゃいます。
たったこれだけ。超簡単。
Windows10(TPMなし)をデータを引き継いでWindows11(TPM2.0)に更新
これまでvirtualbox6.xで利用していたWindows10 vmを、データを引き継いでvirtualbox7.0のWindows11に更新してみます。「データを引き継いで」というのが重要。
まずは現状確認。virtualbox7.xを起動し、Windows10 vmの設定を確認します。
設定>システム>マザーボード
筆者の場合、
- TPM: なし
- EFIを有効化:チェックなし
- Enable Secure Boot:チェックなし
となっていました。つまり、Windows11インストール要件を満たしていない!
vmを起動し、Windows10の [設定]>[Windows Update]でも確認
そこで、以下の手順で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を起動し「ディスクの管理」で現状確認してみます。「ここに入力して検索」欄に「ディスクの管理」と入力し、「ディスクの管理」アプリを起動。
ディスク0を選択し、右クリックで「プロパティ」を表示、「ボリューム」タブを見ると、
パーティションのスタイルが、マスターブートレコード(MBR)となっていたら、GPTディスクに変換する必要があります。以下がその手順です。
(1)「Windowsロゴ」を右クリックし、「設定」をクリック
(2) 「更新とセキュリティ」をクリック
(3) 左メニューの「回復」を選択し、「PCの起動をカスタマイズする」から「今すぐ再起動」をクリック
(4) 「オプションの選択」から「トラブルシューティング」を選択
(5) トラブルシューティング」から「詳細オプション」を選択
(6)「詳細オプション」から「コマンドプロンプト」を選択
再起動後アカウントとパスワードを入力します。
(7) 現状確認
コマンドプロンプトから以下のコマンドを入力
mbr2gpt /validate
Validation completed successfully となればOK。
(8) GPTに変換
コマンドプロンプトから以下のコマンドを入力
mbr2gpt /convert
Conversion completed successfully となればOK。
(9) コマンドプロンプトウィンドウを閉じて、「PCの電源を切る」を選択
(10) virtualvox7.xでvmの設定変更
設定>システム>マザーボード
「EFIを有効化」にチェックを入れる
(11) vm起動
「ディスクの管理」でGPTになっていることを確認
「ここに入力して検索」欄に「ディスクの管理」と入力し、「ディスクの管理」アプリを起動。
ディスク0を選択し、右クリックで「プロパティ」を表示、「ボリューム」タブを見る、
パーティションのスタイルが、GUIDパーティションテーブル(GTP)に変わった。これでOK。一旦シャットダウンする。
TPM2.0とSecure Bootを有効にする
GPTディスクに変換できたら、次はTPM2.0とSecure Bootを有効にしします。
(1) Virtualbox7.x vmの設定
設定>システム>マザーボード
- TPMを「v2.0」にする
- 「Enable Secure Boot」にチェックを入れる
- 「Resrt Keys to Default」をクリック
Virtualbox7.xのWindows10 vmを起動し、
[設定] > [更新とセキュリティ] > [Windows セキュリティ]
[Windowsセキュリティを開く]をクリック
[デバイス セキュリティ] > [セキュリティ プロセッサ] > [セキュリティ プロセッサの詳細]
[セキュリティ プロセッサの詳細]
[セキュリティ プロセッサのトラブルシューティング] >[TPMのクリア]
[クリアして再起動]
これでvmでTMP2.0とSecure Bootが使用可能になり、Windows11インストール要件が満たされました。
再起動後に、[設定]>[Windows Update]で確認
ここで「このPCでWindows11を実行できます」ではなく、ハードウェア要件を確認する旨のメッセージが出るかもしれませんが、それでも大丈夫です。Windows11アップグレードに進んでください。
Windows11アップグレード
MicrosoftのWindows11ダウンロードページを開く
https://www.microsoft.com/ja-jp/software-download/windows11
Windows 11 をダウンロードする
[今すぐダウンロード] をクリックし、Windows 11 インストール アシスタントWindows11InstalationAssistant.exeをダウンロードし起動
[同意してインストール]
あとは待つだけ。
無事Windows11にアップグレードできました。
肥大化した仮想ディスクの後始末
ここまでくると、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にアップグレードする方法を紹介しました。