Table of Contents

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    <DIR>          .
03/15/2009  18:47    <DIR>          ..
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    <DIR>          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    <DIR>          Program Files
03/15/2009  18:37    <DIR>          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.