Deploying Windows XP, Bart PE
If you've been following our Windows XP Deployment series, you've probably noticed our frequent references to the Windows Pre-execution Environment or simply WinPE. In fact, the term appeared when discussing Systems Management Server 2003 OS Deployment Feature Pack and was most recently presented Solution Accelerator for Business Desktop Deployment. Bart's Preinstallation Environment is a free alternative to Software Assurance program or Systems Management Server 2003 software. Is this Windows preinstallation environment for everybody?
We dedicated a separate article to it in which we described its properties in more detail. We have listed a variety of benefits resulting from employing this technology (such as automatic hardware detection and the ability to include additional drivers on bootable CD-ROM media), and pointed out its main drawback: its licensing restrictions.
These restrictions place WinPE beyond the reach of some system administrators, especially those working in smaller companies that cannot afford to purchase Software Assurance program or Systems Management Server 2003 software. In such cases, it is still possible to take advantage of majority of features offered by WinPE through the similar in functionality but freely downloadable, BartPE.
This article takes a closer look at BartPE's characteristics as well as its applicability in operating system deployment scenarios.
BartPE stands for Bart's Preinstallation Environment. Currently in version 3.1.3, it was created by Bart Lagerweij, a Dutch programmer, who, for a number of years, has been providing the Windows community with various software packages sharing common purpose: feature-rich operating environment invoked via removable bootable media (e.g., modular and highly customizable CD-Rom Boot Disk). In the past few years, he has focused on developing an alternative to WinPE, which would extend benefits of this technology beyond the large enterprises. He implemented it in the form of two complementing products: BartPE, a bootable CD- or DVD-based cut-down version of Windows XP Professional or Home Edition or any of Windows 2003 Server versions, and PE Builder, a utility that generates the BartPE CD-ROM or DVD disk by extracting required files from Windows XP or Windows 2003 installation media.
It is important to remember that BartPE is not a free replacement for any of the Windows editions listed above. Since its creation and use implies leveraging fully licensed version of the operating system, you must still be a rightful owner of corresponding Microsoft product.
It is important to remember that BartPE is not a free replacement for any of the Windows editions listed above. Since its creation and use implies leveraging fully licensed version of the operating system, you must still be a rightful owner of corresponding Microsoft product. To use BartPE and stay compliant with Microsoft's licensing requirements, you are still required to purchase a Windows XP or Windows 2003 license. Deciding which is appropriate depends on the operating system that will be used to create the bootable media with PE Builder.
Despite the similarities, there are significant differences between the preinstallation environments. This results from distinct design principles of each as well as their intended purposes. WinPE's primary goal was to serve as Windows XP or Windows 2003 deployment utility, but BartPE was developed with troubleshooting and recovery in mind. Furthermore, unlike WinPE, Bart's solution yields itself very easily to extensibility, allowing for not only enhancing existing functionality but also for modifying default behavior (shared with WinPE). For example, the former has some artificially imposed restrictions, such as automatic restart after 24 hours of operation or lack of file sharing capabilities. It also lacks a graphical interface, which limits its interactivity to command line interface, with its Win32 shell extensions, various utilities, and scripting. With BartPE, on the other hand, you can bypass any of these limitations (as well as introduce new features or install additional applications and drivers) by applying small programs (in this context are referred to as plug-ins) that can be easily incorporated into the installation media (using PE Builder utility). This way, it is possible to remove uptime limits or enable file sharing and inbound connectivity via Remote Desktop Windows XP component or VNC software.
Certain plug-ins are available as part of the downloadable BartPE source files and must be enabled; others require additional files (typically freely downloadable from the Internet) or commercial programs to function. Numerous plug-ins (in each of these categories) are listed directly on the BartPE Web site, others can be found through third-party vendors. Runtime Software, for example, offers a number of data recovery-oriented ones). BartPE has a graphical interface with its own, customizable menu system based on the Nu2Menu plug-in (resembling standard Windows design). This provides you with a familiar method to access the majority of plug-ins to be included with the installation.
Both WinPE and BartPE can run solely by booting from removable media, without relying on access to a hard drive and using computer memory for temporary storage. This makes both extremely useful in troubleshooting and recovery scenarios, where the primary operating system instance on a target computer is non-bootable or corrupted. The recovery approach is considerably easier with read/write access to files on the NTFS-formatted local or Fibre Channel attached disks (including large volumes with the size in the range of Terabytes) and network locations where retrieved data can be easily copied to (all of this, without the need for installing even a single file on the defective system, which could have detrimental effect on its status). The same functionality comes handy in scenarios where the file system or boot sector has been infected with a virus and must be cleaned. Like Windows PE, BartPE offers scripting and Active Directory support. In addition to standard registry editing tools, it includes RegSrch, allowing for global search and replace.
Not surprisingly, BartPE has its share of drawbacks. The main one is lack of support from Microsoft. Should problems arise, you must rely on your own ingenuity or support from Internet community forums. Alternatively, you can try to contact Bart through his Web site, although you should first check the Frequently Asked Questions section.
Lack of official recognition from Microsoft also implies that an in-house, custom solution based on BartPE might suddenly stop working following next Microsoft operating system upgrade. On the other hand, Bart does work with the Dutch-based networking and software development company CTS, with the goal of delivering PE Builder solution to OEM manufacturers which indicates there is a chance for improving the level of support in the future.
Another drawback, although unlikely to be of concern to a majority of system administrators or casual computer users, is its lack of support for 64-bit platform of Windows XP and Windows 2003. At the same rate, it is not possible to substitute WinPE in comprehensive Windows XP rollout enterprise solutions, such as SMS 2003 Operating System Feature Pack or Solution Accelerator for Business Desktop Deployment.
To create the BartPE CD-ROM or DVD bootable media, first download PE Builder from one of the download links listed on the Bart's Web site. If you select PE Builder v3.1.3 self-installing package, you will receive a single executable pebuilder313.exe. Launching initiates the PE Builder Setup wizard, which creates a collection of files and folders (by default, residing in the c:pebuilder313) along with associated shortcuts in the Start Menu (and optional desktop icon). At the end of the wizard you will be prompted to accept the licensing agreement (which covers pebuilder.exe, bartpe.exe, netconfig.exe, and scangui.exe utilities).
Lack of official recognition from Microsoft also implies that an in-house, custom solution based on BartPE might suddenly stop working following next Microsoft operating system upgrade.
PE Builder is a simple GUI-based application that prompts for such information as the path to the installation files (typically the drive containing Windows XP Home/Professional Edition or Windows 2003 Server source CD although you can instead use the content copied to a network or local file system which you can search for and verify using options from the Source menu), a folder containing plug-ins or other custom data to be included with the BartPE CD, and a target folder where the resulting folder structure will reside (which subsequently must be copied to the BartPE installation media). Alternatively, you can create an ISO image or burn a new BartPE CD directly. Note that PE Builder v3.1.3 comes with a number of plug-ins already available (stored in the pebuilder313plugin subfolder), which you can individually enable or disable, by clicking on the Plugins command button of the Main application window, and then using Enable/Disable button (from the Plugins dialog box).
Some of the more common ones, selected by default, are:
- A43 File Management Utility: BartPE's incarnation of Windows Explorer, or rather (for those who remember older versions of Windows) File Manager, which it resembles more closely.
- BartPE Installer v2: Enables BartPE to be installed on a hard drive as the primary operating system.
- PartPE: Network Support: Implements network support, based on Microsoft Network Client and TCP/IP.
- Bart's Stuff Test: A feature-limited free edition of the program intended for stress testing of storage devices (providing ability to upgrade to registered version).
- Check Disk: Adds the chkdsk.exe utility into the set of files available within the PartPE environment and includes a script that can be used to launch it.
- Customize: Assists with customizing the PE Builder (customization process is based on modifications to a single file, custom.inf, which is stored in the pebuilder313plugin!custom subfolder).
- Drive SnapShot: A time-limited trial version of the utility (currently at version 1.3), which copies an image of a drive onto a newly created volume. More info about it can be found on the Drive Snapshot Web Site.
- Keyboard Layout: Assigns a default keyboard layout.
- Nu2Menu: Previously mentioned plug-in that creates custom graphical menu. The menu can be modified by editing Nu2Menu.XML file (which can be accessed from System->Nu2Menu->Edit menu option). The format of the file is self-explanatory, and the functions that can be invoked from it are documented on Bart's Web site.
- nu2Shell v1.0: Disables a forced reboot following 24 hours of uptime in WinPE and allows the creation of Reboot and Shutdown entries in the Nu2Menu.
- PENETCFG: Automatically starts the PE Network configurator, and controls file sharing and a number of other network parameters (such as, adapter speed and duplex settings, static and dynamic IP addressing, DNS and WINS entries, computer name, workgroup membership, and primary DNS). Frequently used settings can be stored in text files, referred to as profiles, and applied by specifying their name when invoking the penetcfg.exe utility.
- Profiles Folder: Creates a folder structure necessary to preserve users profiles and separate from the one used by standard Windows installations (which prevents profile clashes).
- RAMDisk: Initializes RAM disk using the QSoft Ramdisk implementation of the default size of 32 MB letter B: assigned to it.
- Remote Desktop Client: Makes the Remote Desktop client available within the BartPE environment.
- Serial Mouse: Adds a serial mouse driver.
- Startup Group: Creates an equivalent of Windows standard Startup group in BartPE Nu2Menu (in essence, this plug-in triggers the execution of all CMD files with the AutoRun prefix residing in the i386System32 subfolder when Nu2Menu plug-in starts).
Others might be enabled, depending on the intended purpose of the BartPE installation (such as Symantec Ghost 8.0, UltraVNC, Disk Commander v1.1, DOS 16-bit support for WinPE, ERD Commander 2002, McAfee VirusScan for Win32, or Nero Burning Rom). You can also easily add new plug-ins into the existing set (by simply copying them to pebuilder313plugin folder prior to creating the BartPE CD). Once all of the preferred plug-ins are enabled, return to the Main dialog box of the PE Builder v3.1.3 and click on the Build command button. This extracts the relevant file from the Windows XP or Windows 2003 source. Add selected plug-ins, and, depending on the options selected, copy BartPE files to a designated folder, create the ISO image, or burn the BartPE installation CD. You can monitor the progress in the PE Builder v3.1.3 - Build dialog box or review the pebuilder313pebuilder.log file where individual steps are recorded.
Once the disk is ready, it should boot to the BartPE operating environment. You will be presented with the graphical interface with a GO menu in the lower left corner. The number of entries available in Programs and System top-level menus depends on the plug-ins you enabled for your installation (and their individual configuration and installation procedures). Regardless of these choices, it will contain Command Prompt and Run entries. This gives you access to all administrative, troubleshooting, and recovery utilities as well as provide the ability to launch unattended installation of Windows XP or 2003 Server (by running WINNT32.EXE with appropriate command line switches). While automating this process requires some additional customization, it is worth the effort, especially considering that the goal can be accomplished without extra cost of WinPE licensing.