Build a robust Windows boot disk for free with BartPE

Learn how to install, set up, and customize a native Windows boot disk using a free program called BartPE.

There are a number of freeware recovery CDs and boot disks available, but there's one difference between most of them and Bart's Preinstalled Environment (BartPE), and that's the fact that BartPE is based on a native Windows environment. It also enables you to customize it so that you can add just about anything else you want to cram onto a bootable CD or DVD. And unlike most recovery CDs, BartPE can also provide network access. Let's take a look at what it can do and how to use it.

How BartPE works
BartPE Builder, from Nu2 recreates the Windows Pre-installation Environment (PE). Microsoft provides Windows PE to original equipment manufacturers (OEMs) to install software and test hardware, but Bart’s PE is intended to be used to recover data, remove viruses and trojans, and identify broken hardware. BartPE requires a functioning Windows XP or Windows Server 2003 system and the Windows installation media in order to create a bootable ISO image. The result is not identical to the Windows PE, but it is very similar.

Unlike many recovery CDs, Bart’s PE can provide network connectivity once you boot into the system. This is not, however, a one-click solution. You will need to download a few different packages to get the files you need for a full TCP/IP stack, but when you are done, you will have a DHCP-capable system able to access the Internet or your internal network from the book disk. I discovered that the NIC drivers managed to operate cards from different vendors. Naturally your experience may vary, but this fact could cut down the number of BartPE variants you need to keep in your IT library. It's important to note that for Windows file sharing you will need to have shares accessible outside a Windows domain since BartPE cannot log onto domains.

BartPE is also expandable so you can roll other software into your PE disk. It is built with a plug-in system using XML and INF files. By default, it comes with the configuration files for the programs shown in Table A.

Table A
Program Description
2x Explorer A Windows Explorer replacement
AdAware Popular pop-up, tracker-busting program
Bginfo A system information tool that displays processor, memory, etc. on the desktop.
Bart's Stuff Test (BST) This is the free version of Bart’s hardware testing tools and it's useful for checking hard drives.
Disk Commander Data recovery tools
16-bit DOS Environment Enables 16-bit programs in BartPE
Promise Fast Track TX4000/s150tx series Drivers for these popular RAID controllers
ERD Commander A popular recovery tool
Irfanview Free graphic viewer
Nero Burning Rom CD burning software
3com gigabit 3c940/3c2000 Driver Gigabit Ethernet driver
Off by One browser One of the smallest (1.2MB) free Web browsers available
PuTTY Popular Telnet/SSH program
Remote Desktop Windows Remote Desktop support
Symantec Ghost 32 Symantec’s disk imaging tool
Tight VNC Viewer Free virtual network connection
Total Commander A shareware file manager

While a few of these programs are free, and BartPE includes a few of the freeware tools, it also supports many of the most popular commercial products that might be desired on a recovery CD. The BartPE help file provides instructions on acquiring and adding the other free applications. For both free and proprietary programs, you will need to copy some files into the plug-in directory and enable the program in BartPE. You’ll probably want to add some programs of your own. For example, I added Ultimate Zip, a freeware archive program, onto the BartPE disk.

Author's note
I did find one error in the plug-in process, and it involved the McAfee virus scanner. The instructions have you place the files in the \plugin\mcafee\ directory, while the INF file is looking for \plugin\mcafee\files\. It only takes about 30 seconds to figure out the problem and correct it, but you may run into a few more of these kinds of bugs.

Before customizing your own disk you should get some files to enable network support:
  • IPChange.exe: This is an IP tool that can reset an IP address without a reboot.
  • Factory.exe: This is a Sysprep component that installs drivers after boot. Extract from the Windows Server 2003 install media (\support\tools\ or download the Windows Server 2003 Resource Kit and extract factory.exe from rktools.msi\\
  • Netcfg.exe: This is the network configuration tool, and you can get it from the Windows Preinstallation Environment (Windows PE) 1.2, Windows XP SP1 OEM Preinstallation Kit (OPK), or from ERD Commander 2002.

Alternatively, if you don't have access to the files listed above, then you can download snetcfg_wxp.exe.

Build your BartPE disk
Now, you're ready to get rolling. Start Bart’s PE Builder and you’ll see the free license screen followed by the Source screen (Figure A). Here, you will need to direct the program to your Windows installation media, the location of Windows XP or Windows Server 2003 files, and a directory of any additional files you want loaded onto the ISO.

Figure A

Next you will select the plug-ins (Figure B). If there are missing files, PE Builder will generate an error message.

Figure B

Next, the ISO image is built (Figure C).

Figure C

After the ISO image is ready, then you can burn it to a CD (or DVD) with your favorite CD/DVD burning software. Then you can put the CD into the target system and boot it up (or reboot it). Remember to make sure the machine's CMOS has its boot order set to boot from CD as the first option (that is usually the default setting).

Once you boot into the BartPE disk, you will see something similar to Figure D, which shows the Off by One browser connected to, the Nu2Menu with the plug-in menu, and the system information displayed on the desktop for quick reference.

Figure D

Changing the RAM drive
BartPE maps memory to use as a hard drive for quick-loading applications (this is called a RAM drive). The default size is 32 MB. However, you can change this by editing the \pebuilder\plugin\ramdrive\ramdisk.inf with a text editor and changing the RamDiskDiskSize value.

Creating a new plug-in
Configuring plug-ins is a simple process of building an INF configuration file, an HTML help file, and an XML file to update the Nu2 Menu that acts as a start menu on a BartPE disk. You will need to save these to their own subdirectory in the \plugins folder for them to load in the PE Builder.

I created my own INF file for Ultimate Zip. To start, I removed some unnecessary text files and add-ons like skins to simplify the INF. Since some programs install files to \Windows\System or \Program Files\Common Files\, you will need to copy or move them into the BartPE \Plugin directory after the programs are installed. If the program requires a Registry key to function you will need to add that to the INF. The \plugin\ramdisk.inf file configures a number of Registry keys and can be used as a reference.

The INF file shown in Listing A gives you a look at what I put together for adding Ultimate Zip; I used a semicolon (;) for comment lines.

Next, I put together the XML file that adds an entry to the BartPE disk menu in Listing B. It is rather simple, and only requires changing the file paths and executable to reflect your program.

Other individuals have put together notes and resources on dealing with the plug-in configurations. Here are some links:

End sum
BartPE, with its standard Windows environment and additional free tools, is a good rescue and disk verification tool. Mix in your favorite data recovery tools, antivirus, or other tools and you can turn it into a rescue/recovery disk for just about any specialized purpose.

Commercial solution
If you want a streamlined commercial version of BartPE, check out avast! BART CD. It offers a variety of additional tools including antivirus utilities, and there is a trial version that you can download for free.

Editor's Picks