System Deployment Image

A System Deployment Image (aka SDI) is a file format used primarily with Microsoft products to contain an arbitrary disk image, including boot sector information.

Description edit

The System Deployment Image (SDI) file format is often used to allow the use of a virtual disk for startup or booting. Some versions of Microsoft Windows allow for "RAM booting", which is essentially the ability to load an SDI file into memory and then boot from it. The SDI file format also lends itself to network booting using the Preboot Execution Environment (PXE). Another usage is hard disk imaging. The SDI file itself is partitioned into the following sections:

Boot BLOB
This contains the actual boot program, STARTROM.COM. This is analogous to the boot sector of a hard disk.
Load BLOB
This typically contains NTLDR and is launched by the boot BLOB.
Part BLOB
This contains the actual boot runtime (i.e. the contents of the disk image including any Operating System [OS] files) and also includes the boot.ini (used by NTLDR) and ntdetect.com files which should be located within the root directory of the runtime. The size of the runtime cannot exceed 500 MB. In addition to this requirement the runtime must also be capable of dealing with the fact that it is booting from a ramdisk. This implies that the runtime must include the "Windows RAM Disk Driver" component (specified within the boot.ini).
Disk BLOB
This is flat HDD image starting with a MBR. It is used for hard drive imaging instead of booting. Also only Disk BLOBs can be mounted with Microsoft's utilities.

SDI usually contains either Disk BLOB (HD cloning or temporary SDI) or three other of them (bootable SDI).

Windows Vista or Windows PE 2.0 boot sequence includes a boot.sdi file, which contains Part BLOB for an empty NTFS volume and a Table-of-Contents slot for the WIM image, which is stored on a separate on-disk file.

SDI features edit

SDI driver edit

SDI files can be mounted as virtual disk drives and assigned a drive letter if an SDI driver is available to allow this. A SDI driver is a type of storage driver and is commonly used with Windows XP Embedded.

SDI management edit

Microsoft provides a tool called the "SDI File Manager" (sdimgr.exe) which can be used for the purpose of manipulating SDI files. Some of the tasks which this tool facilitates are:

  • The creation of an SDI image file.
  • The creation of an SDI image file from an existing hard disk partition.
  • The verification of an existing SDI image.

SDI loader edit

The mechanism which allows for the creation, addition and removal of virtual disk drives. SDI Loader and Driver work with Disk BLOB.

See also edit

References edit

  • Saad Syed (November 2002). "RAM Boot Using SDI in Windows XP Embedded with Service Pack 1". Microsoft. Retrieved 2008-08-31.