Partition layout
Factory OS images use a Storage Spaces layout that gets provisioned and resized during the manufacturing process. These Storage Spaces allow for State Separation. While you can configure Factory OS virtual machines without Storage spaces, all shipped Factory OS devices will use Storage Spaces layouts. Microsoft defines the OS partition layout, and these partitions can't be added or removed.
Layout - Partitions and virtual disks
A Factory OS device has two partitions, the EFI system partition (BS_EFISP) and the OS storage pool which backs the Storage Spaces volumes behind Factory OS. Each volume has different attributes based on its role in the OS:
The following graphic and table show the relationship between a physical disk and the volumes on a Spaces-enabled Factory OS device.
Volume | Partition type | Size | Run-time access | Description |
---|---|---|---|---|
BS_EFISP | Physical | Sized at imaging time | Read/write | EFI system partition with bootmgr to bootstrap the OS in Storage Spaces |
Virt_EFIESP | Storage Space-backed | Sized at imaging time | Read/write | Contains the BCD and boot logs |
EFIESP | Storage Space-backed | Sized at imaging time | Read-only | Immutable boot apps and state |
MainOS | Storage Space-backed | Sized at imaging time | Read-only | Immutable OS binaries (e.g. System32). Accesible via %SystemDrive% environment variable. |
OSData | Storage Space-backed | Grow on first boot to fit device storage | Read/write | OS System state (e.g. Registry) |
Data | Storage Space-backed | Grow on first boot to fit device storage | Read/Write | User state (documents, photos, user-acquired apps). Accesible via %DataDrive% environment variable. |
BSP | Storage Space-backed | Sized at imaging time | Read-only | OEM-preinstalled drivers |
Preinstalled | Storage Space-backed | Sized at imaging time | Read/write | OEM-preinstalled Appx |
SERVICING_METADATA | Storage Space-backed | Sized at imaging time | Read/write | Servicing platform state |
SERVICING_FILES | Storage Space-backed | Sized at imaging time | Read/write | Servicing platform OS file store |
Disk usage
During installation
When a Factory OS image is applied to a target device, the OS storage pool expands to fill any available space, and then the OSData and Data Storage Spaces are extended to match the size of the OS storage pool.
Here's what happens with storage from imaging through first boot:
- Image creation The image is created, sized for a 32GB disk.
- Image deployment The image is applied to a disk that is larger than 32GB. When applied, the image only consumes the 32GB initial size.
- First boot On first boot, the OS storage pool expands so that it fills available space on the disk. Then the OSData and Data Spaces extend to match the size of the storage pool.
While using Factory OS
The partition layout image in the previous section shows a 128GB disk that contains two Storage Spaces (OSData and Data) that are also each 128GB. These partitions can each be the same size as the physical disk because the Storage Spaces are thin-provisioned from the same physical disk. With thin provisioning, available space from a physical disk is allocated by the OS on an as-needed basis to optimize the usage of available storage.
See Storage Spaces Frequently Asked Questions for more information.