Windows Embedded Standard 2009 Step-by-Step Deployment – Part III
After reviewing the necessary steps for preparing our environment (Post I) and building a custom image for a thin client (Post II); we’ll prepare the remote boot process as well as the remote boot server that will deploy that image on diskless devices.
If you prepared the same environment with the XP Embedded version, the process does not have much differences.
1. Set the Image Ready
Even though the building process of the image is complete, we need to run a few steps to set the image ready for deployment.
The First Boot Agent (FBA) needs to be executed one time to complete this process. By booting the image one time, the FBA makes a hardware detection and finishing some other tasks like network configuration. Also, these tasks executed by the agent can be customized; check this link about FBA.
The image is already built, so we are going to take those files to a new disk (virtual in my case) and boot a client machine from there.
1.1 Add a second disk to the machine acting as Remote Boot Server. Create a new partition and set it to “Active”.
1.2 Copy the image files to that new logical disk.
1.3 Like I said, I’m using a virtual environment, so my next step would be to create a new virtual machine, attach the virtual hard disk as primary and start the virtual machine.
Since FBA contains several tasks to execute, could take a few moments to complete.
Soon as it completes, this message should appear: “Machine Released! Click to shutdown or reboot.”.
1.4 Select “Shutdown”. And I bet the next window will get you back some good old memories :)
Here comes an important note if you are planning a remote boot environment:
Since we’ve added the “System Cloning Tool” component and the image task sequences are now complete, every time this image is now booted will generate a new computer name, SID and other tasks that the fbreseal process executes to guarantee that there’ll be no cloned images on your environment. Quite similar as the sysprep process.
And it means that this image cannot be booted any more, otherwise the fbreseal process will be lost for next deployments.
1.5 Now you can attach the virtual disk back to the Windows Embedded remote boot server.
2. SDI Loader
The Storage Device Image Loader will be in charge of emulating those set of files to act as booteable storage for your clients.
2.1 Open SDI Loader from Windows Embedded Studio.
2.2 Click “Yes” to install the SDI Driver.
2.3 Click on “Add Disk” to generate a new .sdi file where the image will be stored.
2.4 Choose name and location for the file.
2.5 Choose the size of the file. This .sdi file should be, at least, 25% bigger than the image size.
Once it’s selected, the new device is added to SDI Loader and to your operating system as a new drive.
2.6 Open “Disk Management” to prepare the new virtual drive added to the system. Initialize disk.
2.7 Prepare the new volume following the wizard selecting it as “Primary Partition”.
2.8 Copy the image files (from the virtual disk that was used to boot one time) to the new virtual partition.
3. SDI Manager
Ok, now it is time to use some of options from the SDI Manager, that let us handle offline .sdi files.
We will generate a new SDI file that “Remote Boot Manager” will use to deploy on remote devices and machines.
3.1 Open a “cmd” and locate Windows Embedded Utilities “C:\Program Files\Windows Embedded\utilities”.
3.2 Create a new .sdi file using “SDImgr.wsf: cscript SDImgr.wsd /new c:\ramdisk.sdi”
With the new file created, the next step is to read the image files located in the virtual partition (in my case, this partition is associated with the F:\ drive) to complete the process.
3.3 From “cmd” run: “cscript SDImgr.wsf c:\ramdisk.sdi /readpart:F:”
64bits Operating System Issue
The SDI driver has an issue if you are using x64 operating system, like Windows Server 2008. If you try running any of the SDI Manager options, like the ones mentioned above, you will see this error:
“ActiveX component can’t create object: ‘SDIAUT.SDI’”
Even though the script used by x86 and x64 operating systems is the same, on a 32bit environment you won’t see this issue.
4. Configuring Remote Boot Manager
Remote Boot Manager and the DHCP role configured earlier, will be in charge of answering remote and diskless clients with the proper boot image.
4.1 Place the “ramdisk.sdi” file configured earlier inside this folder “C:\Program Files\Windows Embedded\Remote Boot Service\Downloads”.
4.2 Open "Remote Boot Manager” from Windows Embedded Studio.
4.3 Click “Yes” to create a new configuration file.
Once the Remote Boot Manager window opens, you need to add each client device or machine with their specific MAC Address. For that, we’ll take a look at the virtual machine client’s configuration.
4.4 To achieve booting from the network when you are using Hyper-V, you need to add a “Legacy Network Adapter” on the client machine and specify an static MAC Address.
4.5 With that, you are ready to complete the data from Remote Boot Manager.
Client MAC Address: Assigned statically.
Boot Server: Default value (0.0.0.0) to select local machine.
Boot Program: startrom.n12. This program will request F12 confirmation for booting from the network. You can also select startrom to access directly to the boot image without requiring confirmation.
Boot Image: ramdisk.sdi. Remember that the image should be placed inside “C:\Program Files\Windows Embedded\Remote Boot Service\Downloads”.
Boot Parameters: (optional).
Now your environment is set to go.
Make sure that your client machine has the correct configuration to boot from the network.
Loading the image remotely.
Windows Embedded image booting.
Desktop ready for use.