Virtual PC Guy's Blog

-- Ben Armstrong, Hyper-V Program Manager

Talking about Virtual PC and Hyper-V at Microsoft

April, 2005

  • Virtual PC Guy's Blog

    Running Diablo under Virtual PC

    • 0 Comments

    Well it is time for Ben’s Friday walk down memory lane.  Diablo was one heck of a game – and stole a heck of a lot of my time.  At the time of its release there were a lot of ‘hard core’ role players who complained about the fact that Diablo wasn’t a true role playing game.  But there were those of us who were able to see it for what it was – a bigger, grander, more aesthetically pleasing version of Rogue (http://blogs.msdn.com/virtual_pc_guy/archive/2005/01/07/348770.aspx).  Diablo runs acceptably under Virtual PC – though there is a pop in the sound track every now and then:

    Diablo under Virtual PC   Diablo under Virtual PC   Diablo under Virtual PC   Diablo under Virtual PC

    I have completed Diablo once (as a Warrior) and always intended to go back and complete as the Rogue and Sorcerer characters – but never got around to it…  Maybe that can be my project for the weekend :-)

    Cheers,
    Ben

  • Virtual PC Guy's Blog

    Automating the keyboard under Virtual Server

    • 1 Comments

    If you want to perform any significant amount of virtual machine automation with Virtual Server – you will need to figure out how to drive the keyboard.  There are a number of possible methods for doing this – and each one has its advantages:

    VM.keyboard.TypeASCIItext

    This method is handy for typing large strings of ASCII text.  Its advantages are that it provides an easy method to input large strings of text.  It is also handy because one of the problems that you can encounter while automating keyboard input is that it is easy to ‘type too fast’ for the guest operating system to keep up with – and this method makes sure that the text gets typed at just the right speed.  An example of using this method would be:

    VM.keyboard.TypeASCIItext “Hello World!”

    VM.keyboard.TypeKeySequence

    While this method is more complicated than ‘TypeASCIItext’ it does provide an easy way to automate complex key combinations.  It requires you to specify key down and key up events in the order that you want them to happen.  A common usage of this method is to type CTRL+ALT+DEL on a virtual machine – as follows:

    VM.keyboard.TypeKeySequence "DOWN,Key_LeftCtrl, DOWN,Key_LeftAlt, DOWN,Key_Delete, UP,Key_LeftCtrl, UP,Key_LeftAlt, UP,Key_Delete"

    VM.keyboard.PressAndReleaseKey

    This method provides the easiest way to send through a single key down and key up event for a given key.  This is most useful for situations where you need to hit Enter or Tab to navigate a user interface.  For example:

    VM.keyboard.PressAndReleaseKey "Key_Enter"

    One final point to make is that the key codes used for Virtual Server can be found in the Virtual Server Programmers guide in the ‘Key Identifiers Reference’ section.

    Cheers,
    Ben

  • Virtual PC Guy's Blog

    Running Jedi Knight: Dark Forces II under Virtual PC

    • 1 Comments

    A while ago I posted about using Virtual PC in order to run Dark Forces under Windows XP (http://blogs.msdn.com/virtual_pc_guy/archive/2004/11/27/270927.aspx) – which got me to wondering whether its much more successful sequel ‘Jedi Knight: Dark Forces II’ would run under Virtual PC too – and it does:

    Jedi Knight: Dark Forces II under Virtual PC   Jedi Knight: Dark Forces II under Virtual PC   Jedi Knight: Dark Forces II under Virtual PC   Jedi Knight: Dark Forces II under Virtual PC

    In order for it to be playable you need to disable the mouse integration functionality under Virtual PC (http://blogs.msdn.com/virtual_pc_guy/archive/2005/03/14/395625.aspx) but otherwise it runs great.  I have no idea why you would want to do this though :-) (apart from the ‘coolness’ factor).

    Cheers,
    Ben

  • Virtual PC Guy's Blog

    Using the F6 driver floppy under Virtual Server 2005 SP1 Beta

    • 0 Comments

    If you are using the Virtual Server 2005 SP1 Beta (details here: http://blogs.technet.com/megand/archive/2005/04/20/403950.aspx) one of the new additions is a F6 driver floppy.  This is located under the Virtual Server installation directory “Virtual Machine Additions” and is called “SCSI Shunt Driver.vfd”.  You can use this floppy during the early stages of Windows installation (when you are prompted to hit ‘F6’ to load any custom drivers) to install Windows using our optimized SCSI driver as opposed to the generic Adaptec driver.

    For most users this will make a small difference in install times (approximately 10%) – but for some users it will make a significant difference.

    Some users have reported that Windows installation under Virtual Server while using the emulated SCSI controller can take up to 6 to 24 hours.  These users are usually running physical systems that have physical SCSI hard disks in them as well.  The problem is that it appears that these physical SCSI disks have very poor performance for small read and write commands (but excellent performance for large read and write commands).  By default the generic Adaptec driver used inside of Virtual Server heavily utilizes small reads and writes.  For users who have seen this problem – using the F6 driver floppy should bring operating system install times back down to approximately 1 hour.
    Cheers,
    Ben

  • Virtual PC Guy's Blog

    'net use' problem with Windows 98

    • 2 Comments

    A number of users have reported problems using the 'net use' command under Windows 98 under Virtual PC.  This appears to be a bad interaction between Windows file sharing and the Virtual Machine Additions folder sharing client.  There are two easy ways to work around this problem:

    1. Browse to a network location in Windows explorer under Windows 98 first - and then use 'net use'.  This seems to sort out the problem (for reasons that I do not fully understand)
    2. Delete the \HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\FSHARE32 key from the registry under Windows 98.  This will completely disable folder sharing but allow 'net use' to work at all times.

    Cheers,
    Ben

  • Virtual PC Guy's Blog

    Automating virtual machines by checking the thumbnail

    • 3 Comments

    One of the biggest challenges with automating virtual machines today is being able to detect that a virtual machine is at a specific place in execution (like waiting at the Windows login screen).  A highly effective way to do this is to do a comparison on the thumbnail image of the virtual machine.  While this is only a 64x48 pixel image it is highly accurate for automation purposes.  Here is a piece of script that will save the thumbnail of a virtual machine to a text file.  Usually the thumbnail data is returned as an array - for convenient storage and comparison the Join() command can be used to turn the thumbnail into a string:

    'This script takes three parameters.  The Virtual Server Host, the virtual machine name and
    'the file name to store the thumbnail data in.  It then saves the current thumbnail data for
    'the selected virtual machine to the specified data file

    vsHost = WScript.Arguments(0)
    vmName = WScript.Arguments(1)
    thumbnailFile = WScript.Arguments(2)

    'Connect to Virtual Server
    Set vs = CreateObject("VirtualServer.Application", vsHost)

    'Find virtual machine
    set vm = vs.FindVirtualMachine(vmName)

    Wscript.echo "Saving thumbnail data"

    'Save thumbnail data
    Set objFSO = CreateObject("scripting.filesystemobject")
    Set objTextStream = objFSO.OpenTextFile(thumbnailFile, 2, True)
    objTextStream.WriteLine Join(vm.Display.Thumbnail)
    objTextStream.close

    While this script function will load a thumbnail and wait for a match:

    'Function to check the for a thumbnail match
    Function checkForThumbnailMatch(thumbnailFile)

    checkForThumbnailMatch = false

    'Open requested thumbnail file
    Set objFSO = CreateObject("scripting.filesystemobject")
    Set objTextStream = objFSO.OpenTextFile(thumbnailFile, 1, True)
    savedThumbnail = objTextStream.ReadLine
    objTextStream.close

       'Poll for matching thumbnail
       do until savedThumbnail = Join(vm.Display.Thumbnail)
          wscript.sleep(2000)
       loop

    checkForThumbnailMatch = true

    end Function

    This is very handy - and we have been able to use this internally to automate a variety of things - like complete operating system installations.

    Cheers,
    Ben

  • Virtual PC Guy's Blog

    Virtualization announcement at MMS

    • 7 Comments

    And now we know one of the reasons why Ben is in 'Vegas.  This years Microsoft Management Summit saw the arrival of some significant announcements around Microsoft's plans for virtualization.  To summarize:

    In the short term, Microsoft is responding to customers' needs by improving the performance and interoperability of Virtual Server 2005 and improving manageability through integration with Microsoft® Operations Manager (MOM) 2005:

    • The Virtual Server 2005 Service Pack 1 (SP1) beta version is available today, delivering 64-bit compatibility and improved performance and availability. Virtual Server 2005 SP1 will enable support for Windows Server (TM) 2003 x64 editions as host operating systems and, along with performance improvements in the virtual machine software, will enable customers to further increase the efficiency of their hardware environments. Virtual Server 2005 SP1 beta is available at https://beta.microsoft.com. The final version is scheduled to be available by the end of the year.
    • Microsoft is working with industry partners to expand the support of third-party guest operating systems running on Virtual Server 2005 SP1. This expanded support is designed to make Windows Server 2003 and Virtual Server 2005 a powerful platform for heterogeneous server consolidation.
    • A new MOM 2005 management pack for Virtual Server 2005 provides administrators with a central console for managing the health and performance of both physical and virtual machines seamlessly, allowing customers to leverage their existing server management tools to manage their virtual environments.
    • Microsoft will license royalty-free the Virtual Hard Disk (VHD) to make it easier for partners to develop VHD-based solutions and continue to enhance the capabilities and extensibility of the VHD file format. A common file format helps improve security, reliability and cost-efficiency for customers. Microsoft is committed to enhancing and extending the capabilities of this format over time.

    In addition to these near-term product deliverables, Microsoft is working with the industry and increasing its investments to provide customers with more robust virtualization and virtualization management solutions for the Windows® platform:

    • Microsoft will build virtualization capabilities into the Windows platform based on Windows hypervisor technology, planned for availability in the next product wave of the Windows operating system, code-named Windows "Longhorn." This integrated hypervisor technology in the Windows operating system will be designed to provide customers with a high-performance virtualization solution for Windows and heterogeneous environments.
    • Microsoft Windows hypervisor technology will support enhanced hardware technologies, such as Intel Virtualization Technology and AMD's Pacifica specification. The combination of these software and hardware technologies will open the door to widespread use of computer virtualization in the future.
    • Increased investments in Microsoft's System Center family of products will result in management products that are optimized to take advantage of the unique capabilities that virtualization brings to the Windows platform.

    A full press release can be found here: http://www.microsoft.com/presspass/press/2005/apr05/04-20VirtualizationInvestmentsPR.asp

    Cheers,
    Ben

    (Who will be partying tonight! :-)

  • Virtual PC Guy's Blog

    Ben is in 'Vegas

    • 4 Comments
    Hi All,

    Sorry about the lack of posts - but I am currently in Las Vegas - for the Microsoft Management Summit. Tomorrow I am going to be presenting on 'Developing on Virtual Server' and 'Best Practices for Deploying Virtual Server' - and hope to have more content to post later this week.

    Cheers,
    Ben
  • Virtual PC Guy's Blog

    New support policies available for Virtual Server

    • 3 Comments

    One of the biggest complaints that we have heard from customers is that the support policy for Virtual Server was not very clear.  The main cause of this lack of clarity has been that it has been up to each Windows Server System team to decide and communicate their own support policy.  However - thanks to the fantastic work of one of my fellow PM's on the Virtual Machine team (here's to you Jeff!) - we now have a unified support policy that outlines what is and isn't supported by Microsoft inside of Virtual Server:

    KB: 897613 Microsoft Virtual Server support policy
    http://www.support.microsoft.com/kb/897613                                                                           

    KB: 897614 Windows Server System software not supported within a Microsoft Virtual Server environment
    http://www.support.microsoft.com/kb/897614 

    Cheers,
    Ben

  • Virtual PC Guy's Blog

    SimCity 4 under Virtual PC

    • 7 Comments

    Well we have come to the final entry in the 'SimCity' series.  You might be surprised to know the SimCity 4 runs under Virtual PC - I know I was.  Despite the fact that SimCity 4 states that it has a minimum requirement of a DirectX 7.1 3D capable card with 32mb VRAM - it runs perfectly fine inside of Virtual PC on our lowly S3 Trio with 8mb VRAM.  Go figure.

    Continuing with the usual approach - SimCity 4 takes the standard SimCity formula and makes it even more detailed and more complex.  Too be honest I find it to be a bit too complex - as at the end of the day it has an enormously steep learning curve.  But the graphics sure are pretty:

    SimCity 4 under Virtual PC   SimCity 4 under Virtual PC   SimCity 4 under Virtual PC   SimCity 4 under Virtual PC

    All in all I would have to say that I am hard pushed to decide which version of SimCity I like the most.  They all have their pro's and con's - and they will all steal hours of your life if you let them :-)

    Cheers,
    Ben

Page 1 of 2 (18 items) 12