Windows 10 の ビルドが古いために Docker for Windows をインストールできなかった

## 背景

先日、Windows Update を行ったらログインできなくなる( 正確にパスワード入力後からディスクトップが表示されるまでの間にブルースクリーンになってしまう)という稀によくある事象に遭遇した。

泣く泣く Windows 10 Pro をクリーンインストールして、 Docker for Windows のインストールを試みたら、 *Installation failed: one pre-requisite is not fullfilled* になってしまう。

![Docker-install-failed.PNG](https://qiita-image-store.s3.amazonaws.com/0/145742/370b5f7e-5c6c-64be-98ed-437ee75cea4e.png)


## 原因

*Docker for Windows requires Windows 10 Pro or Enterprise version 14393, or Windows server 2016 RTM to run* とあるので、Windows 10のバージョンが低いことは分かるのだけれども、　[設定] > [システム] > [バージョン情報] で確認できるバージョンは 1511 なので、バージョンが低いとは思えない。

![Windows-version-befor.PNG](https://qiita-image-store.s3.amazonaws.com/0/145742/22e16c82-d412-898d-449c-0c6fc0b83aa5.png)

エラーメッセージで調べていくと、このissue  [Docker CE for Windows does not install on Windows 10 Pro #1263](https://github.com/docker/for-win/issues/1263)  が見つかり、ビルド番号が 14393 以上にしなければならない事に気づく。

```powershell

PS C:\Users\user1> Get-WmiObject Win32_OperatingSystem |findstr Build
BuildNumber     : 10586
```

## Windows Updateできません！！

Windows10 のバージョンが低いのであれば、Windows Update を行えば解決できるはず。しかし、何度チェックしても「お使いのデバイスは最新の状態です。」となるので、更新を行えない状態。

そういえば、クリーンインストールする前は、Anniversary Update を入れていたことを思い出したので、Anniversary Update のインストール方法を調べる事にした。

Windows Updateの「詳細情報」からインストールできる様なので、「詳細情報」をクリックすると、Eddge で [Windows 10 の更新履歴](https://support.microsoft.com/ja-jp/help/4099479/windows-10-update-history?ocid=update_setting_client) が表示される。

>Windows 10 April 2018 Update の入手
> お使いのデバイス用の Windows 10 April 2018 Update がリリースされると、Windows Update 設定に基づいて自動的にダウンロードされます。 ダウンロードが完了すると、インストールに最適な時間を選択するように求められます。 更新プログラムがインストールされると、Windows 10 のバージョンは 1803 になります。
>
> すぐにインストールするには、 「Windows 10 April 2018 Update を取得する」を参照して入手してください。 

とあるので 「Windows 10 April 2018 Update を取得する」 をクリックすると、 Windows Update が表示される。改めて 「更新プログラムのチェック」クリックしても、「お使いのデバイスは最新の状態です。」となり状況が変わらない。

## Windows10 ダウンロードサイト

マイクロソフトのコミュニティで [windows 10 バージョン1607への更新ができない](https://answers.microsoft.com/ja-jp/windows/forum/windows_10-update-winpc/windows-10/4aa22030-bea3-44a5-b85e-63dc54a4128e) というスレッドに

> Windows Update の一般的なトラブル対応として、以下ページの対処も一通り確認してみてください。
>
> ・Windows 10 - Windows Update に失敗する場合の対処法
>
> また、Windows Update 経由ではなく「こちらのページ」の「今すぐアップデート」からの更新も試してみてはいかがでしょう。 

という書き込みがあり、「こちらのサイト」 https://www.microsoft.com/ja-jp/software-download/windows10 にある
![Windows10-download.PNG](https://qiita-image-store.s3.amazonaws.com/0/145742/b6f91c05-db8e-e321-c869-2d7e9a0ab7bb.png)

「今すぐアップデート」をクリックすると `Windows10Upgrade9252.exe` がダウンロードされました。 (クリーンインストール後にバックアップから戻したダウンロードフォルダ入っていたのでクリーンインストール前も使っていた！？。　Bash on Windows を試した時かな。)

`Windows10Upgrade9252.exe` を実行することで「Windows10更新アシスタント」が起動するので、画面に従って更新を行う。
![windows10-update-assistant.PNG](https://qiita-image-store.s3.amazonaws.com/0/145742/57763144-2d3e-9751-bae5-46980abb9ac6.png)

しばらく待って、再起動後の更新が行われると無事に完了のダイアログが表示される。
![windows10-update-done.PNG](https://qiita-image-store.s3.amazonaws.com/0/145742/ddc3a141-d817-a562-9e98-d5c040fe6f2f.png)

バージョンとビルド番号も更新されています。

バージョン 1511-> 1803
ビルド番号 10586.1762 -> 17134.81

![Windows-version-after.PNG](https://qiita-image-store.s3.amazonaws.com/0/145742/08022fa4-7c17-a5c6-099d-45fe7b093cc1.png)

`Get-WmiObject` でも確認できます。

```powershell
PS C:\Users\user1> Get-WmiObject Win32_OperatingSystem |findstr Build
BuildNumber     : 17134
```

## 改めてDockerをインストール

`Docker for Windows Installer.exe` を再実行すると、インストールが開始されました。

![Docker-install-starting.PNG](https://qiita-image-store.s3.amazonaws.com/0/145742/6c462f94-a936-1bbb-1947-b28f4ebbebef.png)