Adding “Storage Spaces” in Windows Embedded 8 Standard - Part 1
Posted By J.T. Kimbell
Program Manager
Hey everyone, and happy new year! Today Bowei Xu is providing some great information on Storage Spaces, a new feature provided in Windows 8, and how you can use Storage Spaces in Windows Embedded. Before we get to the article, here’s a little bit more about Bowei.
Bowei currently works on various Lockdown and Branding features including Unified Write Filter (UWF), Unbranded Boot, and Custom Logon. Before moving to Windows Embedded in May 2012, Bowei worked on the local file system test team in Windows Sustained Engineering. During Windows 8 development, he helped the Windows Core Storage and File System test team to test the management layer (specifically powershell and the WMI Provider) for Storage Spaces.
Many cool new features have been added to Windows 8. One such feature is Storage Spaces. Storage Spaces groups physical disks into pools, and then a Virtual Disk (LUN) can be created from pooled storage. Then you can format the volume out of Virtual Disk with a regular Windows file system, such as NTFS, and use it as a regular disk is used now (on Windows 7 and before). Fault tolerance and resiliency have been built into Storage Spaces. If you want to keep your data safe, Storage Spaces is the feature you want to use.
I will focus in this blog on how to add Storage Spaces to the Windows Embedded 8 Standard system so that you can use this feature. I will not discuss the functionalities that Storage Spaces offers since you can find information about it in many places online, including this blog.
From the same blog, I have excerpted the following descriptions of Storage Spaces:
• Organization of physical disks into storage pools, which can be easily expanded by simply adding disks. These disks can be connected either through USB, SATA (Serial ATA) or SAS (Serial Attached SCSI). A storage pool can be composed of heterogeneous physical disks--different sized physical disks accessible via different storage interconnects.
• Usage of virtual disks (also known as spaces), which behave just like physical disks for all purposes. However, spaces also have powerful new capabilities associated with them, such as thin provisioning (more about that later), as well as resiliency to failures of underlying physical media.
After you search online or read the blog I mentioned above, you’ll know how great the feature is!
Can we use this great feature on Windows Embedded 8 Standard? The answer is Yes!
In fact, one of the advantages of using Windows Embedded 8 Standard is that many of the Windows 8 new features can be obtained for “free,” as long as the features or components are included in Windows Embedded 8 Standard.
Here, I will describe how to enable/add Storage Spaces to the Windows Embedded 8 Standard image and take advantage of this Windows 8 new feature.
Storage Spaces can be enabled or added in 3 different ways:
(1) Use ICE (Image Configuration Editor) to create an IBW image and then install Windows Embedded 8 Standard from the image;
(2) Choose and add Storage Spaces when installing Windows Embedded 8 Standard using IBW install media; or
(3) Add Storage Spaces using DISM on the live Windows Embedded 8 Standard system.
Using ICE:
You can create either an unattended configuration file or an IBW image using ICE. The procedures are pretty much the same when you are choosing the components. After you have chosen all the components that you need, go to the “Storage and Data” folder under Catalog. You will find “Storage Spaces” listed there (see below).
Drag “Storage Spaces” under Catalog to “Configuration File” in the middle. Then click “Add Required Modules” under “Validate” at ICE’s main menu (or press Ctrl + F5) to resolve the dependencies. This is very important; the required “spaceport.sys” driver will be added by doing this.
After you’ve added Storage Spaces, you can complete the process to get either a Configuration File or an IBW image with Storage Spaces. Then you can install Windows Embedded 8 Standard with Storage Spaces by using the unattended file or the IBW image.
Install Windows Embedded 8 Standard with Storage Spaces from IBW install media:
You can also add Storage Spaces during the installation of Windows Embedded 8 Standard from IBW media.
Insert the media and start the installation process by double clicking “Setup.exe.” You will get the following install page:
Click “Install Now.”
After you enter the product key and accept the license agreement, you will get the chance to choose a template. You can choose not to use any pre-defined template. In this example, I will use “Template Device Retail.”
Click “Next,”, and you will get to the page show below. Here, you are able to choose to modify the feature. Since Storage Spaces has not been included in the retail template by default, we need to add this feature. Check the “Modify Features” checkbox below, then click “Next.”
When you get to “Select the modules to include in your image” page, you will notice that Storage Spaces is listed under “Storage and Data” and is not checked.
Check the box to the left of Storage Spaces and click the “Resolve Dependencies” button. This is very important, as it was when we used ICE to add Storage Spaces. By doing this, required dependencies of Storage Spaces will be resolved, such as spaceport.sys driver. Without this driver, Storage Spaces will not function.
From there, you can continue to complete the installation process, and you will have a Windows Embedded 8 Standard system with Storage Spaces added.
Add Storage Spaces using DISM on the live Windows Embedded 8 Standard system
If you have already installed Windows Embedded 8 Standard system and you would like to use the Storage Spaces feature, you can use DISM tool to add the Storage Spaces package.
Get the Storage Spaces package from your installation media. Find the file “Microsoft-Windows-Embedded-StorageService.cab.” Copy this file to your Windows Embedded 8 Standard system.
In my example, I copied the cab file to “c:\StorageSpaceCab” directory.
Run the following command from the cmd prompt:
>dism /online /add-package /PackagePath:C:\StorageSpaceCab\ Microsoft-Windows-Embedded-StorageService.cab
Then press the Enter key. You will get the following message:
After you reboot the system, Storage Spaces will be ready to use!
In my next entry, I’ll show you how to create a Parity Virtual Disk out of a Storage Pool that has four physical disks, with one of the physical disks used as a “Hot Spare” disk.