On the bios, enable AMD/Intel Virtualization first.
Install Windows 10 64-bit
RENAME Computer to something like, "Pi-hole-PC"
Enable Network Discovery (This PC > Network)
Confirm Windows time is correct!
In Windows disable Hibernation: Open CMD as administrator and enter the command:
powercfg -h off
Download Latest Ubuntu 64-bit ISO File. Download Link
Download VMWare Workstation Player 64-bit. Download Link
Install VMWare Player enabling enhanced keyboard, and disable product updates (optional).
Using VMWare, install Ubuntu. (Name Ubuntu Pi-hole-VM-01 (in case you place more Pi-hole VMs for redundancy. You'll create a username and password for the local user during installation. 20GB storage space is enough when prompted.)
BEFORE BOOTING VM FOR THE FIRST TIME, Select "Hardware Options" > Enable BRIDGE MODE under network options.
Start Pi-hole VM, Install VMWare Tools if prompted or run the command in terminal to install Open VMWare Tools
sudo apt-get install open-vm-tools open-vm-tools-desktop
NOTE if you find yourself unable to move the mouse from the VM windows back to windows, the command is “CTRL + ALT.”
Using the terminal, install curl on Ubuntu VM
sudo apt install curl
curl -ssl https://install.pihole.net | bash
Set a static IP address, Choose "Comodo," Choose adblocker lists (check all), "Yes" to IPV4 & IPV6, "Yes" to Webserver, "Yes" to logs and select the option to "Show Everything." Finally, record the IP address, username and password from the Pi-hole final install step.
To change the Pi-hole password, use the following command in terminal:
sudo pihole -a -p
CONFIRM Power settings on both the Ubuntu VM and Windows Host are set to NEVER TURN OFF.
Set Windows Static IP Address (RECOMMENDED SETTING BY MAC ADDRESS ON ROUTER)
Configure Windows to allow remote access, test connection.
Login to PiHole by entering the IP address of the VM within a web browser to confirm you are able to access the admin page.
Create VM startup shortcut to (example): “C:UsersPi-Hole-PCDocumentsVirtual MachinesPiHole-VM-01PiHole-VM-01.vmx” and copy it into the start up directory (RUN > shell:startup)
Shutdown VM, & Reboot Windows to test shortcut. (You may wish to enable auto-login on windows so VM auto starts after the machine is powered off. When the VM boots, you may receive a message such as: "Cannot connect the virtual device sata0:1 because no corresponding device is available on the host. Do you want to try to connect this virtual device every time you power on the virtual machine?" Select "No." Selecting "Yes" may cause the VM to not automatically boot correctly next time.)
In Windows, "WIN Key + R" > netplwiz, enable Pi-hole Windows user to automatically log in.
Reboot to test login and Pi-hole VM
Configure automatic login on Pi-hole VM, SHUTDOWN VM, REBOOT WINDOWS for a final test.
You may now use the Pi-hole IP address as the primary DNS on your device that hands out DHCP addresses. Do not use a secondary DNS unless you have set up a second VM and configured it the same at the first.
Optionally, you can also remote into the Windows host via RDP.