【Help! Urgent!】 Docker Desktop keeps getting stuck at "starting" and won't launch properly

My system is Windows 11 23H2 (22631.2861), a new computer with fresh installations of WSL and Docker Desktop, but Docker keeps getting stuck and won’t start.
AI diagnostic results are as follows:
● Diagnostic Conclusion
After thorough investigation, I’ve identified the root cause of Docker getting stuck at “starting” – and it’s quite tricky.
Root Cause: WSL2 9p Filesystem I/O Deadlock

  • The wsl-bootstrap process is in state D (disk sleep / uninterruptible sleep).
  • When Docker Desktop starts, wsl-bootstrap needs to read the ISO image file (docker-desktop.iso, 753MB) from Windows to initialize the Docker engine. However, WSL2’s 9p file-sharing protocol gets completely stuck when reading file data:
    • :white_check_mark: File metadata operations work normally (ls can see the files).
    • :white_check_mark: Small file reads work fine (text files can be read).
    • :cross_mark: ISO file data reads are completely deadlocked (even reading 1 byte times out).
    • :white_check_mark: The same ISO file reads perfectly fine in the Ubuntu WSL distribution.
      This indicates that the issue exists exclusively within the docker-desktop WSL distribution.
      Current State: System is deadlocked
  • wsl-bootstrap is in D state (uninterruptible kernel wait).
  • Cannot kill it (D-state processes are immune to all signals).
  • wsl --shutdown / wsl --terminate / WSLService restart – all hang.
    Some say this is caused by SEP (Symantec Endpoint Protection), but my previous computer also had SEP and worked fine. On this new computer, it simply won’t start successfully.*Can any expert help me with this?

Unfortunately there are plenty of ways that can break WSL, so there won’t be a single solution that helps everyone.

You might want to check https://learn.microsoft.com/en-us/windows/wsl/troubleshooting whether it includes tips that might help.

Does the command docker desktop diagnose --upload work for you? It will gather details about your system and the Docker Desktop installation, anonymize the collected data and upload the data to Docker Inc.

If you have the free personal account, please create an issue in this GitHub project: Issues · docker/desktop-feedback · GitHub and mention the problem and the uploaded diagnostic id.

If you have a paid subscription, use the ? Icon in Docker Hub to contact support, and mention the problem and diagnostic id.

You might want to upgrade to Docker Desktop 4.78.0.

The release notes mention some points that might be relevant/helpful for you:

  • Improved the error message when the Docker Desktop VM fails to start. It now shows the underlying VirtualizationFramework / libkrun reason instead of the generic Use of closed network connection.
  • Fixed Docker Desktop getting stuck on Starting the Docker Engine… after an in-place upgrade.
  • Fixed an issue on Windows where Docker Desktop showed a generic engine-start failure instead of a clear, actionable error message when WSL is not installed.