Friday 27 December 2013

Speeding up Windows 7, 8 and 8.1 initial login times

Issue

  • Initial log on to a domain joined computer takes a long time. Symptoms of this on Windows 7 is the log in screen processing at preparing desktop.
  • Initial log on to domain joined computer takes a log time and can sometimes leave a black screen for Windows 8 and Windows 8.1.

Resolution/Solution

Through a lot of testing there are far to many variables that exist within a domain environment to truly commit to a sound solution. These are so far the proven solutions to speeding up initial login times for multi-user access computers.

1. Use of a mandatory profile

When you use a mandatory profile with customization's (as this is what a mandatory profile is used for or a standard profile for users) , this greatly improves log on times compared to using the default profile (if built with sysprep and the copyprofile xml  command). This should speed up the 'waiting for user profile' part during the log in process. If you don't have a customized default user profile you can skip this customization.

2. Use local profiles with mandatory profiles.

Combining these two together (if they work together at all) will help alleviate network traffic from roaming profiles. Also setting the mandatory path to a local source will greatly improve the load time as it doesn't look over the network for the profile.

3. Disabling active setup components.

Turning off the installation of select active setup components has greatly improved log in times on wired connections, has sped up the preparing windows/desktop part two fold or more.

To turn off the components, use group policy preferences for computer configuration and modify the registry keys from 1 to 0. You can find the active setup components at: "HKLM\SOFTWARE\Microsoft\ActiveSetup\InstalledComponents\GUID". Inside the GUID key you can find out what component is being installed during the initial log in process. You can stop the component from installing by modifying the coponents 'IsInstalled' key from 1 to 0. 

4. Windows 8 and Windows 8.1 black screen problem.

The only resolution that has seemed to work for this so far is to disable to App Readiness service. Once disabled, you should no longer get a black screen after the 'Preparing Windows' phase.

This is only a start to improving initial log in times. There are also a lot more variables when it comes to initial log in times that can affect the time it takes to log in (network traffic, server traffic, hardware, wireless, etc.).

Tuesday 24 December 2013

Windows 8.1: Discovery Image Error

Issue

  • Windows 8.1 Discover Image created from a Windows 8.1 boot image will not PXE boot correctly.
  • When creating a bootable USB discover image witht eh discover image created in WDS, entering setup provides an error similar to "setup.exe does not recognize commandline "/wds /wdsdiscover"
    (if anyone has an image for this that would be great, please link it and I can upload it for reference).
Resolution

Trawling through the inter-webs left me with nothing as it's probably way to early for anyone to post any findings. Found a few that could of helped but did not in the end. After a few days at my site and intensively thinking of a few things I managed to come up with the solution!

After a while of googling, there was this site:

Used it as a reference for the INI file which has the /wds /wdsdiscover command. Found a whole bunch of documentation saying that the comma and quotes need to be in place blah blah and that the /wdsserver part needs to be filled out (have not tested without this as time was super tight).

In the end what you will need to do is this.

1. Once you have created the discover image, mount it using step 3 from the link above (to lazy to write it out).
2. Browse to the mounted location and go into WINDOWS\system32 and locate the 'winpeshl.ini' file.
3. Open it and modify the command so it looks like:
%SYSTEMDRIVE%\sources\setup.exe /wds /wdsdiscover /wdsserver:<fully qualified doman name of server>
4. And that's that, save the ini file and unmount the image following step 8 in the above link.
5. Rename the wim file to boot.wim and follow the Windows ADK method of creating a bootable USB discover image.

The only significant part in this was step 3 where we need to remove the comma, quotes and possibly define a wds server.

Once you have edited the winpeshl.ini to step 3 with the removal of the comma and quotes, then commited the change with DISM, and create the discovery boot image. You should be able to boot non PXE bootable devices to WDS and image them with a Windows 8.1 image. This was tested on a HP Envy X2 (32-bit only).

Credits to;

chris123nt.com for the DISM commands and hinting that the error lies in the winpeshl.ini file.

First!

Creating a new blog for all my IT findings, revelations and note taking.

Mainly dealing with the everyday musing of IT support and engineering with the Windows platform.