Windows 10

VMware, Windows 10 Customization Specification Not Completing

Here are details of my setup – in fact, I started over from scratch to document my steps.
This seems to be a new problem occurring with Windows 10, version 1709


Install of new VMware guest for the purpose of being a template

  1. Create new VM, named it windows_10_enterprise_version_1703
  2. Remove floppy drive
  3. Uncheck networking (for install)
  4. Mount ISO and enable, click OK to save settings

Install of OS on the guest virtual machine

  1. Boot newly created VM (windows_10_enterprise_version_1703)
  2. Step through the installation until completion
  3. Complete language settings to arrive at Windows desktop
  4. Enable the ‘Administrator’ account as its disabled by default
  5. Log out of installation user (the account I named ‘install’)
  6. Log into the ‘Administrator’ account
  7. Enter control panel, user and delete the ‘install’ user account.
  8. Install VMWare tools, Reboot once
  9. Shutdown


Prepare VM to be a template

  1. Edit the VM settings
  2. Connect networking
  3. Disconnect CD Drive
  4. Click OK
  5. Convert VM to a Template


Customization Specification Setup

  1. Create new specification, (I named mine Windows Desktop – DHCP)
  2. Applied registration information
  3. Computer Name – Use the virtual machine name
  4. Windows License – Left this blank (unchecked include server licensing information)
  5. Administrator Password – Set password, choose the option to automatically login as Administrator
  6. Time Zone – Set my desired time zone
  7. Run Once – Left this blank (blank for now, later intend on applying KMS details)
  8. Network – Use standard network setting (DHCP)
  9. Workgroup or Domain – For now just Workgroup and left workgroup name as ‘WORKGROUP’
  10. Operating System Options – Generate New Security ID (SID)
  11. Ready to complete – Clicked OK

Deploying template

  1. Right-click on the template – New VM from the template
  2. Gave a simple name – TEST01
  3. Selected Datacenter, Selected Cluster
  4. Selected Storage
  5. Selected Options (Customize VM) and (Power on the virtual machine after creation)
  6. Selected ‘Windows Desktop – DHCP’ from customized guest OS options
  7. Clicked Next, then Finish and wait …


Where things get stuck

  1. After the first boot, the guest gets an IP address from the network
  2. Customization starts in the background and system reboots
  3. When the system resumes I arrive at the following screen
  4. The system customization never completes, and I find my VM’s stuck at the “Let’s start with region …” screen

And, I’ll update this as soon as I find a solution, but for now…  I’m stuck

Log Shared via Pastebin:


Update: March 18, 2018

I’ve had others also test this using the latest ISO for Windows 10 – en_windows_10_enterprise_version_1703_updated_march_2017_x86_dvd, they too now encounter this same issue.  So the problem seems to be with the build of Windows 10 that was released.

I am going to download another build from MSDN and see if there is a change.


Update: March 19, 2018

I was able to get this working by way of reinstalling Windows 10 using the following ISO build: en_windows_10_multi-edition_vl_version_1709_updated_sept_2017_x64_dvd

Was even able to apply Windows updates and redeploy without error.


Hyper-V Virtualization: Turning Hyper-V On and Off

I recently started using Hyper-V on my Windows 10 workstation to task advantage of using technologies such as Docker that leverages Hyper-V to run its container images.  I also run VMware Player for running virtual machines.

The following commands make it a simpler task to toggle Hyper-V on and off again.

To Turn Hyper-V off, run the following command then restart your computer:

bcdedit /set hypervisorlaunchtype off

To turn Hyper-V back on, run the following command then restart your computer:

bcdedit /set hypervisorlaunchtype on (or auto start)


Note:  Quick method to check the status of Hyper-V – Get-WindowsOptionalFeature -Online -FeatureName *hyper*

Microsoft: Meltdown and Spectre Check via PowerShell

Like many folks around the world, I was wondering if this Meltdown and Spectre flaw would impact my computers and virtual machines.  Microsoft has started to release emergency fixes for Windows 10 and its been said that Windows 8 and legacy 7 will also receive patches.

Microsoft has released a PowerShell script that lets users check whether they have protection in place.

Steps to take:

  1. Open PowerShell (I like to use PowerShell ISE)
  2. Run PowerShell as as Administrator.
  3. Type Install-Module SpeculationControl and press Enter.
  4. When the installation completes, type Import-Module SpeculationControl and press Enter.
  5. Type Get-SpeculationControlSettings and press Enter.

In the list of results that’s displayed, you’re looking to see that a series of protections are enabled — this will be listed as True.  Ref:

Should reassemble 

Speculation control settings for CVE-2017-5715 [branch target injection]

  • Hardware support for branch target injection mitigation is present: True
  • Windows OS support for branch target injection mitigation is present: True
  • Windows OS support for branch target injection mitigation is enabled: True

Speculation control settings for CVE-2017-5754 [rogue data cache load]

  • Hardware requires kernel VA shadowing: True
  • Windows OS support for kernel VA shadow is present: True
  • Windows OS support for kernel VA shadow is enabled: True
  • Windows OS support for PCID optimization is enabled: True




Change Screen Resolution for a Ubuntu Hyper-V Virtual Machine

Just finished installed Ubuntu as a Windows 10, Hyper-V guest.  I went to modify the video settings and noticed them to be locked in place.  After some searching; Thank you Google… Found the solution that worked for me.

Ref: Ben Armstrong’s Virtualization Blog

Steps to change screen resolution:

  1. Open Terminal
  2. Type: sudo nano /etc/default/grub
  3. Find the line starting with GRUB_CMDLINE_LINUX_DEFAULT, and add video=hyperv_fb:[the resolution you want]. The resolution I want is 1280×720. So my line ends up looking like this: GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash video=hyperv_fb:1280×720″
  4. Write the changes (Ctrl X)
  5. Run: sudo update-grub
  6. Reboot the virtual machine

When you return from your restart you will have the resolution you applied in the grub config.




Enabling Hyper-V for use on Windows 10

You all know when it comes to virtualization I am VMware all the way.  However, it has recently to my attention that the use of VMware Player on a company issued computer may be a violation of the EULA as this type of activity would be considered commercial use of the software.

So the option is to purchase a license or use the native Virtualization built into my Windows 10.

Ref: Workstation Player FAQs

  • Here are some capabilities of Windows 10 virtualization:
  • Hot add & remove for memory and network adapters: Windows and Linux Guests
  • Windows PowerShell Direct: Issue commands inside a virtual machine from the host
  • Linux secure boot:  – Ubuntu and SUSE Linux Enterprise Server can use secure boot options
  • Hyper-V Manager: Hyper-V manager can manage computers running Hyper-V on Windows Server 2012, Windows Server 2012 R2 and Windows 8.1



The following prerequisites are required to successfully run Hyper-V on Windows 10:

Windows 10 Pro or Enterprise 64 bit Operating System
64 bit processor with Second Level Address Translation (SLAT)
4GB system RAM at minimum
BIOS-level Hardware Virtualization support


Windows 10 Hyper-V Install Steps:

  1. Enable virtualization support in bios
  2. Access the Control Panel
  3. From Control Panel select Programs
  4. In Windows Features select Hyper-V
  5. After installation of Hyper-V has completed, restart computer

The installation of Hyper-V is now complete.  The next step is to setup the Virtual Switch Manager for networking and configure your first virtual machine. This is can be done by:

  1. Clicking the search icon on the task-bar and then typing Hyper-V Manager .
  2. Select Virtual Switch Manager in the Actions pane
  3. Choose External and then click on the Create Virtual Switch button
  4. Give the new Virtual Switch a name, and ensure the active NIC is selected