System Deployment Image


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

Description

The System Deployment Image 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. 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 and also includes the boot.ini 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.
; 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 or three other of them.
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

SDI driver

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

Microsoft provides a tool called the "SDI File Manager" which can be used for the purpose of manipulating SDI files. Some of the tasks which this tool facilitates are:
The mechanism which allows for the creation, addition and removal of virtual disk drives. SDI Loader and Driver work with Disk BLOB.