Install Pi-Hole on Windows 11 Via WSL 🌱

Installing WSL

  1. Log into the Windows 11 device
  2. Launch PowerShell as administator by right clicking the Start button > search power > Right click on Windows PowerShell > Run as Administrator
  3. Run the following command to install WSL
    # enable WSL feature
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    # enable virtual machine platform
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all
  4. Type Y to reboot the system
  5. Launch Powershell as administrator and run the following additional commands to use WSL 2
    # enable virtualization platform
    Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
    # enable wsl2
    wsl --set-default-version 2
    # download the wsl kernel update
    $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi -OutFile .\wsl_update_x64.msi
    # reset progress preference
    $ProgressPreference = 'Continue'
    # install the downloaded file
    .\wsl_update_x64.msi
  6. Download the PiHole for WSL installer script Download
  7. Navigate to the Downloads directory > Right click the downloaded .cmd file > Run as Administrator
  8. Press Enter to accept the default install location (C:\Program Files)
  9. Press Enter to continue with the installation
  10. If prompted, allow network access for lighttpd and sshd
  11. When prompted, enter and confirm a Pi-Hole admin password
  12. After the Pi-Hole installation script completes, right click the Start button > run > type cmd > Press Enter
  13. Run the following commands in command prompt
    # enter wsl prompt
    wsl
    # edit resolv.conf
    sudo nano /etc/resolv.conf
  14. Add the following line

    nameserver 127.0.0.1

  15. Press CTRL+O, Enter, CTRL+X to write the changes to resolv.conf
  16. Run the following command to update the Pi-Hole blocklist
    # update pihole
    sudo pihole -g
  17. Open a web browser and navigate to http://localhost/admin
  18. Click Login
  19. Authenticate with the admin password set earlier

Special thanks to the developer of this installation script https://github.com/DesktopECHO/Pi-Hole-for-WSL1