ジャンル不定の日記です。

Windows11へのアップグレードは諦めていたが・・・

以前、Virtualbox上に入ってるWindows10を11にアップグレードできなくて諦めていたが、
アップグレードできそうなことがわかったんでアップグレード中。
進歩が遅すぎるんでまだインストール中。

Virtualbox上に入ってるWindows10は、
元々Windows7プリインストールの東芝dynabook Satellite B450のリカバリ領域を使ってBIOS情報を偽装を7をVirtualbox上にインストールして10に無料アップグレードしたやつで、
仮想マシンの.vboxに
<ExtraDataItem name="VBoxInternal/Devices/pcbios/0/Config/DmiSystemFamily" value="string:0000000000"/>
みたいな感じでBIOS情報が6項目偽装してあって、これがないとライセンスが通らない。
で、Windows11はEFIじゃないと起動できないが、VirtualboxをUEFIに設定したときに上記の設定があると起動しない。

以前はそれの解決方法が存在しないと思って諦めてたんだが、
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemFamily" value="string:0000000000"/>
こんな感じでpcbiosのところをefiに変更するとUEFIシステムでもSMBIOSの情報が偽装できることを知った。
以前は調べてもわからなかったが前から可能だったのか?

上記の設定はUEFIシステムじゃないと起動できなくなるんで、
mbr2gptでWindowsのディスクをMBRからGPTに変更してシャットダウンしてVirtualboxも終了した状態で.vboxを修正してVirtualboxの設定でシステムをUEFIに変更すると起動してライセンスも通った状態。
後からやったが、Virtualboxの設定でTPM2.0を有効にする設定もあるんでTPM2.0にする。

母艦のCPUはIntel N100でブーストなしのサブコアのクロックが806MHzでゲストのWindows上だとCPUが806MHzと表示されるんだが、
Windows11の最低要件が1GHzで以前はCPUクロックでアップグレードが弾かれていたが、CPU周波数は確認しなくなった?regeditしないで通った。

Windows11のISOをダウンロードしてきてドライブを割り当ててディスク上のsetupを実行するとアップグレードプログラムが起動するが、
TPM2.0以外にメモリ4GBとストレージ64GBが最低要件で、2GBで40GBの仮想マシンだったんで4GBの80GBに拡張したが、
先にmbr2gptしてたんで40GBストレージの第3パーティションがEFIになっててその状況だとデバイスが80GBになっててもアップグレードはできない。
なので、第1パーティションがシステムで予約ってやつで500MB割り当ててあって、MBRのブートパーティションだと思ったんでEFIブートローダを作った状態では不要だと思い、
母艦上でqemu-nbdでデバイスを割り当てて第1パーティションをEFIにしてFATでフォーマットしてmbr2gptで作られた第3パーティションから全部コピーで起動すると思ったんだが、
どういうわけか起動しなかった上に、作ったEFIパーティションが破損したみたいでマウントできなく、第3パーティションは削除してたんで復旧不能に。
作業前にMBRシステムの.vdiをバックアップしてたんで最初からやり直すことにした。

やり直しで、mbr2gptをする前にシステムパーティションを拡張したが、
第3パーティションが回復パーティションになってるんで、コマンドプロンプトを管理者権限で起動して、
> reagentc /disable
で回復を無効にし、
> diskpart
> list disk
> select disk 0
> list partition
> select partition 3
> delete partition override
で回復パーティション(ディスク0の第3パーティション)が消えた。

どういうわけかGUIのディスク管理では回復パーティションが無い状態でもパーティションの拡張ができなかったんで、diskpartでそのまま、
> list volume
> select volume 2
> extend
> shrink minimum=500
でシステムパーティションを最大化して500MB減らした。
mbr2gptする時にEFIパーティション用に未使用領域が必要と思って500MB減らしたんだが、どうもシステムパーティションが100MB減ってEFIパーティションになるみたいだったんで減らす必要はなかったかも。

そしてWindow11の要件を満たしてsetupが進められたが、
更新プログラムをダウンロードしています
更新プログラムをチェックしています: 46%
で止まった。
ググったら46%で止まる人が多いみたいですぐに解決方法がわかったが、
setupを実行した後に出てくる最初の画面で、
「セットアップでの更新プログラムのダウンロード方法の変更」
をクリックして、
「今は実行しない」
をチェックすると46%で止まらない。

のだが、
46%からキャンセルしたらアップデートのクリーンアップが全然終わらなくて強制終了した。
そしたらISOのsetupでWindowsロゴが出てくるとこから進まなくなった・・・
作業前の.vdiバックアップも消しちゃってたんで諦めようかとも思ったが、
設定>システム>ストレージ>一時ファイル
で一時ファイルを全部消したらISOのsetupが動いた。

この記事書いてる間にインストールは68%まで進んだ。
終わったら追記する。