Jump to content











Photo

XP/2003 Recovery Console via PXE, TFTP, SMB


  • Please log in to reply
6 replies to this topic

#1 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 12 April 2010 - 03:26 PM

I'd like to offer the Recovery Console via PXE, TFTP, SMB.

  • Install the XP/2003 Recovery Console
  • Create a NetXP\ directory anywhere
  • Create a Windows\ sub-directory
  • Copy the CMDCONS\ directory into the NetXP\Windows\ directory named as I386\
  • Move NetXP\Windows\I386\NTDETECT.COM into the NetXP\ directory
  • Share the NetXP\ directory via SMB as NetXP
  • Add Anonymous permissions to the share (Sharing tab)
    • Read
  • Add Anonymous permissions to the NTFS directory (Security tab, not applicable on a FAT filesystem)
    • Read & Execute
    • List Folder Contents
    • Read
  • Add Everyone permissions to the NTFS directory (Security tab, not applicable on a FAT filesystem)
    • Read & Execute
    • List Folder Contents
    • Read
  • Add the share to the list of null session shares
    • RegEdit.exe
    • My Computer\HKLM\SYSTEM\CCS\Services\lanmanserver\parameters
    • NullSessionShares : Add NetXP to the list
    • Restart the Server service*1
  • Make sure no firewalls are blocking your share from being accessed via SMB
  • Expand the following files into the NetXP\ directory
    • expand d:\i386\startrom.n1_ startrom.0
    • expand d:\i386\setupldr.ex_ ntldr
    • expand d:\i386\tftpd.ex_ tftpd.exe
  • Copy the following files into the NetXP\Windows\I386\ directory
    • copy d:\i386\ipnat.sy_ .
    • copy d:\i386\ipsec.sy_ .
    • copy d:\i386\mrxsmb.sy_ .
    • copy d:\i386\mup.sy_ .
    • copy d:\i386\ndis.sy_ .
    • copy d:\i386\netbt.sy_ .
    • copy d:\i386\rdbss.sy_ .
    • copy d:\i386\tcpip.sy_ .
    • copy d:\i386\tdi.sy_ .
  • Copy any NIC drivers into the NetXP\Windows\I386\ directory
  • Install MS TFTP service
    • sc create tftpd binPath= "drive:\path\to\NetXP\tftpd.exe"
    • reg add hklm\system\currentcontrolset\services\tftpd\parameters /v Directory /t reg_sz /d "drive:\path\to\NetXP"
    • net start tftpd
  • Make sure no firewalls are blocking your TFTP service from being accessed by clients
  • Create the following NetXP\WinNT.SIF file, using the appropriate ServerName:
    [SetupData]
    
    OsLoadOptions = "/fastdetect /sos /bootlog"
    
    SetupSourceDevice = "\Device\LanmanRedirector\ServerName\NetXP\Windows"
    
    
    
    [UserData]
    
    ComputerName = *
  • Your final directory layout should look like:
    • NetXP\
    • NetXP\NTDETECT.COM
    • NetXP\NTLDR
    • NetXP\STARTROM.0
    • NetXP\TFTPD.EXE
    • NetXP\WINNT.SIF
    • NetXP\Windows\
    • NetXP\Windows\I386\
    • NetXP\Windows\I386\Usual Recovery Console Contents*2
    • NetXP\Windows\I386\Extra NIC drivers
    • NetXP\Windows\I386\ipnat.sy_
    • NetXP\Windows\I386\ipsec.sy_
    • NetXP\Windows\I386\mrxsmb.sy_
    • NetXP\Windows\I386\mup.sy_
    • NetXP\Windows\I386\ndis.sy_
    • NetXP\Windows\I386\netbt.sy_
    • NetXP\Windows\I386\rdbss.sy_
    • NetXP\Windows\I386\tcpip.sy_
    • NetXP\Windows\I386\tdi.sy_
  • Get Sherpya's binlsrv.py and infparser.py
  • Process an INF\ directory with .INF files for the NICs you need to support
  • Serve BINL clients with binlsrv.py
  • Make sure no firewalls are blocking your BINL service from being accessed by clients
  • PXE-boot a computer to startrom.0

Enjoy. ;)

*1 According to RulerOf (with thanks), you might also enjoy enabling the Guest account on the server, as well as making sure this account is not denied access from the network (think gpedit.msc).
*2 As far as I know, there is no difference between a Recovery Console installation and copying a certain set of Recovery Console files. Wonko the Sane has suggested that you might not wish to install the Recovery Console, so you might simply need to copy the usual Recovery Console contents, instead. This directory structure can be built with the batch file found here by using your XP/2003 installation media.

- Shao Miller

#2 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 17 April 2010 - 01:08 PM

;)

....but ....
it should not be necessary to actually install it, don't you? ;)

;)
Wonko

#3 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 19 April 2010 - 07:40 PM

Install what? The Recovery Console? MS TFTP daemon? No, you don't need to install the Recovery Console. You could use a batch file to extract the usual suspects from I386\. No, you don't need to install the MS TFTP service. You could use some other TFTP service. Unfortunately, if you do not install the Recovery Console, it means that you are putting some faith into your batch file's compatibility with the various variants of Windows out there... Think of different service packs and languages, for example.

#4 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 20 April 2010 - 10:15 AM

Install what? The Recovery Console? .... Unfortunately, if you do not install the Recovery Console, it means that you are putting some faith into your batch file's compatibility with the various variants of Windows out there... Think of different service packs and languages, for example.

Yep. :ranting2:

What I was referring to is that usually you need the RC when you have a problem, and it is rare that you already have the RC installed somewhere.

In this cases, one can use a "default" recovery console, such as the one you can download "self-standing" from MS:
http://support.micro...b;en-us;Q310994
and we already have a "standard" batch for it:
http://www.boot-land...?showtopic=2254
http://tips.vlaurie....out-an-xp-disk/

:ranting2:
Wonko

#5 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 21 April 2010 - 12:50 AM

The idea is that this Recovery Console is installed on the "server," not on the client. The client boots the Recovery Console environment from the "server." If your clients run XP Pro SP2, let your "server" be XP Pro SP2 with the Recovery Console. Thus, when your client(s) are in trouble, you PXE-boot them to the "server," and there's no need to install RC on the client(s).

#6 georgeman

georgeman
  • Members
  • 1 posts
  •  
    Argentina

Posted 25 August 2011 - 03:35 AM

Great!! I've been trying to achieve this for some time, and trust me this is pretty much the only tutorial that can be found on the net! I didn't think that my idea of booting the RC over PXE would be so "unusual" (I really strove to find this!). :good:

Now that it works, I looking to improve it a little bit... Is it possible for the setup "press R" screen to be bypassed directly onto the RC itself? I read somewhere that this is possible by patching the bootsector off a USB-based install, but what about PXE? I don't fully completely understand the PXE booting process in this case, so sorry in advance if the answer is pretty obvious... :suda: . I am currently using a 100% Linux server (atftpd for TFTP, Samba for the SMB shares, binlsrv for the driver part, and PXELINUX for the boot selection)

Or even better, any way to load the RC "HD style" (the way it loads when it is installed on the HD)??

Cheers!

#7 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 25 August 2011 - 07:52 AM

Great!! I've been trying to achieve this for some time, and trust me this is pretty much the only tutorial that can be found on the net! I didn't think that my idea of booting the RC over PXE would be so "unusual" (I really strove to find this!). :good:

Now that it works, I looking to improve it a little bit... Is it possible for the setup "press R" screen to be bypassed directly onto the RC itself? I read somewhere that this is possible by patching the bootsector off a USB-based install, but what about PXE? I don't fully completely understand the PXE booting process in this case, so sorry in advance if the answer is pretty obvious... :suda: . I am currently using a 100% Linux server (atftpd for TFTP, Samba for the SMB shares, binlsrv for the driver part, and PXELINUX for the boot selection)

Or even better, any way to load the RC "HD style" (the way it loads when it is installed on the HD)??

Cheers!


Right now I have no idea if we can use a patched bootsector :unsure:, if you use a "real" NTLDR + a BOOT.INI with the a line with the /cmdcons switch:

http://reboot.pro/2362/
http://reboot.pro/2362/page__st__7


would be the same , the one or the other are "the same thing", so which bootsector is actually loaded?

Maybe you shoudl change the approach and PXE boot an image of a RC.
The techniques talked about here:
http://reboot.pro/5316/
http://reboot.pro/5316/page__st__40
should be "portable" to a PXE boot.

:cheers:
Wonko




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users