32bit版Windows 7をWindows 10に更新

あるPCがPCIボードの事情でWin 7 32bitにしがみついていたが最近それが不要になった。すでに10月で無料更新期限後だが、まだ普通に更新できるという話なので更新してみた。
まず公式ダウンロードページから作成ツールをダウンロードする。後々のことも考えてインストールメディアの作成を選んだ。
最初はUSBメモリに保存しようとしたのだが、接続しているUSBメモリドライブが表示されない。仕方がないのでISOファイルを作成することにした。

メディアが作成できない

OSのダウンロードは開始するのだが、完了後検証しようとするとエラー 0x80070008 0x9002で中断してしまう。やり直して先に進んでも、検証途中に0x80070008 0xA0003で中断してしまうこともあった。
0x80070008はいわゆるシステムリソース不足のエラー。メモリがいくら空いていてもシステム領域に限界のある32bit Windowsカーネルではある意味どうしようもないのだが、インストーラなので使い勝手を考えなければ空ける余地はある*1
常駐ソフトをMSSEを含め可能な限り切って、画面解像度を落として再起動、再起動後にも可能な限りプロセスを終了して行ったところ、何とかISOファイルを作成できた。
ちなみに3回失敗した。ISOの保存場所に関係なくC:\ESD\Downloadにinstallx**.esdがダウンロードされるが、プログラムの作りこみが甘くダウンロード自体が完了しても検証時やISO作成時に上記エラーで中断してしまうとダウンロードからやり直しになる。x86とx64で計5GBあるので都合15GBも帯域を無駄にしてしまった。
このダウンロードしたESDからISOを作るツールもあるようだが、isolatedな形式ということでISOの作成ができないばかりか、RSA鍵も不明でデコードもできないようだったので上記のように頑張るしかなかった。
ともあれ最終的にはISOが用意できたのでアップデートにやっと移れる。

後で知ったのだが、Windows以外(のUser-Agent)ではISOファイルを直接ダウンロードできたらしい。なぜかWindowsではオプションを表示してくれない。*2

インストール

ISOをWinCDEmuでマウントして、内容をNTFSフォーマットのUSBメモリのルートにすべてコピーした。DVDに焼いてもいいが、アクセス速度的にも高速なUSBメモリの方が便利だろう。仮想イメージからSetupを起動してもエラーになる。
USBメモリ上のSetupを起動して、アップグレードを開始する。
途中2回くらい再起動した。Setupを7から起動したからかUEFI BIOSのブート順序を入れ替えないでも特に問題なかった。

巷の期限後の移行記事を見ると、ライセンスはインストール時に7のプロダクトキーを入れるとOKという話だった。しかし今回インストールと初期設定を済ませてもキーを尋ねられることはなく、Win-Breakを押してみるとすでにライセンス認証済みとなっていて、何も入力作業は必要なかった。たまたまなのか、何かしら最近のWindows 7側の更新で状況が変わったのかは分からない。

環境設定

Windows Vistaや7にしたとき同様、キーの置き換えがリセットされているのでremapkeyを管理者権限で起動し再設定する。
AppDataのTEMPのジャンクションも再設定した。
おせっかいにもアプリの関連付け設定もブラウザやメディアファイルでMS謹製のものに勝手に変更されていたので修正した。*3

7と比べて

高速スタートアップなしで起動は10秒弱遅くなった。
メモリ使用量は起動時点では130MBくらい増えている。初期状態で余計なものを削っていないせいもあるかもしれない。
Windowsの上書きインストールならばこんなものだろう。後日64bit化したい。

*1:それにしても巨大ファイルのverifyができないというのはお粗末な作りだ。全体をmmapでもしようとしているのだろうか。

*2:去年にそんな記事を読んだ記憶もあるのだが、すっかり忘れていた。

*3:せっかく設定してもたまに勝手にMSのアプリにリセットしてくれる。opt-outできない余計な機能を増やす伝統はいつまで経っても変わらないようだ。