<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: David Foster</title>
    <description>The latest articles on Forem by David Foster (@3dfoster).</description>
    <link>https://forem.com/3dfoster</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3689009%2F018c1332-d76f-4bf8-bb97-aab0088e1767.png</url>
      <title>Forem: David Foster</title>
      <link>https://forem.com/3dfoster</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/3dfoster"/>
    <language>en</language>
    <item>
      <title>How to Fix the Annoying WSL "Press any key to install" Popup on Windows 11 (After Uninstalling WSL)</title>
      <dc:creator>David Foster</dc:creator>
      <pubDate>Thu, 01 Jan 2026 23:11:32 +0000</pubDate>
      <link>https://forem.com/3dfoster/how-to-fix-the-annoying-wsl-press-any-key-to-install-popup-on-windows-11-after-uninstalling-wsl-294a</link>
      <guid>https://forem.com/3dfoster/how-to-fix-the-annoying-wsl-press-any-key-to-install-popup-on-windows-11-after-uninstalling-wsl-294a</guid>
      <description>&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; If you're getting a terminal window nagging you to install WSL on every boot after you've already uninstalled it, the culprit is likely the &lt;strong&gt;P9RdrService&lt;/strong&gt; (Plan 9 Redirector Service). Disable it in Services and the popup goes away.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;You uninstalled Windows Subsystem for Linux. You disabled the WSL feature. You removed your Ubuntu distros. And yet, every single time you boot your PC, you're greeted with this annoying terminal window:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Windows Subsystem for Linux must be updated to the latest version to proceed.
You can update by running 'wsl.exe --update'.
For more information please visit https://aka.ms/wslinstall

Press any key to install Windows Subsystem for Linux.
Press CTRL-C or close this window to cancel.
This prompt will time out in 60 seconds.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You close it. You reboot. It's back. You scream into the void. Microsoft doesn't hear you, and A.I. doesn't know how to help (yet).&lt;/p&gt;




&lt;h2&gt;
  
  
  The Solution
&lt;/h2&gt;

&lt;p&gt;Disable P9RdrService.&lt;/p&gt;

&lt;h3&gt;
  
  
  Option 1: PowerShell (Run as Administrator)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;Stop-Service&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"P9RdrService"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Force&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Set-Service&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"P9RdrService"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-StartupType&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Disabled&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Option 2: Services GUI
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Press &lt;code&gt;Win+R&lt;/code&gt;, type &lt;code&gt;services.msc&lt;/code&gt;, press Enter&lt;/li&gt;
&lt;li&gt;Find &lt;strong&gt;P9RdrService&lt;/strong&gt; (it might have a suffix like &lt;code&gt;P9RdrService_xxxxx&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Right-click → Properties&lt;/li&gt;
&lt;li&gt;Set &lt;strong&gt;Startup type&lt;/strong&gt; to &lt;strong&gt;Disabled&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Stop&lt;/strong&gt; if it's running&lt;/li&gt;
&lt;li&gt;Click OK&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Reboot. The popup should be gone.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is P9RdrService?
&lt;/h2&gt;

&lt;p&gt;P9RdrService stands for &lt;strong&gt;Plan 9 Redirector Service&lt;/strong&gt;. It's part of WSL's file-sharing infrastructure, using the Plan 9 filesystem protocol (9P) to let Windows and Linux share files.&lt;/p&gt;

&lt;p&gt;Even after you uninstall WSL, this service can remain installed. When it starts, it tries to communicate with WSL components that no longer exist, which triggers the update prompt.&lt;/p&gt;




&lt;h2&gt;
  
  
  How I Found the Solution
&lt;/h2&gt;

&lt;p&gt;After exhausting the fixes Gemini and Claude suggested (see appendix), I needed to figure out what was actually spawning &lt;code&gt;wsl.exe&lt;/code&gt;. Enter &lt;a href="https://learn.microsoft.com/en-us/sysinternals/downloads/procmonitor" rel="noopener noreferrer"&gt;Process Monitor&lt;/a&gt; (Procmon) from Microsoft's Sysinternals suite.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setting Up Procmon to Log at Boot
&lt;/h3&gt;

&lt;p&gt;The popup appears during boot, before you can manually start Procmon. So you need to enable boot logging:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open Procmon as Administrator&lt;/li&gt;
&lt;li&gt;Go to &lt;strong&gt;Options → Enable Boot Logging&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Reboot your PC&lt;/li&gt;
&lt;li&gt;After logging in, open Procmon again — it'll prompt you to save the boot log&lt;/li&gt;
&lt;li&gt;Save it and let it load&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Finding the Culprit
&lt;/h3&gt;

&lt;p&gt;With the boot log loaded, I filtered for &lt;code&gt;wsl&lt;/code&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Filter → Filter...&lt;/strong&gt; (or Ctrl+L)&lt;/li&gt;
&lt;li&gt;Add filter: &lt;code&gt;Process Name&lt;/code&gt; → &lt;code&gt;contains&lt;/code&gt; → &lt;code&gt;wsl&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add&lt;/strong&gt;, then &lt;strong&gt;OK&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This showed me every operation involving &lt;code&gt;wsl.exe&lt;/code&gt; during boot. The very first execution of &lt;code&gt;wsl.exe&lt;/code&gt; showed its parent's PID in the detail column.&lt;/p&gt;

&lt;p&gt;I removed the &lt;code&gt;wsl&lt;/code&gt; filter and performed a new filter for the PID calling the &lt;code&gt;wsl.exe&lt;/code&gt; process.&lt;/p&gt;

&lt;p&gt;This homed me in on svchost, calling a bunch of processes as Windows 11 was booting up. I performed a "Find" query (different than filtering) by pressing &lt;strong&gt;ctrl + f&lt;/strong&gt; and searched for "wsl".&lt;/p&gt;

&lt;p&gt;The first match showed what was going on:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;svchost.exe&lt;/code&gt; trying to open the Store version of WSL at &lt;code&gt;C:\Users\...\AppData\Local\Microsoft\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux...\wsl.exe&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Result:&lt;/strong&gt; &lt;code&gt;PATH NOT FOUND&lt;/code&gt; (the folder was empty — I'd already uninstalled WSL)&lt;/li&gt;
&lt;li&gt;Windows fell back to the stub at &lt;code&gt;C:\Windows\System32\wsl.exe&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Result:&lt;/strong&gt; &lt;code&gt;SUCCESS&lt;/code&gt; — it found the stub and executed it with &lt;code&gt;--update --confirm --prompt-before-exit&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;That stub launched the "Press any key to install WSL" popup&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Identifying Which Service Was Responsible
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;svchost.exe&lt;/code&gt; is just a container that hosts multiple Windows services. To find out &lt;em&gt;which&lt;/em&gt; service was triggering this, I right-clicked on one of the &lt;code&gt;svchost.exe&lt;/code&gt; entries in Procmon associated with &lt;code&gt;wsl&lt;/code&gt;, selected &lt;strong&gt;Properties&lt;/strong&gt;, and looked at the &lt;strong&gt;Command Line&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\Windows\system32\svchost.exe -k P9RdrService -p -s P9RdrService
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;-k P9RdrService&lt;/code&gt; flag identifies the service. That's the Plan 9 Redirector — a leftover WSL component that Windows failed to clean up during uninstallation.&lt;/p&gt;




&lt;h2&gt;
  
  
  Appendix: What I Tried Before Procmon
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Removing WSL Windows Features
&lt;/h3&gt;

&lt;p&gt;Settings → Apps → Optional features → More Windows features → Unchecked:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Windows Subsystem for Linux&lt;/li&gt;
&lt;li&gt;Virtual Machine Platform&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Popup still appeared.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Cleaning Up Windows Terminal Profiles
&lt;/h3&gt;

&lt;p&gt;Deleted leftover Ubuntu profiles from Windows Terminal's &lt;code&gt;settings.json&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"guid"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"{d8e96812-b789-5068-a5ae-10b2fb53e95f}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Ubuntu 24.04.1 LTS"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"source"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"CanonicalGroupLimited.Ubuntu24.04LTS_79rhkp1fndgsc"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Popup still appeared.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Removing the WSL AppX Package
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;Get-AppxPackage&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="nx"&gt;WindowsSubsystemForLinux&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Remove-AppxPackage&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Package was already gone. Popup still appeared.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Checking Startup Apps and Scheduled Tasks
&lt;/h3&gt;

&lt;p&gt;Checked Task Manager startup tab, &lt;code&gt;shell:startup&lt;/code&gt;, and Task Scheduler.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Nothing WSL-related. Popup still appeared. 😫&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Symptom&lt;/th&gt;
&lt;th&gt;Cause&lt;/th&gt;
&lt;th&gt;Fix&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;WSL install popup on every boot after uninstalling WSL&lt;/td&gt;
&lt;td&gt;P9RdrService still running&lt;/td&gt;
&lt;td&gt;Disable P9RdrService in Services&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Tested on Windows 11 25H2&lt;/em&gt;&lt;/p&gt;

</description>
      <category>microsoft</category>
      <category>tooling</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
