Docker DesktopをWSL2と紐づけると起動しなくなる。

DockerDesktopが起動しなくなり、3日間いろいろ試したのですが起動せず・・・
Qiitaにてご回答いただいた情報をもとに試したところ解決したため残します。

### 問題点
DockerDesktopにてSettingsのUse the WSL2 based engineにチェックを入れると起動しない。
（インストール時にチェックを外すと起動は可能であるが、職場の環境構築マニュアルではチェックを入れないとならない。）

### 発生しているエラー
```
Docker Desktop -Ubuntu
WSL integration with distro Ubuntu unexpectedly stopped with exit code1.
Do you want to restart it?
```

### 自分で試したこと
エラー内容で検索し、出てきたこちら↓の内容を参考にさせていただきながらおおよそ試しました。

https://github.com/docker/for-win/issues/9972

https://qiita.com/ssugimoto/items/b866ddeeff84f45dc53a

上記記事の大まかな内容ですが
コントロールパネルのWindowsの機能の有効化または無効化を開き、
    ・Linux用Windowsサブシステム(windows subsystem for Linux)
    ・仮想マシンプラットフォーム
にチェックが入っていることを確認しました。

WSLのpowershellの管理者モードにて
```
wsl -l -v
```
にて
    ・default version が2になっていること
    ・WSLのディストリビューションにUbuntuが選択されていることを確認しました。

・DockerDesktopのdebagにてClean / Purge data、アンインストール
・Ubuntuのアンインストール
・WSLのアンインストール
（すべてコントロールパネルのWindowsの機能の有効化または無効化にて、
    ・Linux用Windowsサブシステム(windows subsystem for Linux)
    ・仮想マシンプラットフォーム
のチェックを外し、再起動を行ったうえでアンインストールを実施しております。）


などを試してみましたがエラー内容は変わらず、起動できませんでした。


唯一DockerDesktopを再度インストールする際に、
WSL2オプションをチェックoffにしてインストールしたところDockerのチュートリアルが起動したので、DockerDesktop側ではなくWSL2に紐づけをする際のエラーなのではないかと推測した。


もうひとつエラーメッセージが出ていたのですがこちらはさっぱり何を言っているのかわからず、触れていません。
### An Error Occured
```
System.TimeoutException:
操作がタイムアウトしました。
   場所 System.IO.Pipes.NamedPipeClientStream.ConnectInternal(Int32 timeout, CancellationToken cancellationToken, Int32 startTime)
   場所 System.Threading.Tasks.Task.Execute()
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 HttpOverStream.NamedPipe.NamedPipeDialer.<DialAsync>d__8.MoveNext()
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 HttpOverStream.Client.DialMessageHandler.<SendAsync>d__9.MoveNext()
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Docker.Core.IPC.Client.<SendAsync>d__5.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.Core\IPC\Client.cs:行 40
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 System.Net.Http.HttpClient.<FinishSendAsyncBuffered>d__58.MoveNext()
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Docker.Core.HttpClientExtensions.<GetJsonAsync>d__0`1.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.Core\HttpClientExtensions.cs:行 16
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Docker.ApiServices.LifecycleClient.<GetDockerStateAsync>d__4.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.Engines\LifecycleClient.cs:行 49
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   場所 Docker.Engines.LinuxkitDaemonStartup.<WaitAsync>d__5.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.Engines\LinuxkitDaemonStartup.cs:行 60
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Docker.Engines.WSL2.LinuxWSL2Engine.<DoStartAsync>d__26.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.Engines\WSL2\LinuxWSL2Engine.cs:行 170
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Docker.ApiServices.StateMachines.TaskExtensions.<WrapAsyncInCancellationException>d__0.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\TaskExtensions.cs:行 29
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__6.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:行 72
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__6.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:行 99
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Docker.ApiServices.StateMachines.EngineStateMachine.<StartAsync>d__15.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\EngineStateMachine.cs:行 72
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Docker.Engines.Engines.<StartAsync>d__23.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.Engines\Engines.cs:行 109

```


https://qiita.com/u-sakutaro/questions/63419e91802b13e57b75

こちら↑にて質問させていただきました。


いただいた情報をもとにシステム環境変数にC:\Windows\System32を追加し、PCの再起動を行ったところ、無事DockerDesktopが動き出しました！！！！！！

参考記事
https://stackoverflow.com/questions/71644746/docker-wsl-2-integration-with-distro-ubuntu-20-04-unexpectedly-stopped-with-exi

うれしすぎて涙が出ました。

ただこのエラーにぶち当たったことでDockerの仕組み、WSLの仕組みなどが何となく理解できた気がします。
ご回答いただいた方に感謝し、勉強頑張っていきたいです。