WSL 2 インストールのソリューションは不完全です

問題の説明

解決

Windows 機能で Hyper-v を有効にする


選択肢がない場合はHyper-v、新規テキストを作成し、以下の内容を貼り付け、サフィックス.cmdとしてから実行してください。

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

Linuxまた、適切なサブシステムを必ず有効にしてからWindows

コンピュータを再起動してDocker通常どおり実行する必要があります。

上記の操作を完了しても、「WSL 2 のインストールは不完全です」というエラー メッセージが表示されます。

まだ問題がある場合WSL 2 installation is incomplete.残っている理由は 1 つだけです。

私たちが使用している wsl2 のバージョンはかなり古いため、手動で更新する必要があります。プロンプトに従って Microsoft の公式 Web サイトから最新バージョンの wsl2 をダウンロードし、通常どおり開くことができます。

アップデートをダウンロードしてインストールするためのリンクは次のとおりです。

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

最新バージョンの wsl2 をインストールします。

再起動。走る。


この時点では、ほとんどは正常に実行できます。まだの場合は、究極のトリックがあります。
この時点でエラーが報告された場合、System.InvalidOperationException: Failed to set version to docker-desktop: exit code: -1
エラーは次のとおりです。

System.InvalidOperationException:
Failed to set version to docker-desktop: exit code: -1
 stdout: �S��v�[a�{
    
    |�W
N/ec\Ջ�v�d\O0
stderr: 
   在 Docker.ApiServices.WSL2.WslShortLivedCommandResult.LogAndThrowIfUnexpectedExitCode(String prefix, ILogger log, Int32 expectedExitCode) 位置 C:\workspaces\PR-15387\src\github.com\docker\pinata\win\src\Docker.ApiServices\WSL2\WslCommand.cs:行号 146
   在 Docker.Engines.WSL2.WSL2Provisioning.<ProvisionAsync>d__8.MoveNext() 位置 C:\workspaces\PR-15387\src\github.com\docker\pinata\win\src\Docker.Desktop\Engines\WSL2\WSL2Provisioning.cs:行号 82
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
   在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   在 Docker.Engines.WSL2.LinuxWSL2Engine.<DoStartAsync>d__26.MoveNext() 位置 C:\workspaces\PR-15387\src\github.com\docker\pinata\win\src\Docker.Desktop\Engines\WSL2\LinuxWSL2Engine.cs:行号 104
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
   在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   在 Docker.ApiServices.StateMachines.TaskExtensions.<WrapAsyncInCancellationException>d__0.MoveNext() 位置 C:\workspaces\PR-15387\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__5.MoveNext() 位置 C:\workspaces\PR-15387\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:行号 67
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
   在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   在 Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__5.MoveNext() 位置 C:\workspaces\PR-15387\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:行号 92

管理者として次のように入力しますcmd

netsh winsock reset

注: このコマンドは慎重に使用する必要があります。元のシステムがdocker削除されます。これは、リセットに相当しますdocker-desktop。その中のイメージとコンテナは失われます。再起動すると合計がdocker-desktop再生成されますdocker-desktopdocker-desktop-data

おすすめ

転載: blog.csdn.net/qq_31762741/article/details/132135823