読者です 読者をやめる 読者になる 読者になる

give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

【2017年版】VirtualBox環境(Mac)でWindows 7をWindows 10にアップグレードする手順

Tips一般

はじめに

僕は普段Macユーザーで、何か特別な理由がないとVirtualBox上のWindowsを起動しません。
「最近あまり触ってないから、いろいろチェックしてみようかな~」と思ってWindowsを起動し、最近の情報を調べてみると、

「えっ、Windows 7ってもうメインストリームサポートが終了してるの!?」
(注:2年前の2015年1月に終了。ただし延長サポートは続いているので、セキュリティ更新プログラムは提供される)
「あれっ、VirtualBoxって5.1が出てたの?(ずっと5.0を使ってた)」
「うわっ、知らない間に時代に取り残されてた!😵 」

・・・ということに気づき、重い腰を上げて環境をアップデートすることにしました。

ネットにはいろいろ情報はあるのですが、ひと昔前の情報が多いせいか使える手順と使えない手順がありました。
そこでこのエントリでは、僕と同じように "今ごろ" Windows 7をWindows 10にアップグレードしようとしている人向けにその手順を紹介します。

f:id:JunichiIto:20170129204957p:plain
VirtualBox上で起動したWindows 10のスクリーンショット

僕の実行環境

僕の実行環境(アップデート前)はこんな感じです。

  • PC: MacBook Pro 15インチ(Mid 2015)
  • ホストOS: macOS Sierra 10.12.3
  • ゲストOS: Windows 7 Home Premium
  • VirtualBox: 5.0.32

これをWindows 10 Homeにアップグレードしていきます。

アップグレードに向けて準備しておくもの

アップグレードの途中でWindows 10のライセンスキーを購入するので、Amazonのアカウントとクレジットカードを準備しておきましょう。

Amazonで購入すると即座にライセンスキーが通知されるので、事前に物理メディア(DVD-ROMやUSBメモリ等)を購入したりする必要がありません。(OSのインストール自体はオンラインから実行可能です)

最悪途中で失敗するリスクもあるので、必要になるタイミングまでライセンスキーを購入しないのが良いと思います。

あと、仮想ディスクの容量が少ないとインストールできないので、容量を増やす必要があります。
これにはMac本体のハードディスクの空き容量が必要になるので、Macのハードディスクに十分な空き容量があるかどうかも確認してください。

空き容量が少ないときは、ツールを使って容量を食っているフォルダを探し、不要なファイルを削除していくといいと思います。
僕はOmniDiskSweeperというツールを使っています。

最後に、トライアンドエラーを繰り返すだけの十分な時間も用意しておきましょう。
本エントリで紹介した手順に従って順調に進んだとしても、ダウンロードやらインストールやらで5時間ぐらいはかかります。
何か予想外のトラブルが発生したらさらに時間がかかります。

ちなみに僕は朝5時ぐらいに作業を開始して、(いろいろハマって)15時ぐらいにようやくアップグレードが終わりました。
なので合計10時間ぐらい使っていることになります。

「あれ?無料でアップグレードできるんじゃないの?」

いいえ、無償アップグレード期間は2016年7月29日で終了しています(これも知らなかった)。
なので、それまでに一度もアップグレードを試していない人は有償でライセンスを購入する必要があります。
(あ~、もっと前にアップグレードしておけば良かった😣 )


それでは以下が具体的な手順です。

1. 仮想ディスクのバックアップを取る

最悪、途中で失敗してWindows 7に戻したくなるときに備えて仮想ディスク(vdiファイル)のバックアップを取っておきましょう。
僕はvdiファイルが含まれるフォルダをまるまるコピーしましたが、VirtualBoxのスナップショット機能を使っても良いかもしれません。

2. VirtualBoxを最新版にアップグレード

次にVirtualBoxを最新版(執筆時点では5.1.14)にアップグレードしましょう。
最新版はこちらからダウンロードできます。

Downloads – Oracle VM VirtualBox

本体をインストールしたら上記のページからExtension Packをダウンロード&インストールします。
また、ゲストOS側では最新版に合わせたGuest Additionsをインストールしておきます。

3. 仮想マシンの設定をWindows 10 (64-bit) にする

Windows 7をいったんシャットダウンして、仮想マシンの設定画面を開きます。
以下の画像にあるVersionをWindows 10 (64-bit)に変更してOKをクリックします。

f:id:JunichiIto:20170129195910p:plain

あと、物理マシン(Mac本体)に余裕があれば、メモリやCPUの割り当ても増やしておいた方が動きが速くなるかもしれません。

f:id:JunichiIto:20170129201539p:plainf:id:JunichiIto:20170129201541p:plain

4. 仮想ハードディスクの容量を増やす(空き容量が少ない場合)

Windows 10のインストールにはハードディスクに20GB以上の空き容量が必要らしいので、空き容量が足りない場合はハードディスクの容量を増やします。
空きがギリギリだとアップグレードエラーの原因になる、という話もあるので、25GB~30GBぐらい空けておく方が安心かもしれません。

空き容量を増やす場合はまずターミナルから以下のようなコマンドを実行します。

VBoxManage modifyhd (vdiファイルのパス) --resize (ファイルのMB数)

たとえばこんな感じです。

VBoxManage modifyhd /Users/jit/VirtualBox\ VMs/windows7-64/windows7-64.vdi --resize 102400

ファイルサイズは1GB = 1024MBで計算するといいと思います。
(例:100GBにしたいなら 1024 * 100 で 102400 を指定する)

ちなみに僕の場合はアップグレード前の空き容量を33GB確保しました(Windows上で確認した空き容量です)。
これがアップグレード後は18GBになっていたので、トータルで5GB減ることになります。

パーティションも一緒に変更する

vdiファイルの物理的なサイズを増やしたら、内部的なパーティションも変更しなければなりません。
そうしないとWindows内で使える容量は増えないからです。

パーティションの変更にはGPartedというツールを使いました。
このツールの使い方は以下の記事の後半に載っています。

ただ、GPartedはLinux系のツールなので、Linux用の仮想マシンにツールのisoファイルとWindows用のvdiファイルをマウントしてツールを起動しなければなりません。
僕はたまたまLinuxの仮想マシンがあったので、それを使ってGPartedを起動しました。

念のため容量が増えたことを確認

パーティションを増やしたら、Windowsを起動して本当に容量が増えているか確認します。
ちなみに、僕の環境では起動時に黒い画面が出てエラーチェックのような処理が走りましたが、そこからあとは普通に起動しました。

5. 「Windows 10 へのアップグレードに失敗する場合の確認点と対処法」を実施する

現状のWindows 7環境に問題があると、アップグレード中にエラーが出たり、先に進めなくなったりします。
(実際僕は「更新プログラムをダウンロードしています」から先に進まなくなりました)

なので、以下のページを読んで事前に問題の検証と修復をしておくことをオススメします。

僕は上のページの中から、以下の手順(方法)を実施しました。

  • 方法 1 : Windows Update トラブルシューティングツールを実行する
  • 方法 2 : BITS トラブルシューティング ツールを実行する
  • 方法 3 : システム更新準備ツール / DISM コマンドを実行する
  • 方法 4 : システム ファイル チェッカーを実行する
  • 方法 8 : ドライバーを最新の状態に更新する
  • 方法 10 : クリーン ブートを実行する
上記手順に関する備考

「方法 2 : BITS トラブルシューティング ツールを実行する」では、検証の結果として "Service Registration is Missing or Corrupt" というエラーが表示されました。
詳しい原因はよくわからないのですが、以下のQ&Aページの回答を参考にしたらこのエラーは解消しました。

具体的には管理者モードでコマンドプロンプトを開き、以下のコマンドを順に実行する、というものです。

net stop wuauserv

net stop cryptSvc
 
net stop bits

net stop msiserver

ren C:\Windows\SoftwareDistribution SoftwareDistribution.old

ren C:\Windows\System32\catroot2 catroot2.old

net start wuauserv

net start cryptSvc

net start bits

net start msiserver

(もう一度ツールで検証を実施する)

また、「方法 3 : システム更新準備ツール / DISM コマンドを実行する」では、システム更新準備ツールのダウンロードに30分ぐらい時間がかかりました。(ファイルサイズが500MBぐらいありました)
実行にも30分ぐらいかかったので、あわせて1時間ぐらいかかっています。

「方法 8 : ドライバーを最新の状態に更新する」では、未実行になっていたWindows Updateをチェックしましたが、ドライバー関連のアップデートは特に含まれていなさそうでした。(大半がセキュリティ系のアップデート)
なので、アップデート内容のチェックだけをして、アップデート処理は実行していません。
(未実行のアップデートを全部実行すると時間がかかりそうだったので、スキップすることにしました)

最後の「方法 10 : クリーン ブートを実行する」ではWindows 10のインストール後に設定を戻すので、変更前の設定をメモしておくといいと思います。

さて、ここまで来たら、いよいよ準備完了です。
クリーンブートした直後の状態で、次のインストール作業に移ります。

6. Windows 10のインストール(アップグレード)

Windows 10のインストールには「Windows 10 メディア作成ツール」を使います。
Windows 7内のブラウザから以下のURLにアクセスすると、ツールがダウンロードできるのでそれを実行します。
(Macからアクセスするとisoファイルのダウンロード画面になります)

https://www.microsoft.com/ja-jp/software-download/windows10

このツールはウイザード形式で進んでいくので、難しいポイントは特にありません。
(が、上で紹介した「Windows 10 へのアップグレードに失敗する場合の確認点と対処法」をやっていないと、途中で止まったりするかもしれません)

ライセンスキーを購入、入力する

Windows 10のインストールが順調に進むと、途中でライセンスキーの入力を求められます。
ライセンスキーを入力しないと先に進めないので、ライセンスキーを購入しましょう。
冒頭でも触れたように、Amazonでオンライン版のライセンスキーを購入すると、すぐにライセンスキーをゲットできます。

Winodws 10 Proのライセンスキーを購入する場合はこちらです。

ディスプレイドライバの互換性がない?

インストールを進めていくと、「このディスプレイドライバには互換性がありません」みたいなメッセージが表示されます。(すいません、正確な文言は忘れてしまいました)
ただ、これは致命的なエラーではなく、内容を確認したら先に進める「警告」なので、確認ボタンをクリックして先に進んでください。
最終的にはディスプレイも問題なく使えているので、たぶん大丈夫です。

7. ウイザードが最後まで進めばアップグレード完了!

「Windows 10 メディア作成ツール」を使ったWindows 10のインストールはかなり時間がかかります。
僕の場合はトータルで3時間ぐらいかかりました。
とはいえ、最終的にはなんとか無事にインストールできました。

f:id:JunichiIto:20170129204957p:plain

あと、起動時の設定がクリーンブートのままになっていると思うので、設定を見直して戻しておきましょう。

ここまでくればアップデート作業はおしまいです。
お疲れさまでした!

参考:うまくいかなかった方法

上の手順は「おそらくこうしていれば最短で進めることができたはず」という理想の手順です。
実際はいろいろ右往左往して無駄な時間を食っています。

その中でも「かなり時間を食ったが結局うまくいかなかった方法」を2点紹介しておきます。

【うまくいかなかった】isoファイルをマウントしてsetup.exeを実行する

2015年ぐらいの記事だと、「isoファイルをダウンロードして仮想マシンにマウントし、それからsetup.exeを実行しましょう」と説明しているものが多いです。
どうも当時は「Windows 10 メディア作成ツール」がVirtualBox上で使えなかったので、そういう手順になっていたらしいです。

僕も最初は「その方法しかないのかな?」と思って同じようにやっていたのですが、実際にやってみるとsetup.exeを実行した直後に「SPWIZENG.DLLはWindows上では実行できないか、エラーを含んでいます」というメッセージが表示されて先に進めませんでした。

f:id:JunichiIto:20170129205821p:plain

この問題は結局どうしても解決できなかったので、ダメ元で「Windows 10 メディア作成ツール」を実行してみたところ、なぜかこっちの方はうまく動きました。(が、今度は後述する落とし穴にハマります)

isoファイルは4GBぐらいあり、ダウンロードにも6時間ぐらいかかったので、完全に「骨折り損のくたびれもうけ」でした。

【うまくいかなかった】いきなり「Windows 10 メディア作成ツール」を実行する

isoファイルからsetup.exeを実行する代わりに「Windows 10 メディア作成ツール」を使ったら先に進み出したので、「おお、ラッキー!」と思いながら処理を進めていたのですが、僕の環境では「更新プログラムをチェックしています」の画面が延々と2時間以上表示され続けました。

なんか様子がおかしいので、タスクマネージャーでプロセスを確認したところ、svchost.exeというプロセスがCPUを99%使ってる状態がずっと続いていました。
しばらくタスクマネージャーを眺めていましたが、svchost.exe以外のプロセスがロクに動いていなさそうだったので、諦めて「Windows 10 メディア作成ツール」の実行をキャンセルしました。

「Windows 10 メディア作成ツール」の実行をキャンセルすると今度は「セットアップを終了する前にクリーンアップを実行しています」という表示が出ます。
しかし、これもこれでsvchost.exeがCPUが99%のままで先に進まなかったので、結局「Windows 10 メディア作成ツール」の実行そのものを強制終了させることになりました。

それからネットの情報をいろいろ探していたところ、同じような現象で困っている人がいたので、そのQ&Aの内容を参考にして、「Windows 10 へのアップグレードに失敗する場合の確認点と対処法」を実施しました。

「Windows 10 へのアップグレードに失敗する場合の確認点と対処法」はステップがたくさんあるので、結局どれが役に立ったのかはハッキリしませんが、これを実施してから再度「Windows 10 メディア作成ツール」を実行すると今度は問題なく処理が進んでいきました。

まとめ

というわけで、この記事ではMacのVirtualBox環境でWindows 7をWindows 10にアップグレードする手順を紹介しました。
大半の人はすでにWindows 10に移行しているのかもしれませんが、僕と同じように「しまった、まだアップグレードしてなかった!」という人の参考になれば幸いです。

あわせて読みたい

「Windows 7を買ったのはいつだっけ?」と思ったら、もう7年も前のことでした。
そりゃサポート期間も終わってしまうわけですねえ。

blog.jnito.com