====== Booting Windows XP SP2 over SMB ======
Windows XP SP2 Professional's RIS support allows for it to boot entirely over SMB. (Technically, the initial boot files are transferred over TFTP.)
===== Setup the Share =====
Create a directory on your hosting Windows system called **C:\NetXP\**.
===== Copy a Windows XP SP2 Installation =====
Install a fresh Windows XP SP2 installation on the target computer (perhaps a VM). For best results, make it a pretty vanilla (plain) install by choosing default options as much as possible.
Make sure to install the NIC. This will populate **C:\Windows\Inf\** with the ***.INF** file (perhaps as **OEM*.INF**) as well as copy the ***.SYS** driver into **C:\Windows\System32\Drivers\**. Once installed, use Device Manager and __un-install__ the NIC. Be careful of the NIC re-installing on reboots. You want to make sure it is un-installed before copying this Windows installation into the SMB share.
Shut down the target computer. Remove its HDD and attach it to your hosting Windows system. Copy all of the files from the target Windows installation into your **C:\NetXP\** directory.
C:\>xcopy /e /h e:\* c:\netxp\
... ... ...
C:\>dir /a c:\netxp
Volume in drive C is HostXP
Volume Serial Number is BA3E-07C9
Directory of C:\NetXP
03/15/2009 18:47
.
03/15/2009 18:47 ..
03/15/2009 14:51 0 AUTOEXEC.BAT
03/15/2009 14:46 211 boot.ini
03/15/2009 14:51 0 CONFIG.SYS
03/15/2009 18:47 Documents and Settings
03/15/2009 14:51 0 IO.SYS
03/15/2009 14:51 0 MSDOS.SYS
08/04/2004 08:00 47,564 NTDETECT.COM
08/04/2004 08:00 250,032 NTLDR
03/15/2009 18:44 Program Files
03/15/2009 18:37 Windows
7 File(s) 297,807 bytes
5 Dir(s) 3,403,010,048 bytes free
Make a backup of the target's registry:
C:\>cd netxp\windows\system32
C:\NetXP\Windows\System32>xcopy /e /h config Config.Untouched\
... ... ...
73 File(s) copied
Copy and decompress **I386\SETUPLDR.BI_** from your Windows XP installation disk as **C:\NetXP\NTLDR**:
C:\NetXP\Windows\System32>cd c:\netxp
C:\NetXP>copy d:\i386\setupldr.ex_ c:\netxp
1 file(s) copied.
C:\NetXP>expand setupldr.ex_ setupldr.exe
Microsoft (R) File Expansion Utility Version 5.1.2600.0
Copyright (C) Microsoft Corp 1990-1999. All rights reserved.
Expanding setupldr.ex_ to setupldr.exe.
setupldr.ex_: 117845 bytes expanded to 240640 bytes, 104% increase.
C:\NetXP>del setupldr.ex_
C:\NetXP>attrib -s -h -r ntldr
C:\NetXP>ren ntldr ntldr.old
C:\NetXP>copy setupldr.exe ntldr
1 file(s) copied.
===== Modify the Directory Structure =====
===== Limitations =====
==== Number of Clients ====
Only one client at a time can be booted with this setup, unless you duplicate the share for each client. If you want to save disk space, you could use lots of hard-linking for pretty well every file except the pagefiles and registries, but this is a huge mess without a batch file to set it up.
==== NetBIOS Resolution ====
The Windows host's NetBIOS name must be resolvable by the client. Commonly, you want them to be on the same subnet.