How Booting into a Boot Image Works

Applies To: Windows Server 2008

In This Topic

  • Overview

  • RAMDISK Boot Image Process


You can boot Windows Preinstallation Environment 2.0 (Windows PE 2.0) in either of two formats:

  • Flat file. With this format, Windows PE files live in a flat file directory structure (not an image). Windows PE is booted directly from the flat file directory. If the flat file directory exists on the network, Windows PE will attempt to load and run directly over the network without first copying the files locally to the client computer. This method of booting Windows PE 2.0 is not available when booting from the network.

  • RAMDISK. With this method, a virtual disk volume is created in the RAM to hold the boot image (which contains Windows PE). The boot image is downloaded while booting from the network and saved to this location. Windows PE is then run directly from that media.

The following steps outline the general process when booting to RAMDISK.

  1. Step 1: Select an operating system entry. The Boot Configuration Data (BCD) format contains two entries that signify a RAMDISK boot. First, a device object is created to represent the RAMDISK object. This device object defines the parameters that are necessary to create the actual RAMDISK by defining the disk volume file. Second, an operating system entry is created that specifies the operating system image and references the RAMDISK device object (by its globally unique identifier, or GUID). The following is sample output from the BCD store obtained by using Boot Configuration Data Store Editor.

    Device options
    identifier              {68d9e51c-a129-4ee1-9725-2ab00a957daf}
    ramdisksdidevice        boot
    ramdisksdipath          \Boot\Boot.SDI
    Windows Boot Loader
    identifier              {7c7c9843-cb93-4096-a930-1d6ab763a4d0}
    device                  ramdisk=[boot]\Boot\x86\Images\Boot.wim,{68d9e51c-a129-4ee1-9725-2ab00a957daf}
    description             WinPE 5472 with NIC
    osdevice                ramdisk=[boot]\Boot\x86\Images\Boot.wim,{68d9e51c-a129-4ee1-9725-2ab00a957daf}
    systemroot              \WINDOWS
    detecthal               Yes
    winpe                   Yes
  2. Step 2: Create the RAMDISK. The RAMDISK itself involves two parts: a disk (volume) image and a file-system. The \boot\boot.sdi file, stored on the RemoteInstall folder during the initial configuration of the server, serves both of these functions. The .sdi file is a disk image that has been formatted with the NTFS file system. The process of booting from RAMDISK involves placing the Boot.sdi file into memory and pointing the loader at that file as if it were an actual disk. The operating system loader contains code to mount the volume and search the NTFS file system for a .wim file that contains the boot image.

  3. Step 3: Boot Windows PE. A RAMDISK boot image must be in a .wim file, and it must be explicitly marked as being able to boot from RAMDISK. You can mark the image as bootable by using the /boot option in ImageX when either creating (for with the /capture, /append, and /export options, for example) or modifying (with the /info option, for example) the boot image. Marking an image with the /boot option causes certain properties of the image to be propagated to the header of the .wim file (which is looked at by the loader when it is trying to discover what image is bootable). Although a .wim file may contain multiple images, only one image can be marked as able to boot from RAMDISK.

RAMDISK Boot Image Process

The following steps describe the overall process for booting into a boot image from the network.

  1. The BIOS or Extensible Firmware Interface (EFI) of the computer signals a request to boot from the network.

  2. PXE ROM gets an IP address from a Dynamic Host Control Protocol (DHCP) server and locates a server.

  3. PXE ROM downloads a network boot program (NBP) by using Trivial File Transfer Protocol (TFTP). For EFI, skip to step 5.

  4. The NBP downloads the operating system loader by using TFTP, using the User Data Protocol (UDP) stack from the PXE ROM.

  5. The loader downloads (using TFTP) the associated files needed to boot into Windows PE from RAMDISK. These files include the following:

    1. A Boot Configuration Data (BCD) store. This replaces the Boot.ini file, which tells the loader how to boot the operating system.

    2. An .sdi disk image.

    3. The boot image, in .wim format.

    4. Font files for the boot menu. You can configure the boot menu to be in a different language, so these files are downloaded to display the localized boot menu.

    The TFTP download occurs using the UDP stack from the PXE ROM. The TFTP protocol is implemented in the loader, so the user can see a progress bar.

  6. The RAMDISK is produced by creating the disk image in memory and appending the .wim file to the disk.

  7. Windows PE boots by using the image in the .wim file.

The following diagram illustrates what happens in the RAM of a client computer.