Installing Windows 7 across multiple computers can be a time-consuming task if you’re relying on physical media like DVDs or USB drives. However, there’s a more efficient method: network booting using PXE (Preboot Execution Environment) and TFTP (Trivial File Transfer Protocol). This guide will walk you through the steps to set up a network installation of Windows 7, streamlining the deployment process.
This method is particularly useful in environments where you need to deploy Windows 7 to several machines without physical access to each one, or when optical drives or USB boot options are limited.
Setting Up the Source Machine (Server)
The source machine will act as your server, providing the necessary files for the network boot process. Here’s how to configure it:
-
Static IP Address: Ensure your source machine has a static IPv4 address. For this example, we will use
192.168.0.1
. This ensures that client machines can reliably locate the server. -
Shared Windows 7 Installation Folder: Create a shared folder containing your Windows 7 installation files. In this guide, we’ll assume this folder is located at
.win7
. Make sure the necessary sharing permissions are set so that other machines on the network can access it. -
User Credentials: You’ll need user credentials to access the shared folder. For this example, we’ll use the username
TEST
and passwordtest
. Remember to use a secure password in a real-world scenario. -
TFTP and DHCP Server Setup (Using tftpd64): We will use tftpd64 (or tftpd32 for 32-bit systems) to act as both a DHCP and TFTP server. This software simplifies the process by providing both functionalities in one package.
-
Download tftpd64/tftpd32: Download the software from a reputable source like http://tftpd32.jounin.net/tftpd32_download.html.
-
Configuration:
-
Run
tftpd64.exe
. -
Open the “Settings” dialog.
-
DHCP Server Tab:
- IP pool starting address: Define the starting IP address for the DHCP pool. This will be the range of IP addresses assigned to client machines during the network boot. Choose an appropriate range for your network.
- Size of pool: Specify the number of IP addresses in the pool. It must be greater than 2 to accommodate the server and client machines.
- Boot File: Set this to
bootpxeboot.com
. This file, located within theboot
folder in your tftpboot directory, is responsible for initiating the Windows PE environment. - Mask: Use
255.255.255.0
for a typical Class C network. - Uncheck “Ping address before assignation”: This speeds up the DHCP process.
- Check “Bind DHCP to this address”: Select the IP address of your source machine to bind the DHCP server to it.
-
TFTP Server Tab:
- Ensure the “Base Directory” is set to the directory where you have extracted tftpd64/tftpd32, and that it contains a
boot
folder with Windows PE files.
- Ensure the “Base Directory” is set to the directory where you have extracted tftpd64/tftpd32, and that it contains a
-
Click “OK” to save the settings.
-
-
Restart tftpd64: Restart the application to apply the changes.
-
-
Windows PE in
boot
Folder: Theboot
folder within your tftppd64 directory should contain a working installation of Windows Preinstallation Environment (Windows PE). Windows PE is a lightweight version of Windows used for pre-installation tasks. You can obtain Windows PE as part of the Windows Assessment and Deployment Kit (ADK), which replaces the older Windows AIK.-
Windows ADK: Download and install the Windows ADK from Microsoft. During installation, select “Deployment Tools” and “Windows Preinstallation Environment (Windows PE)”.
-
Create Windows PE Files: Use the
copype
command from the Deployment and Imaging Tools Environment (as Administrator) to create a WinPE working directory. For example:copype amd64 C:WinPE_amd64
. Replaceamd64
withx86
if you are using a 32-bit environment. -
Copy Necessary Files: Copy the contents of the created WinPE ISO or folder to the
boot
directory within your tftpd64 directory. Specifically, ensure you havepxeboot.com
and thebootmgr.exe
files, along with theBCD
andboot.sdi
files in theboot
directory, and theboot.wim
file within thebootsources
subdirectory.
-
Booting the Receiver Machine (Client)
Now, configure the receiver machine (the computer you want to install Windows 7 on) to boot from the network:
-
Network Boot: Start the receiver machine and enter the BIOS/UEFI settings. The key to enter BIOS/UEFI settings varies depending on the manufacturer (Del, F2, F12, etc.). Consult your motherboard manual for the correct key.
-
Boot Order: In the BIOS/UEFI settings, locate the boot order options. Set the network adapter (usually listed as “PXE Boot”, “Network Boot”, or by the network adapter name) as the primary boot device or prioritize it in the boot order.
-
PXE Boot Initiation: Save the BIOS/UEFI settings and restart the receiver machine. It should now attempt to boot from the network. If the DHCP and TFTP servers are correctly configured on the source machine, the receiver machine will receive an IP address from the DHCP server and download the
pxeboot.com
boot file via TFTP. -
Windows PE Loading: You should see the Windows Preinstallation Environment (Windows PE) loading. This process may take a minute or two. You might be prompted to press F12 for network boot – follow the on-screen instructions if prompted.
-
Command Prompt in WinPE: Once Windows PE has loaded successfully, a command prompt (
X:Windowssystem32>
) will appear. Wait until a cursor is visible before proceeding.
Accessing the Shared Installation Files
Within the Windows PE environment on the receiver machine, you need to map a drive to access the shared Windows 7 installation folder on the source machine:
-
net use
Command: Use thenet use
command to map a network drive. In the command prompt, type the following command and press Enter:X:Windowssystem32>net use z: \192.168.0.1win7
Replace
z:
with the drive letter you want to assign,192.168.0.1
with the static IP address of your source machine, andwin7
with the name of your shared folder. -
Enter Credentials: You will be prompted to enter the username and password for accessing the shared folder. Enter the credentials you set up on the source machine. In our example, you would enter:
Enter the user name for '192.168.0.1': 192.168.0.1TEST Enter the password for '192.169.0.1': test
Replace
TEST
andtest
with your actual username and password.If successful, you will see the message:
"The command completed successfully."
-
Navigate to Installation Files: Now you can access the shared Windows 7 installation files by navigating to the newly mapped drive (e.g.,
z:
). From here, you can run the Windows 7 setup program (usuallysetup.exe
) located within the installation files.z:> setup.exe
Be patient as commands might take a bit longer to execute over the network. Follow the on-screen instructions to proceed with the Windows 7 installation.
Troubleshooting Common Issues
-
“autorun.dll could not be loaded or is corrupt setup can not continue error code (0xC1)”: This error usually indicates a mismatch between your Windows PE version and your Windows 7 installation media. To check your WinPE version, type
ver
at the WinPE command prompt. Compare the version number with the table below to find a compatible Windows ISO.ver
Win PE Version Matching Windows ISO 6.0.6*** 2.* Windows Vista 6.1.7600 3.0 Windows 7 6.1.7601 3.1 Windows 7 SP1 6.2.9200 4.0 Windows 8 6.3.9600 5.0 Windows 8.1 -
Network Boot Fails:
- Double-check that PXE boot is enabled in the receiver machine’s BIOS/UEFI settings.
- Verify that the source machine and receiver machine are on the same network and can communicate with each other.
- Ensure that tftpd64 is correctly configured and running on the source machine, and that the
bootpxeboot.com
file is present in the TFTP server’s root directory. - Check firewall settings on the source machine that might be blocking TFTP or DHCP traffic.
By following these steps, you can effectively install Windows 7 over a network using PXE boot and TFTP, making the deployment process much more efficient for multiple machines. Remember to consult the provided links and resources for further information and troubleshooting.