Saturday, September 6, 2014

How to Boot BartPE Windows XP to RAM Drive

Booting BartPE CD to RAM Instructions

1. Have a copy of Windows XP installation CD or its files on hand.

2. Download PE Builder 3.1.10a and install. PE Builder was built with Windows XP in mind.  If you are installing PE Builder on a later Windows setup such as Windows 7, setupapi.dll from Windows XP needs to be copied to the PE Builder 3110a folder.

3. Obtain Windows Server 2003 Service Pack 1 versions of RAMDISK.SYS and SETUPLDR.BIN.
The Windows XP version of these files are not the same and will not work.  The two required files can be found in the Windows Server 2003 SP1 download from Microsoft.  Unfortunately it's a ~329MB download package and even though you need only these two small files that it contains you'll need to download the whole thing. The name of the downloaded file as of this writing is WindowsServer2003-KB889101-SP1-ENU.exe. Rename it to something shorter, for example WS2K3.exe, to make it easier to work with if you wish.

Once the package has downloaded DO NOT run it directly.  Doing so may create problems for your operating system. Instead from a command prompt (cmd.exe) maneuver to the directory containing the downloaded package and extract its contents to a safe location with the command

WindowsServer2003-KB889101-SP1-ENU.exe -x

or if you renamed it WS2K3.exe earlier

WS2K3.exe -x

Find RAMDISK.SY_ in the extraction directory and from the command prompt run

expand -r ramdisk.sy_ 

to get RAMDISK.SYS.  Copy the extracted RAMDISK.SYS and SETUPLDR.BIN to a safe location.

4.  Build a BartPE pebuilder.iso file in the regular manner of your choice adding whatever extra plugins or recovery and diagnostic programs you might think useful but replace the RAMDISK.SYS from Windows XP with the one obtained from Windows Server 2003 SP1. Rename the iso file PE.ISO.

5. Create a folder for the RAM-loaded BartPE project such as C:\RAM_PE. Copy both BOOTSECT.BIN from the regular BartPE directory used to create the iso and PE.ISO into the C:\RAM_PE directory. Create an i386 subdirectory inside C:\RAM_PE and copy both the NTDETECT.COM file from the i386 directory of the regular BartPE project and the SETUPLDR.BIN from Windows Server 2003 SP1 into the subdirectory. 

6. Create a WINNT.SIF file in the C:\RAM_PE directory with Notepad with the following content:

[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=PE.ISO"


After this you should have the following contents and layout in C:\RAM_PE:

C:\RAM_PE
     ---BOOTSECT.BIN
     ---PE.ISO
     ---WINNT.SIF
     ---\i386
          ---NTDETECT.COM
          ---SETUPLDR.BIN

It is important that the file names are upper-cased and follow the 8-character DOS 8.3 format limit for file names.

7. Next step is to create the bootable to RAM iso with mkisofs.exe.  Run a command prompt as an administrator and go to the PE Builder 3110a folder (i.e. the one containing mkisofs.exe). In the command prompt run the following:

mkisofs.exe -force-uppercase -iso-level 4 -volid "BartPE" -A PEBUILDER/MKISOFS -sysid "Win32" -no-emul-boot -b BOOTSECT.BIN -o pe_ram.iso "C:\RAM_PE"

This should create pe_ram.iso.

8. Burn pe_ram.iso to a CD.  You should now have a BartPE CD that can boot to RAM.

9. For it to work as expected, make sure the system's BIOS is set so that SATA control is in IDE mode, not AHCI, and that the system boots from CD ahead of the hard disks and other media. 


No comments:

Post a Comment