# 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