Pages

Jumat, 08 Februari 2013

PXE Boot Bart PE

As I have been using PXE now for the last days, I wanted to build myself up some nice PXE Images to load from the Network. And the one thing I wanted for sure, was an Bart PE PXE Boot. So I searched the Net, found two really good guides ( Guide 1, Guide 2 ) and I am going to rewrite these Guides now here to set you up with an 100% working tutorial on “How to PXE Boot Bart PE”.
What you need:
- tftpd32
- BartPE / PE Builder
- Windows Server 2003 CD with SP1 (IMPORTANT! WITHOUT SP1 IT WON’T WORK!)
- Syslinux (optional)
We do start with the file preparations:
- Creating the BartPE CD
Copy your Windows Server 2003 SP1 Cd onto your PC (lets say C:\win2003),
install PE Builder and start it. Enter C:\win2003 as source,
tell him to create an Iso Image called BartPE.iso and hit start.
Congrats, you just created yourself an BartPE Boot CD with an Live Windows XP!
- Preparing Boot Files
You now need to grap the needed Files like Bootloader and Stuff.
So create an new folder and go get these Files from C:\win2003\i386:
NTDETECT.COM, SETUPLDR.EX_, STARTROM.CO_, STARTROM.N1_, RAMDISK.SY_ und RAMDISK.IN_
After you copied them, you need to extract them.
Open up an cmd Shell, cd to the folder with the copied Files and extract them all with the usage of
“Expand -r Filename” (or Expand -r * should work as well)
You now need to rename some files.
- setupldr.exe should be renamed to NTLDR
- startrom.n12 should be renamed to startrom.0
Next thing is you need to create a textfile with the name winnt.sif with the following content:
[SetupData]
BootDevice = “ramdisk(0)”
BootPath = “\i386\System32\”
OsLoadOptions = “/noguiboot /fastdetect /minint /rdexportascd /rdpath=BartPE.iso”
And thats it with file preparation.
You can delete the files SETUPLDR.EX_, STARTROM.CO_, STARTROM.N1_, RAMDISK.SY_ und RAMDISK.IN_.
All the others are going into the tftboot Folder of the next step.
- Setup up the tftpd32
Easy as hell. Download, unzip.
For example C:\tftpd32
Create the folder tftpboot within that.
And now to the config. There are actually two working configurations:
One with the usage of the pxelinux.0, and one without it.
Which flavor to use is your choice.
Difference: With pxelinux.0, you can build up an boot menu, without it you just only boot BartPE.
But first basics tftp config:
- start tftpd32.exe in C:\tftpd32
- Server interfaces chose your NIC
- Press Settings
Settings:
Base Directory: C:\tftpd32\tftpboot
Global Settings:
TFTP Server [X]
TFTP Client [ ]
SNTP Server [ ]
Syslog Server [ ]
DHCP Server [X]
Syslog Server: [ ] Save syslog message
TFTPD Security: None
TFTPD configuration:
Timeout (seconds) 3
Max Retransmit 6
Tftp port 69
Local ports pool (nothing in here)
Advanced TFTPD Options:
[X] Option negotiation
[ ] PXE Compatibility
[X] Show Progress bar
[X] Translate Unix file names
[ ] Use TFTPD32 only on this interface
[ ] Use anticipation window of 0 Bytes
[X] Allow ´\´ As virtual root
[ ] Hide Window at startup
[ ] Create “dir.txt” files
[ ] Create md5 files
[ ] Beep for long transfer
Press Ok.
Go to the DHCP Server tab and enter following Details depending on your Network configuration:
IP Pool starting adress: Should be +1 of your NIC IP if you got no other PC in your network
Size of Pool: Choose yourself how many clients you want to get in there. I picked 20, get no problems with leases…
Boot File: Depends on wheter you install with or without pxelinux.0. If with, you enter there pxelinux.0, if without the right thing is startrom.0
Rest: Set it appopriate to your network – and Press the big long “SAVE” Button!
Copy the files from - Creating the BartPE CD and - Preparing Boot Files Step into the tftpboot Folder.
You should have there by now:
NTLDR, startrom.0, startrom.com, ntdetect.com, winnt.sif, ramdisk.sys, ramdisk.inf, BartPE.iso
Now lets start with the real thing, only do ONE of these both things:
- without pxelinux.0
Really Easy: Just be sure that you set DHCP Boot file to startrom.0. And thats it!
- with pxelinux.0
A little bit more challenging, but still easy:
Extract the Syslinux-3.11.zip
Get the file menu.c32 from com32/modules, copy to the tftpboot
Get the file memdisk from root Folder, copy to the tftpboot
Get the file pxelinux.0, copy to the tftpboot
Create an folder in the tftpboot with the name pxelinux.cfg
Create an file in the folder pxelinux.cfg with the name default (no File ending and such) with following content:
DEFAULT menu.c32
TIMEOUT 300
ALLOWOPTIONS 0
PROMPT 0
MENU TITLE PXE Boot System
label pebuilder
MENU LABEL ^1: BartPE starten
KERNEL startrom.0
label BootNormal
MENU LABEL ^Boot Normal
LOCALBOOT 0
Be sure that you set DHCP Boot file to pxelinux.0
And thats it.
Note that you can integrate many programs into BartPE! Check out their website.
And do also note: It takes RAM on your client PC!
Normally you should be Ok if your RAM is not smaller than the BartPE.iso + 64 MB.
So don’t over do it ;-)
Have fun, and thanks for the both guidelines, without them I would have never figured that all out!
Notes:
- You should be able to build BartPE also with an normal Windows XP CD (if it should be higher than SP1), but you still need the Bootfiles to come from Win XP Server SP1 Package (you can download that for free from Microsoft) (Never tested that way!)
- One did set “Anticipation window of 50000 bytes” in the Advanced Tftpd Settings and said that I would speed up tftp transfer. Well, for me, it did just kill the whole process. So I DO NOT recommend that – but maybe its only a flaw in the current tftpd version, so I keep that still in here as note.
- If you use Windows Server as DHCP, these settings has to be set for your scoop: -003 Router (gateway IP), -066 Boot Server Host name (tftp server ip) -067 Bootfile Name (pxelinux.0 or startrom.0)
- Keep an eye out for filenames upper and lowecases if you use Linux / Unix as server! (everything writen lowercase execept NTLDR and BARTPE.ISO)

Tidak ada komentar:

Posting Komentar