【10/5追記】【WSL2】仮想マシンプラットフォームをオンにするとBSODになる問題【Win】

## 2021/10/5更新
まだ解決しないんですよね…。
Windows Update は何度も確認したし、HPサポートアシスタントから提供されているドライバ類のアップデートも全部かけたのに。
ということで、電話してみました。

**デバイスマネージャー > メモリ テクノロジデバイス > Realtek PCIE CardReader　を無効にする**


を試してみてください、と言われてやってみたところ、仮想マシンプラットフォームをオンにしてもBSODになりませんでした！
しかしこのままだとSDカードの読み込みとかができなくなるため、暫定対応です。
また確認して連絡くれるとのことでした。


## 2021/9/15追記
累積更新プログラム　KB5005565　では、**まだ解決していません。ご注意ください**

## PCスペック

- 型番:HP Pavilion Laptop 15-eh0xxx
- プロセッサ:AMD Ryzen 7 4700U with Radeon Graphics            2.00 GHz
- 実装 RAM:16.0 GB
- システムの種類:64 ビット オペレーティング システム、x64 ベース プロセッサ
- エディション:Windows 10 Home
- バージョン:20H2(試したところ、21H1でも同じ問題が起きました)
- OS ビルド:19042.1165

## 問題の詳細

- WindowsPCでDockerを使いたい
- 手順を読みながらやってみた
- ブルースクリーン発生

2021年6月、10数年ぶりにWindowsPCを買った。個人用PCは長いことMacを使っていたが、普段業務ではWindowsPCを使っている。そろそろ新しいPCが欲しいなあと思い始めていたので、久しぶりにWindowsPCを買ってみた。

届いて早速諸々のセットアップをした。Dockerを使えるようにしておこう！と[Docker Desktop for Windows](https://docs.docker.jp/docker-for-windows/install-windows-home.html)を参考にセットアップを進めた。
手順として、**WSL2の有効化が必要**らしい。[WSL2の有効化の手順](https://docs.microsoft.com/ja-jp/windows/wsl/install-win10)の「手順1～5」をすればいい。(はず)

***

### 手順 1 - Linux 用 Windows サブシステムを有効にする
管理者として PowerShell を開き、以下を実行

```PowerShell:PowerShell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
```
ここは問題なくできた。

### 手順 2 - WSL 2 の実行に関する要件を確認する
```
WSL 2 に更新するには、Windows 10 を実行している必要があります。

x64 システムの場合:バージョン 1903 以降、ビルド 18362 以上。
ARM64 システムの場合:バージョン 2004 以降、ビルド 19041 以上。
18362 より前のビルドは WSL 2 をサポートしていません。 Windows 更新アシスタントを使用して、お使いのバージョンの Windows を更新します。
```
ここも問題ないはず。

### 手順 3: 仮想マシンの機能を有効にする
管理者として PowerShell を開き、以下を実行

```PowerShell:PowerShell
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
```
**お使いのマシンを 再起動 して WSL のインストールを完了し、WSL 2 に更新します。**
***
ここで問題が発生する。再起動を待っていると何やら様子がおかしい。**ブルースクリーンが発生し、Windowsが起動しなくなってしまった。**正直すごく焦った。買ったばかりのPCがもう使えなくなるのか！？と必死に調べた。
深く考えず手順のままにコマンドをたたいたことを少しだけ後悔した。しかし自分が何をやったのかは明確なので、それだけが救いだった。

### この問題の再現方法
買ったばかりのPCなので、自分が何か変な設定をしたことが原因とは考えにくい。まだデータを移行して本格的に使い始める前だったので、いろいろ試してみた。

- 初期化して工場出荷時の状態にする
- BIOSも念のためリセットしてみる
- Windows Updateもかける

この状態で先ほどの問題が再現するか試してみた。
手順3の「仮想マシンの機能を有効にする」は、GUIからだと↓で設定が変更できる。

1. 画面左下の検索窓から「Windowsの機能の有効化または無効化」を検索して表示
- 「仮想マシンプラットフォーム」にチェックを入れて「OK」押下
- 「必要な変更が完了しました」画面が表示され、「今すぐ再起動(N)」押下
- 再起動する
- **ブルースクリーンになり、Windowsが起動しなくなる**

やはり同じようにブルースクリーンになった。問題はこの部分らしいことが確かめられた。

### Windowsの復帰方法
念のために自分の復帰方法のメモを残しておきます。人によって表示内容が違うと思いますが、要は仮想マシンプラットフォームの設定をオフに上書きして保存して再起動すればいいはずです。

1. 何度か再起動がかかった後、「自動修復」画面＞「詳細オプション」＞「トラブルシューティング」＞「詳細オプション」＞「スタートアップ設定」＞「再起動」
- スタートアップ方法を選択する画面で「F5」キー押下(セーフモードで起動)
- 画面左下の検索窓から「Windowsの機能の有効化または無効化」を検索して表示
- 「仮想マシンプラットフォーム」に**チェックを入れて「OK」**押下
- 「必要な変更が完了しました」画面が表示され、**「再起動しない」**押下
- 画面左下の検索窓から「Windowsの機能の有効化または無効化」を検索して表示
- 「仮想マシンプラットフォーム」に**チェックを外して「OK」**押下
- 「必要な変更が完了しました」画面が表示され、「今すぐ再起動(N)」押下

## 調べたこと
さて、問題の個所が特定できたので、同様の問題が発生していないか、解決方法はないのかを調べてみた。ここに載せているほかにもWSLのフォーラムとか、Dockerのフォーラムとかも色々調べに行ってみた。
この問題はHP製品だけじゃなく、ASUS、Lenovoとかでも起きている模様。ただ、HPユーザーでこの問題の報告が多かった印象。CPUがRyzenの製品で起きてるのかな？という気がしたが、インテルのPCでも少数報告があった。(でもほとんどがRyzenの製品っぽかった)

https://answers.microsoft.com/ja-jp/windows/forum/all/%e4%bb%ae%e6%83%b3%e3%83%9e%e3%82%b7%e3%83%b3/b7b0eefd-44e6-4f5b-b2ed-9f97a45cb59e

ASUSでは**BIOSのUMA Frame buffer Sizeを 「Auto」にする**と解決できたらしい。しかしHPのBIOSにそんな設定はなかった。

***

https://h30434.www3.hp.com/t5/Gaming-Notebooks/WSL-2-Enabling-Virtual-Machine-Platform-feature-disables/m-p/7937412

こちらはWSLのフォーラムで同様な問題がないか調べていた時にリンクが張られていた。解決に近づいたか！？とテンションが上がったが、型番が違う。**OMEN Laptop 15-En0xxx**では、HPがこの問題を解決するためのBIOSを今年4月にリリースしてくれたらしい。OMENの場合はBIOSのアップデートで解決する(らしい)。

しかし私のPCはPavilionだ。違うBIOSをあてるのは危険だろう。Pavilionに絞って情報を探してみた。

***

https://h30434.www3.hp.com/t5/Notebook-Boot-and-Lockup/Enable-Virtual-Machine-Platform-causes-BSOD-loop/td-p/8103305

これはまさしく私と同じ症状！しかしレスの内容が報告している問題とかみ合っていない。しばらくほかの人から新しくレスがつかないかなーと眺めていたが、この人は結局問題が解決せず返品したようだ。

## 問い合わせてみた
BIOSの更新で問題が解決したということは、ユーザーの力では簡単にこの問題を解決できそうにない。(し、そもそもメーカー側が解決すべき問題である気がする)
7月頭、HPのサポートに電話して聞いてみることにした。

電話でうまく説明できるか自信がなかったので、可能なら日本人のサポートエンジニアが出てくれますように！と祈りながらフリーダイヤルにコールした。

問題の詳細を伝え、再現方法と復帰方法を説明し、問題が再現するか調査してもらうことになった。
後日、まったく同じ型番のPCではないが問題が再現したということで、技術部のほうにも報告してまたご連絡します、と電話があった。ただ、対応には時間がかかるかもしれない、とのことだったが、正直対応してもらえなかったらどうしようと思っていたので「期待してゆっくりお待ちしてます！」とお礼を言った。

その後、あれからどうなったかな、と一度電話を入れてみたら「まだ技術部で対応中ですが、Ryzenのドライバーになにか問題があるようです」と教えてくれた。きちんと対応を進めてくれているようで安心。

それからのんびり待つこと約2か月、8/23に電話がかかってきた。

## 結果

- 9月のWindows Updateでこの問題に対応した更新プログラムを流すことになった
- 何日に配信とは言えないが、9月中のWindows Updateなのは確か

ということでした。
なので私もまだこの問題が解決していませんが、見通しが立ったので記事にしました。

また9月にWindows Updateしてみて、解決していたらこの記事を更新します。
⇒10月になりましたが、依然として問題が解消せず……。再度問い合わせ中です。

## 最後に
最後になりましたが、HPのサポートの林さん、毎回丁寧な対応ありがとうございました！