There are several ways to install the operating system on computers without optical drives. The easiest is to use an external drive. More time consuming - creating a bootable flash drive. Perhaps the least common is remote installation over a local network. The following discussion focuses on installing Windows XP. On the local network.
The installation process involves the following:
- preparation of the distribution kit;
- setup of DHCP and TFTP servers;
- BINL service preparation.
Preparing the distribution.
You need to create a directory, for example, x: \ boot \ winxp and make sure that it is accessible over the network. Then create an install folder in it and copy the distribution kit there (i386 directory).
md x:\boot\winxp\install
net share winxp=x:\boot\winxp
cacls x:\boot\winxp /e /g Everyone:r
xcopy y:\i386 x:\boot\winxp\install\i386\ /e /h
Now in the x: \ boot \ winxp folder you need to copy and unpack the boot loaders (ntdetect.com, ntldr, startrom.n12)
copy x:\boot\winxp\install\i386\ntdetect.com x:\boot\winxp\
expand x:\boot\winxp\install\i386\setupldr.ex_ x:\boot\winxp\ntldr
expand -rx:\boot\winxp\install\i386\startrom.n1_ x:\boot\winxp\
Then you need to create a directory x: \ boot \ winxp \ drivers \ sys. In the x: \ boot \ winxp \ drivers folder, you should put the files with information on installing drivers for network cards (.inf), and in x: \ boot \ winxp \ drivers \ sys - the drivers themselves (.sys). I recommend downloading the necessary drivers from the official website of the manufacturer of your network adapter. If you have confidence in the presence of the appropriate drivers in the OS distribution, you can unpack them from there.
md x:\boot\winxp\drivers\sys
expand x:\boot\winxp\install\i386\net*.in_ -r -f:*.inf x:\boot\winxp\drivers\
for %i in (x:\boot\winxp\drivers\*.inf) do type %i | findstr ".sys,,," >>x:\boot\winxp\drivers\list
for /f "delims=," %f in (x:\boot\winxp\drivers\list) do echo %f >>x:\boot\winxp\drivers\list.txt
for /f %i in (x:\boot\winxp\drivers\list.txt) do expand x:\boot\winxp\install\i386\driver.cab -r -f:%ix:\boot\winxp\drivers\sys
Copying drivers from the x: \ boot \ winxp \ drivers \ sys directory to x: \ boot \ winxp \ install \ i386 completes the distribution package preparation procedure.
copy x:\boot\winxp\drivers\sys\* x:\boot\winxp\install\i386\
')
Configure DHCP and TFTP servers.
Key points at this stage:
- specify the TFTP server x: \ boot \ winxp as a starting point;
- set the rules for distributing IP addresses by a DHCP server and show it the bootloader (startrom.n12)
For example
Tftpd32 :
Base directory | x: \ boot \ winxp |
Tftp security | None |
Allow '\' as virtual root | On |
IP Pool starting address | 192.168.0.10 |
Size of pool | one |
Boot file | startrom.n12 |
Mask | 255.255.255.0 |
Preparing the BINL service.
This service provides the installer of Windows XP with information on which driver for the network adapter to use. As a BINL service, you can use this set of python scripts:
ris-linux .
The archive must be unpacked in the folder x: \ boot \ ris. Then run the infparser.py script with the x: \ boot \ winxp \ drivers parameter and run binlsrv.py.
cd /dx:\boot\ris
infparser.py x:\boot\winxp\drivers
binlsrv.py
I tried two versions of python: 3.0 and 2.3.5. Both refused to execute infparser.py. The first one cursed the syntax, the second one - the impossibility of importing a function from the library. I see here two possible solutions: rewrite the scripts for the installed version or pick up the version for the scripts.
Since I am not familiar with this programming language, I didn’t try to correct the syntax for version 3.0. Dealing with the import of the function using 2.3.5 was not difficult: you need to replace its name in two places with format_exc with format_exception.
Finishing touch.
In the folder x: \ boot \ ris you need to find the file winnt.sif and copy it to x: \ boot \ winxp. Without it, nothing happens. But not with him immediately. The minimal changes that need to be made to it are the paths to the distribution (OriSrc and SetupSourceDevice).
OriSrc | \\ 192.168.0.1 \ boot \ winxp \ i386 |
SetupSourceDevice | \ Device \ LanmanRedirector \ 192.168.0.1 \ boot \ winxp |
Now, after making sure that DHCP and TFTP work, and BINL is running, you can proceed directly to the installation. Enjoy
Based on an
article on
UnattendedXP .