きっかけ
あるソフトを使う際にWindows 7が必要だった。
しかしそのソフトを使う環境として適したWin7は手元になかったので、秋葉原で在庫少なめになっているWin7を買うこととなった。
OS X El CapitanのVirtualBox上でWin7のVMを扱いつつ、将来的にはWin10に乗り換えることも視野に置いて初期設定を行う。
本記事の賞味期限は2016/7/28までとなる。7/29のいずれかの時点でWindows 10への無償アップグレードは行えなくなるとのこと。
とはいえ、それ以後有償で更新する場合にも一部は役に立つかもしれない。
DSP版64bitsを買う
ソフト動作をそこそこ急ぎで行う必要があったことから即秋葉原へ向かった。そこまで急がなければ、Amazonで買っても問題はないと思う。
以前から店頭でのWin7 64bitsの在庫が減っているのは認識していたが、やはり少しだけ苦労した。32bitsのを買うのは気が引ける。
秋葉原で言えばツクモは64bitsについて「入荷待ち」。多分二度と入荷しないのではないか。
今回はパソコンショップアークで購入。イベント「技術書典」でお世話になった通運会館の横である。Homeは売り切れていてProfessional。DSP版なので一緒にパーツを買う必要があるわけだけど、店側の工夫でこの点は気にする必要はない。どの店もここらへんはわきまえているはず。
Win7の更新プログラム適用がめっちゃ遅い
購入直後の環境でとりあえず一連の更新プログラムを適用するが、(当たり前だが)この更新が非常に遅い上、完了見込み時刻が出てこないため、困る。
1〜2つ程度先にマニュアルで更新プログラムを当ててから行うと少し速くなるようだ。
半日を経て全ての更新プログラムが当たった。更新後リブートは勝手にするお節介がここでは役に立つ。深夜に放置しとけば翌朝再起動後のログイン画面に戻っているはずだ。
Win10更新時にライセンス認証が聞かれる……
インストールしてOS更新した直後ではWin7自体がサーバとライセンス認証を行っていないことがある。
この状況でWin10のアップグレードを行うと、方法によってはWin10インストールウィザードの中途で黙って「ライセンスキー」を聞かれる。典型的にはWin10のisoをマウントしてsetup.exeを実行するとそれなりに長々と待たされたあげく、ここで先に進めなくなる。
決して画面に書かれているわけではないが「あなたのWindows、海賊版ですね?」と、暗に責められているかのようである。
このキーは購入した直後のWin7のキーではいけないようであった。ネットではWin7のキーも受け付けるなどという説明もあるのだけど、本件とは関係がない。
一度、Win7上でライセンス認証を行い、Microsoft側サーバのお墨付きを得てからWin10アップグレードを試みればこの問題は発生しなくなる。
なお、Microsoftのサイトから辿れるアップグレードサポートのソフトだと、この点がわかりやすく説明されるので、それで気づいた。Win10を導入する方法には何パターンかあり、自分が見た3パターン中、注意事項でこの問題を把握できる説明が表示されたのは1パターンのみだった。
おまけ: Win8.1環境でVirtualBoxのビデオドライバがWin10への更新をサポートしていない問題
本件では並行して自分が持っている別のWin8.1環境についても更新をかけた (こちらは8には戻すつもりはない)。その際に表題の件でハマった。
結論としてはVirtualBoxのGuest Additionを消して再起動すれば、はまらなくなる。手動でビデオドライバを消すと、Guest Additionが再度勝手に同ドライバをインストールするため、意味が無い。
ディスク容量が小さすぎた
Win7をインストールする環境のディスクサイズをVMレベルで32GB程度にしたのだが、更新後の状態でWindows7本体が30GB弱食い尽くしていた。
Win10へのアップグレードには10GB程度追加で必要とのこと。この10GBは外部ディスクでも良いらしいが、今後のことを考えれば32GBのCドライブでなんとかするという発想自体が問題であるため、ここでディスクを拡張することにする。
この時、何を勘違いしたか採用したディスク形式はqcowであった。KVMで使うつもりならまだしも今回はそんなつもりはないので、無駄。
VBoxManageはqcowに対応していないのでqemu-imgが必要。qemuをbrewにてインストール、qemu-img convertでvdiに変換し、VBoxManage modifyhdにて--resizeする。
最終的にはvdi 50GBとした。
--resizeしてもWindowsレベルでディスクの拡張が確認できない場合
32GB -> 50GBとしてVirtualBoxはそれを認識しているが、Windows本体から見るとCドライブの大きさが変わっておらず、NTFSのパーティションを拡張することも出来ない、という症状に悩まされた。
結論としては、スナップショットをとっている環境では--resizeをしてもWindowsがサイズ変更を認識しないため、NTFSのパーティションを拡張することも出来ないようだ。それが原因だと思われた際にはスナップショットを消して試す。
参考: http://dust-memorys.blogspot.jp/2013/02/virtual-box.html
スナップショットの代わりに、ディスクのバックアップはVBoxManage clonemediumあたりでやっておくと良いかもしれない。あるいはVM自体をクローンして試しても良い。
Win10へアップグレード後、すぐWin7へ戻す
ここの説明は巷に溢れてるので敢えてするまでもない。
旧環境に戻すまで31日の猶予があるとのことだが、今回はそもそもWin10へのアップグレード権を確保しておくために更新している。すぐにWin7戻したほうがトラブルは少ないだろう。
Win7への復旧でトラブルはなかった。Win10更新後にパスワードを変更したりしてWin7に戻すと、おそらくWin10上のパスワード変更をWin7は認識していないため古いパスワードが必要になる。そういったちょっとした面も含めて、さっさと戻すに限る。
Win7へ戻した後、適当なセキュリティソフトを入れて、無事当初の目標を達成、ソフトを使える状況を構築できた。急ぎだというのに、結局2日程度潰した。