Install Windows over PXE
Updated: 2016-09-24 | 12:28 EDT
Table of Contents
In this tutorial I will demonstrate how to install Windows 7/8/10 over the PXE Server I built here. For the Linux portion of this tutorial I used a Raspberry Pi running the latest version of Raspbian.
- PXE Server
- Samba/CIFS File Server
- A working Windows 7/8/10 operating system
- Use the latest WADK. In my tests it is backwards compatible with WIndows 7, 8 , and 10.
- Windows installation media for the version you are installing
Windows Preinstallation Environment
Assuming you have the prerequisites above, I will start this tutorial with building the Windows Preinstallation Enironment(WinPE) boot image
Open the Deployment and Imaging Tools Environment
Clicking Start, and type deployment. Right-click Deployment and Imaging Tools Environment and select run as administrator.
Then Create a working copy of the WinPE files based on the architecture you need:
C:\ > copype x86 C:\WinPE_x86
C:\ > copype amd64 C:\WinPE_amd64
Make a bootable iso
C:\ > MakeWinPEMedia /ISO C:\WinPE_amd64 C:\WinPE_amd64\WinPE_amd64.iso
PXE Server Configuration
Now that we have our Windows PE RAM disk, we just need to copy it to our PXE Server and add it to our configuration. Add something similar to the following to the /tftpboot/pxelinux.cfg/default file. See my PXE Server tutorial for more information
$ sudo nano /tftpboot/pxelinux.cfg/default LABEL Windows PE MENU LABEL Windows PE KERNEL memdisk INITRD distros/windows/winpe_amd64.iso APPEND iso raw
Now is a good time to test our Windows PE RAM disk. Boot to your PXE Server and select your newly added WinPE entry(Depending on your connection speed it can take a couple minutes for the WinPE iso to boot). Once booted you should see something like this:
Samba Server Configuration
The final step before installing Windows over PXE is to serve up the Windows installation files via Samba/CIFS file share. If you need more information on how to setup a Samba server see my Network File Server tutorial. First I will make a directory to mount my Windows installation media.
$ sudo mkdir /mnt/cdrom
Then I will mount the installation media. I am using iso files. If you have an installation DVD rather than iso you will just need to know the mount point for the next step.
$ sudo mount -o loop WindowsInstallationMedia.iso /mnt/cdrom
Now we will copy the installation files to a permanent directory on our Samba server
$ sudo cp -R /mnt/cdrom/* /tftpboot/distros/windows/win7
Last but not least, edit the /etc/samba/smb.conf file. Here is what I have added:
$ sudo nano /etc/samba/smb.conf [win7] path = /tftpboot/distros/windows/win7 comment = Windows 7 Installation DVD valid users = "username" (User must have a samba password "smbpasswd -a 'Username'") writeable = no browseable = yes read only = yes
Restart the samba service
$ sudo service smbd restart
With the Samba share up and running its time to mount it from PXE booted WinPE iso.
After navigating to Z:\ and executing setup.exe, continue with the Windows installation as normal.
Comment below if you have any questions