Remko Weijnen's Blog (Remko's Blog)

About Virtualization, VDI, SBC, Application Compatibility and anything else I feel like


First we need to setup a Linux Virtual Machine with a distro of choice (I recommend a 32 bit version). I will be using Ubuntu here and the first step is to download the iso.

At the time of writing Ubuntu 10.10 was the Latest version so I used that one.

Create a new Virtual Machine and use the iso as install media, I am using VMWare Workstation and it recognises Ubuntu and performs an “easy install”:


The install is unattended (when VMWare Tools are installed you need to perform a login) and took only 6 minutes on my laptop!

Now we need to install gcc (the compiler), open the Ubuntu Software Center:



Read the rest of this entry »

  • 1 Comment
  • Filed under: Altiris, VMWare

    I was booting a new VMWare Virtual Machine with Windows PE through Altiris for initial deployment but Windows PE halted with a BSOD:


    0x0000005D means UNSUPPORTED_PROCESSOR (defined in bugcodes.h) so I expected there was a x86 vs x64 problem.

    The VM was configured for a 32 bit OS:


    The Altiris Job was configured to use Auto Select:


    But instead of the x86 version of Windows PE, Altiris attempts to boot the x64 version and this explains the BSOD: VMWare prevents the CPU from going to x64 mode and thus Windows has no choice but to halt.

    Workaround is to change the Automation pre-boot environment in Altiris to x86:


    Note that it’s no problem to deploy an x64 OS using the x86 version of Windows PE so I don’t see any real problems with this workaround.


    If you read one of VMWare’s Best Practices Guides (in my case this one) then you may have read that it’s important to align guest partitions.

    We can do this (for Windows OS) using the DiskPart tool that comes with the OS since Windows 2003 SP1 (there is a hotfix for earlier versions).

    On Windows 2008, and higher, all partitions are automatically aligned to a 1 MB boundary.

    But how to do this for the OS disk on Server 2003?

    My first thought was to open a command prompt during setup, right before creating the partitions and then use diskpart.

    However the OS partition is created during the Text portion of the install process and even though we can get a cmd prompt using SHIFT-F10 we get the recovery console (which has a builtin diskpart but cannot align).

    So I used a Windows PE bootdisk. Any version with Diskpart should do but I used a bootdisk from Symantec Backup Exec System Recovery that I’ve customized to my own needs.

    If you boot the original Symantec disk you can open a command prompt by accessing a hidden feature: move the mouse above the “S” from Symantec until you get a Hand icon and press the left mouse button:




    Read the rest of this entry »


    I wanted to boot a Virtual Machine from an USB Stick but even though you can Connect USB devices to VMWare you cannot boot from it.

    It can be done however using a boot manager that is able to perform a boot from USB media. I used Plop Boot Manager.

    Download one of the stable releases (I used 5.0.11-2) and extract plpbt.img from the archive and mount this (don’t forget to select the Connect at power on option) and when booting press Esc for the Boot Menu.


    This would be a good time to Connect the USB device to the Virtual Machine, right click the USB device in the bottom bar:


    And select the Connect option:


    Click OK on the warning message:


    Read the rest of this entry »

  • Filed under: VMWare

    As you may know, recent Intel processors have an extension to the x86 instruction set called Advanced Encryption Standard Instruction Set (AES-NI).

    AES-NI is basically hardware support for AES based encryption and because I had a chance to run some benchmarks on differing systems I was curious what the impact of AES-NI would be.

    I used TrueCrypt for running the benchmarks because this is a real life application and it had support for AES-NI.

    I first ran the benchmark on a laptop with an Intel Core2 DUO (P9700 2,80 GHz):



    The next system was an Intel Core i7 Q740 (Quad Core with Hyperthreading, so 8 in total) machine.


    Read the rest of this entry »

  • Filed under: General

    After I uninstalled Office 2010 64 bit and installed Office 2010 32 bit I had a problem with Office Communicator 2007 R2.

    After entering my password and clicking sign in it crashed every time:


    In the EventLog an Application Error was recorded with some additional error info:

    Event Type: Error Event Source: Application Error Event Category: (100) Event ID: 1000 Date: 10-3-2011 Time: 15:20:52 User: N/A Computer: remkolaptop Description: Faulting application name: communicator.exe, version: 3.5.6907.221, time stamp: 0x4cddcd9f Faulting module name: KERNELBASE.dll, version: 6.1.7601.17514, time stamp: 0x4ce7bafa Exception code: 0xc06d007e Fault offset: 0x0000b727 Faulting process id: 0xf94 Faulting application start time: 0x01cbdf2e592fc53c Faulting application path: C:\Program Files (x86)\Microsoft Office Communicator\communicator.exe Faulting module path: C:\Windows\syswow64\KERNELBASE.dll Report Id: 9a4e3adf-4b21-11e0-8f0f-c0cb38a92f9b For more information, see Help and Support Center at

    The exception code is 0xc06d007e which is defined in WINERROR.h as ERROR_MOD_NOT_FOUND, the error description is: “The specified module could not be found”.

    Read the rest of this entry »

  • Filed under: General

    I have worked with Office 2010 x64 for a while now but because of compatibility issues I wanted to remove it and install the x86 version instead.

    After uninstall Office left a key in the registry:


    I couldn’t remove it so I figured there was a specific process that had opened this key but couldn’t find anything (using Process Explorer).

    Then I checked the permissions on the Office key but it was set to Full Control for Administrators.
    Read the rest of this entry »

  • Filed under: General

    In the previous parts (part 1 part 2) i’ve described the theoretical part and implementation problems. So, now we can write the code:

    1) In case we login the user, we just call LsaLogonUser to get the token:
    Read the rest of this entry »


    In part 1 I’ve described the theoretical parts needed for a custom autologon application implementation.

    But there are some practical problems which I will describe here.

    1) I use the LsaLogonUser function to log in the user. However, if I do not pass not null for the LocalGroups parameter, msgina.dll fails to process the logon.

    Why? Because it looks for the SE_GROUP_LOGON_ID SID and treat it as logon SID. So we have to add the logon SID manually:
    Read the rest of this entry »


    Windows XP introduced the ability to use Fast User Switching (FUS from here on), which is implemented using Terminal Services.

    But in some cases (i.e. when FUS is not enabled, or when you connect to the console in Windows 2003 server), the Winlogon process in an RDP session needs to transfer credentials to Session 0.

    Although not documented in MSDN, the process of transferring credentials is described by Keith Brown in the June 2005 issue of MSDN magazine: Customizing GINA, Part 2.

    WlxQueryConsoleSwitchCredentials and WlxGetConsoleSwitchCredentials are used in the transfer with the semi-documented WLX_SAS_TYPE_AUTHENTICATED SAS code constant.

    Internally, winlogon.exe uses a Named Pipe, \\.\Pipe\TerminalServer\AutoReconnect, to implement both of these functions.

    The pipe format is described in this structure:
    Read the rest of this entry »