FileWave Windows disk imaging is a hardware independent disk imaging solution that abstracts the drivers for PC models from the OS so that you only have to maintain a single OS disk image. Driver filesets can be added for each computer model so that you can re-use the same OS disk image across all of your PC hardware. You only have to maintain a driver fileset for each computer model in your environment. Many times these driver files are already available from your hardware vendor in a format that is easily converted to a driver fileset for use with FileWave. Hardware independent disk imaging lowers the complexity and effort for Windows disk imaging and reduces the disk space required to store and maintain disk images. Your days of building a new disk image every time you acquire a new computer model are over. Driver filesets can be added within seconds to minutes. While you may still choose to maintain multiple disk images for different purposes, like specific images for different departments or user types, you will no longer have to maintain them for different computer models. Ideally you would maintain a single disk image for each version of Windows and smaller driver filesets for each computer model. If you have both legacy BIOS and UEFI devices in running the same version of Windows then you have to maintain separate disk images for each firmware type for that version of Windows. This will be discussed in further detail later. Applications would be deployed via software package filesets following an imaging operation to customize the buildout based on the intended user of the device.
The general workflow for reimaging a Windows PC with FileWave is listed below and will be elaborated on further throughout the rest of this section.
- Create a sysprep XML answer file for your Windows OS.
- Install Windows on a reference VM that you can use to capture the master image.
- Install the custom FileWave client on your reference VM so it appears in the FileWave admin.
- Sysprep the reference VM using the sysprep answer file you previously created.
- Associate the Master Image fileset to the client entry for your reference VM.
- PXE boot the reference VM to capture the master image.
- Create a driver fileset for the computer model you wish to reimage.
- Add a placeholder computer entry for your PC or install the FileWave client so it shows up in the FileWave admin.
- Associate the master image you previously captured to the entry for your PC.
- Associate the driver fileset for the computer model of your PC.
- PXE boot your PC to reimage it.
Generating a Sysprep XML Answer File
Before capturing a master image of your reference PC you must sysprep it. The sysprep tool is included with every installation of Windows and prepares the installation of Windows for duplication, auditing, and customer delivery. More information on sysprep can be found here. Normally the Windows AIK for Windows 7 or Windows ADK for Windows 10 is used to build this sysprep XML answer file. The following KB article walks you through this process. This is the Microsoft recommended method for generating a sysprep answer file. Please note that every version of Windows requires its own sysprep answer file. There are sample sysprep answer files for both Windows 7 and Windows 10 available here that you can use for testing.
Alternatively you can also use this online Windows Answer File Generator. This online utility is not endorsed nor recommended by FileWave but is mentioned here for convenience only because some of our customers have had success with it, and prefer using it to having to install the WAIK or WADK which can exceed 1GB in size.
- Win 7 - http://www.windowsafg.com/win7x86_x64.html
- Win 8 - http://www.windowsafg.com/win8x86_x64.html
- Win 8.1 - http://www.windowsafg.com/win8.1x86_x64.html
- Win 10 - http://www.windowsafg.com/win10x86_x64.html
Sysprep accomplishes the following goals to prepare your reference system for cloning. Possible consequences of not sysprepping are outlined by Microsoft here.
- Removes computer-specific info from a Windows installation by doing the following. You may find that some Windows functionality no longer works correctly when computer specific info is duplicated between multiple PCs.
- Generates a new computer SID
- Sets a new computer name
- Clears out event logs
- Runs mini setup to deal with hardware differences
Setting Up a Reference Machine
For a reference machine from which to capture a master image, we recommend setting up a VM for this purpose as opposed to a physical machine, for the following reasons.
- Easy to roll back to a VM snapshot to update the master image with the latest OS patches
- Lets you re-sysprep reference VM repeatedly with minimal effort
- Lets you easily PXE boot repeatedly as many times as need to capture a disk image if a PXE boot attempt fails
- VMs are easily transferable in case someone else needs to take over disk imaging responsibilities
- Doesn’t require the original computer model to update the reference system like a physical machine would
- When creating the VM you can specify the size of the virtual HD. The hard disk that the master image is captured from must be smaller in size than the hard drive of the target computer(s) that it's being restored to. With a VM you can arbitrarily make the virtual HD small as opposed to having to search through all your physical computers for the one with the smallest HD. 40GB is enough to hold Windows 10 plus some basic apps that you might include in the disk image. After the image has been laid down FileWave will expand the boot partition (C:) to use all available free space on the target's hard disk.
Your reference VM must be set up with bridged networking and must be able to PXE boot from the IVS. Before proceeding any further, copy the MAC address from the virtual NIC of your blank VM, and add a placeholder client entry for it in FileWave. Then assign it the Master Image fileset and update your model as described below in the section titled Capturing the Master Image. Ensure that it's able to PXE boot to capture a master image.
BIOS PXE boot
UEFI PXE boot
If it successfully PXE boots then proceed to install Windows on the reference VM. Otherwise check the Network Imaging Setup section again to see what potential network issues may be preventing your VM from successfully booting from the network. If the VM PXE boots inconsistently from the network, take stock of your existing servers to find out which one is responding to your client machine's PXE boot requests before the FileWave IVS is able to. Disable this other server and verify that you can PXE boot your VM consistently before proceeding.
When installing Windows on the reference VM remember to only use original installation media from Microsoft. Do not use the installation media from your hardware vendor.
UEFI vs. Legacy BIOS
Note that UEFI-based computers require a UEFI-based image. Most enterprise PC models with UEFI firmware have a legacy BIOS mode (sometimes referred to as CSM). Many modern PC consumer models, on the other hand, ship with a UEFI only firmware that does not have legacy BIOS support. To keep everything simple so that you can maintain a single Windows master image for all computers you probably want to put all of your UEFI systems in legacy BIOS mode if possible. The firmware mode of the reference machine/VM you capture the master image from must match the firmware mode of the target computers you plan on restoring the image to.
If you have some PC models that are strictly UEFI only and others that are BIOS only you’ll need to maintain 2 master disk images for each Windows OS - a BIOS and UEFI version. To capture a UEFI master image you need to be able to UEFI PXE boot your reference system. FileWave Windows disk imaging currently does not support Secure Boot. This can add some complexity as not all VM solutions support UEFI PXE booting.
|VM Platform||BIOS PXE Boot with IVS?||UEFI PXE Boot with IVS?|
|Hyper-V||Yes||Yes (Server 2016)|
We recommend using either a VMware, Windows Server 2016 Hyper-V, or Parallels VM for your UEFI reference system to capture the master image. Tips on how to set up a UEFI VM and PXE boot it can be found here. If that’s not possible then you can certainly use a physical computer as your reference computer from which to capture the master image. BIOS based reference images can be captured from any of the VM platforms mentioned in the above table.
It should also be noted that having simply having UEFI firmware doesn't necessarily mean that your PC also supports UEFI PXE booting. If your device supports UEFI PXE booting it will be listed in the firmware boot menu.
Your target PC must support UEFI PXE booting to accept a UEFI disk image. If your client PC is UEFI but does not support UEFI PXE booting then it can only be reimaged with a BIOS image when legacy BIOS support is enabled in the firmware.
|Firmware||Supports UEFI PXE Boot||Compatible Disk Image Type|
|UEFI||No||BIOS (legacy BIOS support enabled)|
|UEFI||Yes||BIOS (legacy BIOS support enabled) & UEFI|
Prepping the Reference Machine
Once a clean Windows OS has been installed from the original Microsoft installation media you can now move forward with the rest of the preparation for the reference machine.
- Immediately upon first login to Windows 10, disable the downloading of promoted Microsoft Store apps as described here.
- On Windows 10, remove any unwanted AppX packages installed from the Microsoft Store. Some scripts to do this can be found at this 3rd party link, this other link, or this other link. This will
- Save disk space
- Prevent issues with sysprep failing. If sysprep fails due to a Microsoft Store app, use the following steps to remove the offending apps causing sysprep to fail before trying again.
- Check %windir%\system\sysprep\panther\setuperr.log for errors like the ones below and note the name of the app.
Open a PowerShell console session and run the following command to remove the app in question, where "<MyApp>" is the name of your app referenced in setuperr.log.
- On Windows 10, do NOT create any additional local user accounts on the reference machine. If you want to add any other accounts add them via your sysprep answer file.
- Install a custom FileWave client. Follow the instructions here for obtaining a custom FileWave client.
- Update the OS with the latest Windows patches.
- Check that the VM is not joined to a domain. If it is joined to a domain, unjoin it from the domain and reboot to make the change effective.
Run chkdsk. This speeds up the disk imaging process so that Windows does not run chkdsk after the disk image is restored.
- Take a VM snapshot of your reference VM.
Open a CMD window with admin privileges and sysprep the VM with the sysprep answer file you created earlier. Note that sysprep XML answer files are Windows version specific so an answer file for Windows 10 will not work on Windows 7. The VM will shut down after the system has been sysprepped.
- Take another snapshot of the VM after it has shut down after being sysprepped.
Snapshotting the VM before it’s been sysprepped allows you to roll back to this snapshot at some point in the future and update it with the latest OS patches. Snapshotting the VM after it’s been sysprepped lets roll back to its shut down sysprepped state in case the PXE boot fails for any reason, e.g. you didn’t press the shortcut key to boot from the network fast enough or forgot to configure FileWave to capture the master image.
Capturing the Master Image
- Go to the Imaging section in the FileWave Admin and select Windows for the Operating System.
- Drag Master Image from the upper right Filesets pane onto your reference computer in upper left Clients pane. Note that only PCs with an Ethernet MAC address present will appear in the Clients pane. If a PC client is missing a MAC address it will not appear here.
- Confirm the association when prompted and update the model to save your changes. The association for capturing the master image will appear in the bottom Associations pane with the Enabled column set to "true".
- PXE boot your reference machine VM to capture the master image. Enter a name for the disk image when prompted.
- Go to the Imaging preferences tab, highlight your IVS, and click the Monitor button. The Status field show you the progress of the image transfer from the IVS to the FileWave Server.
It may take more than one try to PXE boot the client VM due to timing issues with virtual NIC adapters not responding as quickly as physical NICs. If the VM fails to PXE boot and boots into Windows instead of the network shut it down, restore the VM snapshot of when it was sysprepped and shut down, and PXE boot it again.
Adding Driver Filesets
Unlike macOS which typically contains the drivers to support all Mac hardware that was released before that version of the macOS was released, Windows typically only contains basic drivers for the most common older hardware. For this reason, along with the OS image you must also associate a model specific driver fileset with a client PC to be reimaged. After the reimaging operation when Windows goes through the Out of Box Experience (OOBE) it will automatically use Plug and Play (PnP) to install the drivers included in the driver fileset that is compatible the computer model of the reimaged client PC.
- Place all of the driver files for your computer model in a single folder. It's fine if there are subfolders within this folder. For Windows PnP to be able to install drivers automatically it needs direct access to the INF, SYS, and DLL files that comprise the drivers. Do not add any EXE, CAB, or ZIP files to this drivers folder. You must extract out the contents of these files to get direct access to the INF, SYS, and DLL files.
- In the Filesets section click New Imaging Fileset in the toolbar and choose Windows Drivers.
- Select the folder containing all of the extracted drivers for your computer model from step 1 and click Select Folder.
- Update the model after the driver fileset has finished uploading.
Many of the major hardware vendors provide SCCM driver packs for their enterprise models for download. These driver packs already have the INF, SYS, and DLL files exposed so that they can be used by Windows PnP. Be sure to download the driver pack that matches both the version and architecture of Windows in the master image that you will be restoring.
Deploying an Image to Client PCs
To reimage a PC you need to assign your new disk image and driver set to a client device by creating an association with it.
- Go to the Imaging section in the FileWave Admin and select Windows for the Operating System.
- Drag your disk image from the Filesets pane in the upper right onto a target computer or computer group in the upper left Clients pane. Note that only PCs with a MAC address present will appear in the Clients pane. If a PC client is missing a MAC address it will not appear here.
- Confirm the association when prompted.
- Drag the matching driver fileset from the Filesets pane onto the same target computer or computer group in the Clients pane that you previous assigned a disk image to.
- Confirm the association when prompted and update the model to save your changes. The association(s) for both the disk image and driver fileset will appear in the bottom Associations pane. Click the disclosure triangle prefixing the disk image association to expose the associated driver fileset.
- You’ll need to wait for the IVS to sync with the FileWave Server to see the new association, which happens automatically every 2 minutes. You can force the sync with the Imaging Appliance Monitor. This can be accessed by going into the preferences, choosing the Imaging tab, selecting the IVS, clicking the Monitor button to open the Imaging Appliance Monitor, and clicking the Verify button.
- Once the IVS sync begins, the image will start to copy over from the FileWave server to the IVS. This happens once the first association to this image has been made and will only need to copy over again if all associations to this image are removed. The status of this transfer is displayed in the Imaging Appliance Monitor.
- Wait roughly 5-10 minutes for the disk image to be replicated from the FileWave Server over to the IVS. This time can vary depending on your network infrastructure and the size of your disk image. You can check the current status of the IVS to see if the assigned disk image has finished transferring with the Imaging Appliance Monitor in the Imaging preferences tab. Its model number should match the model number of your FileWave Server.
- PXE boot your computer from the network to reimage it. If your client computer is UEFI be sure to disable Secure Boot before PXE booting.
The image will be automatically pulled down (erasing all data on the device), the device will be renamed according to its client entry the FileWave DB, and the machine will be rebooted from the newly restored drive at the end of the process. The Last Image Date column in the Associations pane will be updated with the timestamp for the imaging operation once it has finished and the Enabled column will be flipped from "True" to "False".
If the physical PC consistently fails to PXE boot correctly, check the Serial/MAC field for that FW client in the FileWave Admin to make sure that the ethernet MAC for the client device is listed. If it's not present add it. If it's already present remove all other MAC addresses, so only the ethernet MAC address remains. Update model and PXE boot again.
Adding Placeholder Computer Entries For Baremetal Reimaging
To baremetal reimage a Windows PC that doesn't have an existing client entry in FileWave you need to add a placeholder entry for it.
- Go to the Clients section and click New Client in the toolbar.
- For a single PC choose Enter Name under Desktop device placeholders. If you have multiple devices to baremetal reimage choose Text File instead.
- Single PC - Enter a Name, Comment, and Ethernet MAC address for the device and click OK. Note that the Name entered here is the name that will be applied to the PC during the reimaging process.
- Multiple PCs
- Click the Download Template button to download a desktop_clients_template.txt file.
- Edit the file in any text editor and follow the instructions inside to add device entries for your PCs.
- Click Browse and select your edited desktop_clients_template.txt file.
- Select the devices you'd like to add, the client group to add them to, and click the Add Clients button. To select all devices use the Select All button.
New placeholder client entries should appear for your devices. These placeholder device entries can then be assigned disk images.