MSEndpointMgr

Create a Windows 8.1 Enterprise Reference Image with MDT 2013

On the 18th of October, Microsoft released Windows 8.1 to the market. You can now grab the bits from VLSC (Volume Licensing Service Center) and start to create a reference image. In this post we’ll be creating the reference image with MDT 2013.

Overview

  • Environment information
  • Environment setup
  • Configure WSUS automatic approval and synchronization schedule
  • Create a folder structure for the reference image
  • Create a lab Deployment Share
  • Configure the Deployment Share
  • Modify the Rules
  • Modify the Bootstrap.ini
  • Download the Windows 8.1 Enterprise installation media
  • Add an Operating System
  • Create a Standard Client Task Sequence
  • Update the MDT Deployment Share – Lab Environment
  • Create a new virtual machine and start the reference image creation

Environment information
I recommend to install a new Windows Server 2012 (or R2) virtual machine and call it MDT01 (you can call it anything you like, but that’s the machine I’ll reference to through out this post). The server should have the following software installed:

MDT 2012 Update 1 is not supported with Windows 8.1, neither is the Windows ADK 8. That’s why we need to have the latest releases of both MDT and Windows ADK.
The MDT01 server should be joined to a domain. Ideally to a lab environment domain. You’d also need to create an Active Directory user account, MDT_BA and give it a password like Pa$$w0rd. The MDT_BA account and the password is entered in the Rules section described further down and also used to connect to the Deployment Share.

Environment setup

1. Begin to install Windows ADK 8.1. During the setup, you’ll have the option to install several features. The following features are required:

  • Deployment Tools
  • Windows Preinstallation Environment (Windows PE)
  • User State Migration Tool (USMT)

2. Continue with the MDT 2013 installation. This should be fairly easy and does not require any explanation.
3. Install WSUS 4.0 by running the following command in an elevated PowerShell console:

Add-WindowsFeature "UpdateServices","UpdateServices-WidDB","UpdateServices-RSAT","UpdateServices-API","UpdateServices-UI"

4. Paste the following into the same PowerShell console and press Enter:

$WSUSContentFolder = "C:\WSUS"
$WSUSUtil = "$Env:ProgramFiles\Update Services\Tools\WsusUtil.exe"
$WSUSUtilArgs = "POSTINSTALL CONTENT_DIR=$WSUSContentFolder"
Start-Process -FilePath $WSUSUtil -ArgumentList $WSUSUtilArgs -NoNewWindow -Wait

5. Launch Windows Server Update Services console.
6. The Windows Server Update Services Wizard now appears.
50_2
7. Click Next on the Before You Begin page.
8. Click Next on the Microsoft Update Improvement Program page.
9. Click Next on the Choose Upstream Server page.
10. Click Start Connecting on the Specify Proxy Server page. This might take a few minutes. Click Next when finished.
11. On the Choose Languages page, select the languages you wish to download updates for. In this post we’ll only be downloading updates in English. Click Next.
12.  On the Choose Products page, deselect everything except for Windows 8.1. Be aware though that if you’re gonna create a reference image with applications embedded (e.g. Office), remember to add those applicable applications in WSUS later on, otherwise when the step for installing updates begins your reference image will not have any updates for that application. For the purpose of this post, we’re only creating a thin reference image with no applications. Click Next.
13. Click Next on the Choose Classifications page.
14. Select Synchronize automatically on the Configure Sync Schedule page and specify a time schedule that suits your environment. Click Next.
15. On the Finished page, select Begin initial synchronization and click Finish.

Configure WSUS automatic approval and synchronization schedule

1. Launch the Windows Server Update Services console on MDT01, expand Update Services -> MDT01 and click on Options. Configure the Automatic Approvals according to the picture below:
50_3
2. Click on Run Rule.

Create a folder structure for the reference image

1. On the MDT01 server, create the following folder structure:
C:\OSD\ReferenceImages (You could of course choose another structure that suits you better, but remember to edit the Rules section described further down in this post)
2. Right-click on the OSD folder and select Properties. On the Sharing tab, click on Advanced Sharing and then Permissions. Everyone should have Full Control. Click OK until you get back to the OSD Properties window.
3. Click on the Security tab and then Edit. Add the MDT_BA account and ammend its permissions with Modify.

Create a lab Deployment Share

1. Open Deployment Workbench on MDT01.
2. Right click on Deployment Shares and choose New Deployment Share.
3. Enter C:\DeploymentShare as the path for this deployment share and click Next.
4. Choose the default share name suggested (DeploymentShare$) and click Next.
5. Name the deployment share description MDT Deployment Share – Lab Environment and click Next.
6. Click Next on the Options page.
7. On the Summary page, click Next.
8. Click Finish on the Confirmation page.

Configure the Deployment Share

1. Right-click and choose Properties on the MDT Deployment Share – Lab Environment deployment share and click on the Windows PE tab.
2. Select platform x64 and make sure that Generate a Lite Touch bootable ISO image is checked. Change Scratch space size to 128.
50_5
3. Under the Features tab of the Windows PE tab, check .NET Framework and Windows PowerShell 3.0. This step is optional, but necessary if you’d like to add some PowerShell scripts to your task sequence at a later stage.
50_4
4. Click Apply and then OK.

Modify the Rules

1. Right-click and choose Properties on the MDT Deployment Share – Lab Environment deployment share and click on the Rules tab.
2. Replace the existing rules with the following:

[Settings]
Priority=Default
Properties=MyCustomProperty
[Default]
OSInstall=Y
DeploymentType=NEWCOMPUTER
UserID=MDT_BA
UserDomain=contoso.com
UserPassword=Pa$$w0rd
SkipBDDWelcome=YES
SkipDeploymentType=YES
SkipDomainMembership=YES
SkipApplications=YES
SkipSummary=YES
SkipUserData=YES
SkipComputerName=YES
SkipTaskSequence=YES
SkipLocaleSelection=YES
SkipTimeZone=YES
SkipAppsOnUpgrade=YES
SkipAdminPassword=YES
SkipProductKey=YES
SkipComputerBackup=YES
SkipBitLocker=YES
SkipCapture=YES
SkipFinalSummary=YES
ComputerName=WIN81REF
UILanguage=en-US
UserLocale=en-US
KeyboardLocale=0409:00000409
TimeZoneName=W. Europe Standard Time
TaskSequenceID=WIN81REF
WSUSServer=https://mdt01.contoso.com:8530
DoCapture=YES
ComputerBackupLocation=NETWORK
BackupShare=\\mdt01.contoso.com\OSD
BackupDir=ReferenceImages
BackupFile=Win81EntRefImage.wim
FinishAction=SHUTDOWN

3. Make sure that you edit the rules so that they suit your environment. For example, my domain is contoso.com. Edit the following rows:
UserDomain=contoso.com
WSUSServer=https://mdt01.contoso.com:8530
BackupShare=\\mdt01.contoso.com\OSD
4. If you’ve choosen to give the MDT_BA user another password, remember to change that row aswell:
UserPassword=Pa$$w0rd
5. Click on Apply and then OK.

Modify the Bootstrap.ini

1. Right-click and choose Properties on the MDT Deployment Share – Lab Environment deployment share and click on the Rules tab.
2. Click on Edit Bootstrap.ini.
3. Replace the existing settings with the following:

[Settings]
Priority=Default
[Default]
DeployRoot=\\MDT01\DeploymentShare$
SkipBDDWelcome=Yes
UserID=MDT_BA
UserDomain=contoso.com
UserPassword=Pa$$w0rd

4. Change the UserDomain=contoso.com row so that it contains your domain instead.
5. If you’ve given the MDT_BA account another password than Pa$$w0rd, change it here aswell.
6. Close Bootstrap – Notepad, click Apply and then OK.

Download the Windows 8.1 Enterprise installation media

1. Log on to either MSDN or TechNet and download the Windows 8.1 Enterprise ISO.
2. Mount the ISO on MDT01.
3. Browse the mounted ISO and go to <drive-letter>:\sources.
4. Copy the install.wim to C:\Install (create the folder if necessary).

Add an Operating System

1. Go back to the Deployment WorkBench, right-click on Operating Systems and choose New Folder.
2. In the New Folder window, name the folder Windows 8.1 Enterprise x64 and click Next.
3. Click Finish when the task has completed.
4. Right-click on the newly created folder and choose Import Operating System.
5. On the OS Type page, select Custom image file and click Next.
6. Browse to the install.wim file copied earlier and click Next.
7. On the Setup page, select Setup files are not needed and click Next.
8. Specify the Destination directory name Windows 8.1 Enterprise x64 on the Destination page and click Next.
9. Click Next on the Summary page.
10. Click Finish when the process has completed successfully.
11. Optional: Right-click on the newly added operating system and select Rename. Rename it to Windows 8.1 Enterprise x64 – Install.

Create a Standard Client Task Sequence

1. Right-click on Task Sequences and choose New Folder.
2. In the New Folder window, name the folder Windows 8.1 Enterprise x64 and click Next.
3. Click Finish when the task has completed.
4. Right-click on the newly created folder and choose New Task Sequence.
50_6
5. Enter WIN81REF under Task sequence ID and Windows 8.1 Enterprise x64 – Reference under Task sequence name and click Next.
6. Select Standard Client Task Sequence as your template on the Select Template page and click Next.
7. Select the Operating System created earlier called Windows 8.1 Enteprise x64 – Install and click Next.
50_7
8. Select Do not specify a product key at this time on the Specify Product Key page and click Next.
9. On the OS Settings page, enter your organization information into the Organization field, but leave the Full Name and Internet Explorer Home Page values by default (you could change them if’d like) and click Next.
10. On the Admin Password page, select Do not specify an Administrator password at this time and click Next.
11. Click Next on the Summary page.
12. Click Finish when the process has completed successfully.
13. Right-click on the Windows 8.1 Enterprise x64 – Reference task sequence and select Properties.
14. Go to the Task Sequence tab.
15. Under the State Restore group, enable Windows Update (PreApplication Installation) and Windows Update (Post-Application Installation). You can enable a step by selecting it and clicking on the Options tab for that step, then uncheck the Disable this step. It’s a good idea to enable both Windows Update steps, if you plan to install application in your reference image.
50_8
16. Disable the BitLocker step.
50_9
17. Click Apply and then OK in the task sequence window.

Update the MDT Deployment Share – Lab Environment

1. Right-click on MDT Deployment Share – Lab Environment and select Update Deployment Share.
2. Select Optimize the boot image updating process and click Next.
3. On the Summary page, click Next.
4. Click Finish when the process has completed successfully.

Create a new virtual machine and start the reference image creation

1. Copy the LiteTouchPE_x64.ISO file from C:\DeploymentShare\Boot on MDT01 to either a network share or locally on your virtual machine host server.
2. Create a new virtual machine and mount the LiteTouchPE_x64.ISO to the CD/DVD drive of the virtual machine.
3. Boot the virtual machine and let the magic begin.
50_10
4. Once the image has been applied, you’ll get presented with the Start screen. Don’t be afraid and think that something is broken and the task sequence failed. If you click on the Desktop tile, you’ll see that the task sequence is still running.
50_11
5. When sysprep is done, it will start to create a WIM file. At the end the WIM file will be backed up to the path specified earlier in the Rules section.
50_1
That’s it! You now have a reference image ready to be deployed with ConfigMgr 2012.

Nickolaj Andersen

Chief Technical Architect and Enterprise Mobility MVP since 2016. Nickolaj has been in the IT industry for the past 10 years specializing in Enterprise Mobility and Security, Windows devices and deployments including automation. Awarded as PowerShell Hero in 2015 by the community for his script and tools contributions. Creator of ConfigMgr Prerequisites Tool, ConfigMgr OSD FrontEnd, ConfigMgr WebService to name a few. Frequent speaker at conferences such as Microsoft Ignite, NIC Conference and IT/Dev Connections including nordic user groups.

36 comments

  • Question, I have never had this issue with Win 7 but now as I try to build a custom task sequence with Windows 81. Ent the entire task sequence stops after the os has been dropped. Windows settings, domain settings and confmgr are all installed but after that the OS launches and does not proceed to the next task sequence.

  • can I capture an image of the OS volume after I run sysprep witch has my unattend.xml file in place and the machine shuts down as directed after sysprep.
    I have been doing this with command prompt using imageX boot cd. This works OK to create our master image .wim file but would like a more automated way to do it with either MDT or SCCM 2012.
    Thanks for a great instructional site,
    D

    • Hi Dac,
      So you’d like to have the reference image virtual machine automatically shut down after it has successfully captured the WIM? You’d simply just add the FinishAction property to the CustomSettings.ini file, with the value of SHUTDOWN. Like this:
      FinishAction=SHUTDOWN
      Regards,
      Nickolaj

  • Awesome walk through! There is one part I don’t understand. I loaded the ISO of litetouch and booted the image system off of it. It seems to go through its stages pretty quick and then the system reboots. After that, it just launches back into win8.
    Its like I never ran the Litetouch. The whole process takes about 1 min. Not sure what to do at this point. Even tried running the litetouch.vbs. That runs for about 5 sec and then nothing. I am at a loss~!

  • Great easy to follow article,, thank you.
    I hope you make MVP soon you do some really good stuff.

    • Hi Richard,
      I’m glad that you think it’s a great article, since that’s one of my goals with this blog to share my knowledge and make it easy for others to follow the instructions. To become a MVP one would have to be nominated for each cycle they either renew and award new MVP’s. I’ve been nominated a few times around now, but never got further. Although, I’m not doing this to become a MVP, I’m doing it because I truly believe in the community, sharing information and helping out wherever I can.
      Regards,
      Nickolaj

  • Thanks for helping out and posting knowledgeable articles so others like myself can learn…

  • How would I make a universal image on a virtual machine? The image is a windows 8.1, It has various software installs and updates. Also, If I putting this on a physical machine, i need the drivers to be installed. I have all the drivers and i put them in out of box drivers. But how do i tell the install to use which driver pack?

  • I have followed this Guide but when I try to “Create a new virtual machine and start the reference image creation” it just hangs?
    The virtual machine goes on high CPU but nothing seems to happen. How can I monitor this process?

  • One more comment: if you are installing applications in your task sequence you nee to change the skipApplcations=YES to NO, other wise the task sequence won’t install them..

  • Hey Nick,
    You have an error in your Modify Rules answer file:
    SkipeCapture=Yes it should say NO..other wise sysprep won’t capture your base image….

    • Hi Gus,
      SkipCapture is only to skip the wizard page where you can configure the capture settings. Further down you can see that I’ve specified DoCapture=Yes.
      Here’s some more information:
      SkipCapture (from Deployment WorkBench help files):
      Indicates whether the Specify whether to capture an image wizard page is skipped.
      For other properties that must be configured when this property is set to YES, see Providing Properties for Skipped Deployment Wizard Pages.
      Regards,
      Nickolaj

  • I want to know few things. please help me bit briefly
    a) it can be used for windows 7 as well?
    b) what is difference between Config manager native mode (task sequence without MDT & reference image with MDT 2013
    c) please provide me steps to inject language pack at least one language like Spanish or French
    d) it is necessary to edit using System image editor like copy admin profile , regional settings & keyboard settings?
    e) light touch boot ISO can be used as SCCM 2012 R2 x64 boot image? i mean just import same boot ISO into SCCM it will work?

  • Hi Nickolaj
    Thank you for this post, it’s very helpful!
    Do you also have a post about how deploying the reference wim-file to a target computer?
    Best Regards,
    Dominic

  • I would like to setup a Standalone (WORKGROUP) MDT deployment server in my lab environment.
    How should the customsettings.ini be configured in order to be able to deploy new machines and make them join another domain(s) on the network?
    Please advice.

    • Hi Manoj,
      I’ve created a PowerShell script that you run on a workgroup server to do the following:
      – Install MDT 2013
      – Install Windows ADK 8.1
      – Let you import Operating Systems
      – Let you import Applications
      – Configure WSUS
      – Begin initial WSUS synchronization
      … and much more.
      Basically it will setup the whole MDT deployment solution for you. All you need to do is just to boot a VM from the ISO MDT generates, select a task sequence and then let the reference image creation begin. If you want I can give you the script now, it’s complete and tested, but I’ve not yet found any time to write a blog post about it (I just switched jobs). Send me an email, you’ll find it on the About page.
      Regards,
      Nickolaj

  • I am at the part in your directory were I mount the 8.1 ISO and pull off the install.wim, but I can not locate it. I found the boot.wim, but are you sure on the standard 8.1 pro media there is an install.wim anymore?

    • Hi Daniel,
      I’ve not deployed any Windows 8.1 Professional before, but I’d be surprised why there would not be a install.wim on that media. To me it would sound very strange why they would have a different installation method for the Professional version compared to the Enterprise version. I just mounted an Windows 8.1 Professional ISO from MSDN, and that contained the install.wim file. Do you have an install.esd?
      Regards,
      Nickolaj

  • hi.
    can you please give me a guide on how to add ms office 2010 to the wim file and when i boot the winPE image the sysprop will capture a wim with ms office 2010 preinstalled

    • Hi Brian,
      Thank you very much! My aim is to provide as detailed and thorough guides as possible 🙂
      Regards,
      Nickolaj

    • Hi Lee,
      It’s recommended to use only LiteTouch to create the reference image for ConfigMgr. If you ask MVP’s from Microsoft that’s how they do it and urge others to do aswell. But ConfigMgr is perfectly capable of doing so. If you already have MDT installed and integrated with ConfigMgr, I suggest that you create a new Deployment Share in MDT for reference image creation and configure it accordingly to this post. The reason for creating a reference image with LiteTouch (MDT) is that you get a clean image. With that I mean that there’s no ConfigMgr client installed.
      If you still want to do this with ConfigMgr 2012 R2 and MDT 2013, you can easily just create a “Client Task Sequence” and start there. I’ve not done this myself since I always do it with LiteTouch.
      Regards,
      Nickolaj

  • I found the issue. It had to do w/ the drivers i’m choosing to add or not add on the PE disk itself.
    Thanks again
    Jim

    • Hi Jim,
      I wondered what you were injecting in the boot image that would make larger than 1GB. I was gonna ask if you had imported all your drivers instead of only the storage and network drivers. If you’re working with Dell systems, you can download the WinPE driver CAB, which has all the necessary drivers. I’m not sure about other providers, but I encourage you to check it out. That way you can keep the boot image size as low as possible.
      I’m glad it all worked out!
      Regards,
      Nickolaj

  • My Setup :
    MDT 2013 / Win 8.1 – Reference Build and deploy
    Anyone try the LiteTouchx64.iso to USB media and attempt to start it on a box w/ 2GB of RAM? = There isn’t enough memory to create a ramdisk device Error Code: 0xc0000017
    I’m stumped. it works fine on a machine w/ 4GB RAM
    p.s. MDT 2012 windows 8.0 the above process worked like a champ

    • Hi Jim,
      If I’m not mistaken, with MDT 2013 the “scratch” space is raised from 32MB to 512MB. You could try to decrease it and generate new ISO files.
      Regards,
      Nickolaj

      • Nickolaj,
        I did check my 2012:8.0 vs my 2013:8.1 and unfortunately they’re both set to 32…..
        my 2012 iso’s are 300mg and my 2013’s are 1.3gb (both were built exactly the same.) Now to find out why 2013 added an extra GB of content.
        So seems my goal is to get my 2013’s below a gb for it to succesfully write to my 2GB of RAM.

Sponsors