Virtual PC Guy's Blog

-- Ben Armstrong, Hyper-V Program Manager

Talking about Virtual PC and Hyper-V at Microsoft

Operating Systems under Virtual PC / Virtual Server / Hyper-V

  • Virtual PC Guy's Blog

    Linux Integration Services Version v3.2 for Hyper-V now available

    • 5 Comments


    Yesterday we released a new version of the Linux Integration Services for Hyper-V.  You can download them directly from here: http://www.microsoft.com/download/en/details.aspx?id=28188

    Some key changes / new features to call out are:

    • Integrated mouse support
      Yay!  This means that you no longer need to install a separate package to get integrated mouse support, and will not have to worry about the mouse being captured by the virtual machine.
    • Updated network drivers that work with the Windows 8 Developer Preview builds
      I am happy to see this – as I am running this build of Windows *everywhere* at the moment
    • Fixes the issue with SCVMM compatibility
      The problem is documented here: http://support.microsoft.com/kb/2586286 – and should not be a problem anymore.

    For more details, check out the link and read the documentation.

    Cheers,
    Ben

  • Virtual PC Guy's Blog

    Diagnosing a cause of PXE boot failure

    • 2 Comments


    The other day I was trying to boot a virtual machine over the network using my Windows Deployment Services (WDS) Server.  This normally works fine – but for some reason I was getting nothing but errors.  Sometimes I would get a DHCP failure, other times I received varied PXE error messages:

    PXEFail

    After some investigation I stumbled on to the problem.  There was a MAC address conflict.  While Hyper-V will not let MAC address conflicts happen on a single server – but you can still have conflicts happen between multiple Hyper-V servers.  John Howard has talked about this extensively here: http://blogs.technet.com/b/jhoward/archive/2008/07/15/hyper-v-mac-address-allocation-and-apparent-network-issues-mac-collisions-can-cause.aspx

    Once I realized what was happening – I quickly changed the virtual machine to use a static MAC address and set the MAC address to a unique value:

    image

    Then network installation worked fine.

    Cheers,
    Ben

  • Virtual PC Guy's Blog

    Recent MVP posts about different operating systems under Hyper-V

    • 0 Comments


    We have a great group of Hyper-V MVPs who contribute greatly to our users.  Recently there have been some interesting posts about running different operating systems under Hyper-V.

    Last Thursday, Alessandro Cardoso posted a detailed guide to installing RedHat 6.1 and setting up the latest integration services.  You can read about that here: http://virtualisationandmanagement.wordpress.com/2011/08/18/hyper-v-detailed-step-by-step-installing-redhat-6-1-vm-in-expert-mode-with-the-new-linux-integration-services-3-1/

    Then on the following day, Lai Yoong Seng post a video that shows you how to get Android running inside of a Hyper-V virtual machine: http://www.ms4u.info/2011/08/running-android-on-hyper-v.html

    Neat stuff!

    Cheers,
    Ben

  • Virtual PC Guy's Blog

    Linux Integration Services 3.1 for Hyper-V

    • 3 Comments


    Last week we released an update for the Linux Integration Services for Hyper-V.  You can download the 3.1 release here: http://www.microsoft.com/download/en/details.aspx?id=26837

    Key details are that this release supports the following Linux distributions:

    • Red Hat Enterprise Linux 6.0 and 6.1 x86 and x64 (Up to 4 vCPU)
    • CentOS 6.0 x86 and x64 (Up to 4 vCPU)

    It also provides support for the “KVP” feature of Hyper-V (I have yet to play with this under Linux, and am hoping to soon, but you can read about KVPs in a number of posts that I have made in the past).

    Finally this release includes RPM based installers, which is certainly convenient.

    One extra thing to note – if you are running SLES 10 SP3 / 11, or RHEL 5.2 / 5.3 / 5.4 / 5.5 you will need to continue to use the previous release of the Linux Integration Services – which can be downloaded from here: http://www.microsoft.com/download/en/details.aspx?id=24247

    Cheers,
    Ben

  • Virtual PC Guy's Blog

    Installing Ubuntu Server 10.10 on Hyper-V

    • 47 Comments


    Now that the Hyper-V integration services are included in the official Linux builds – I wanted to try out a Linux distribution that is not officially supported by Microsoft and see what was involved in getting it all working.  With the recent release of Ubuntu 10.10 I thought I would try out their server version.  After downloading the bits from http://www.ubuntu.com/server I created a quad-processor virtual machine with a non-legacy network adapter.

    Installation was fairly straight forward:

    UbuntuServer10-1UbuntuServer10-2UbuntuServer10-3UbuntuServer10-4UbuntuServer10-5UbuntuServer10-6UbuntuServer10-7

    However – Ubuntu does not have the Hyper-V enlightened network drivers enabled by default – so the installation complains about not being able to find any network adapters:

    UbuntuServer10-8

    But I just ignored that and moved along with the install:

    UbuntuServer10-11UbuntuServer10-12UbuntuServer10-13UbuntuServer10-14UbuntuServer10-15UbuntuServer10-16UbuntuServer10-17UbuntuServer10-18UbuntuServer10-19UbuntuServer10-20UbuntuServer10-21UbuntuServer10-22UbuntuServer10-23UbuntuServer10-24UbuntuServer10-25UbuntuServer10-26

    I chose the default packages for setting up a LAMP server:

    UbuntuServer10-27UbuntuServer10-28UbuntuServer10-29UbuntuServer10-30UbuntuServer10-31UbuntuServer10-32

    The install finished and I was dropped at the login prompt:

    UbuntuServer10-33

    A cool thing to note was that at this stage I could already shut down the virtual machine by using the shutdown button on the Virtual Machine Connection window, so part of the integration services are already running.  You can also see that all four virtual processors are there and working:

    UbuntuServer10-45

    Getting the Hyper-V drivers up and running at this point in time is actually relatively simple.  The first thing you need to do is to edit /etc/initramfs-tools/modules and add the following lines to the end of it:

    hv_vmbus

    hv_storvsc

    hv_blkvsc

    hv_netvsc

    Once you have made these changes you will need to run “update-initramfs –u” and reboot.  You will now have the Hyper-V drivers for storage and networking loaded:

    UbuntuServer10-34UbuntuServer10-35UbuntuServer10-36

    You can confirm that these drivers are loaded by running “lsmod” after the reboot:

    UbuntuServer10-41

    The final thing you need to do is to configure networking (because that step was skipped during installation).  The first thing to do is to run “ifconfig –a” to find out what name your network adapter has been given.  In my case it was “eth0” – but this is not always the name it will get.  Once you know the name you will need to edit /etc/network/interfaces and add the following to the end of the file:

    For DHCP (what I did):

    auto eth0
    iface eth0 inet dhcp

    For a Static IP address:

    auto eth0
    iface eth0 inet static
    address [insert your IP address]
    netmask [insert your netmask]
    Gateway [insert your gateway address]

    Like this:

    UbuntuServer10-38

    One more reboot and running “ifconfig” should confirm that everything is working:

    UbuntuServer10-42

    And in my case I could also confirm that the website was accessible from my parent partition as well:

    UbuntuServer10-46

    So there you have it.  Ubuntu Server 10.10 running under Hyper-V with full integration services using nothing other than what is included on the Ubuntu install media.

    Cheers,
    Ben

  • Virtual PC Guy's Blog

    Linux Integration Services v2.1 Now Available

    • 9 Comments


    Over on the virtualization team blog – Mike Sterling has just announced the availability of the Linux Integration Services v2.1.  And there is a lot to announce here.  Along with the previous support for our high performance virtual storage and network adapters – this release brings in the following new features:

    • SMP Support: All supported Linux distributions can use up to 4 virtual processors per virtual machine.
    • Integrated Shutdown: This means that you can finally shutdown Linux virtual machines directly from the Hyper-V / SCVMM management consoles – without needing to login to the virtual machine first.
    • Time Synchronization: Linux virtual machines will now have their clocks updated to deal with things like “saved states” just like Windows virtual machines.
    • Heartbeat: The virtual machine heartbeat allows you to confirm that Linux is still running and responding inside the virtual machine.

    These integration services are supported on the following guest operating systems:

    • Novell SUSE Linux Enterprise Server 10 SP3
    • Novell SUSE Linux Enterprise Server 11
    • Red Hat Enterprise Linux 5.2 / 5.3 / 5.4 / 5.5

    You can download the integration services here: http://www.microsoft.com/downloads/details.aspx?FamilyID=eee39325-898b-4522-9b4c-f4b5b9b64551

    Cheers,
    Ben

  • Virtual PC Guy's Blog

    Installing Windows 98 on Windows Virtual PC

    • 40 Comments

    Windows Virtual PC only officially supports Windows XP, Windows Vista and Windows 7 as guest operating systems.  Thankfully it has great compatibility and can run many operating systems that are not officially supported.

    I recently needed to setup a Windows 98 virtual machine for my wife – who has some genealogy software that will not even run on Windows XP.  To do this I created a new virtual machine and configured it with 64mb of RAM and a 16GB virtual hard disk.

    I was then able to install Windows 98 with no real problems:

    Windows981Windows982Windows984Windows987Windows9810

    Some things to be aware of when doing this:

    • I originally created the virtual machine with 128mb of RAM – but that caused problems for the setup program.  Setting the memory to 64mb allowed the installation to go through successfully – and I was able to increase the memory after the operating system installation.
    • I happen to have a bootable Windows 98 installation CD – but most Windows 98 installation CDs are not bootable.  If you have one of these – you need to use a boot floppy – which means you will need these scripts for attaching floppy disks to virtual machines.
    • While I used a 16GB virtual hard disk – because that is all that I needed – I have tried this with disks up to 127GB in size and not seen any problems.

    After installation both networking and sound work correctly – but the video is kind of “sucky” and you need to capture / release the mouse whenever you use the virtual machine.  Luckily you can address both of these issues by installing older virtual machine additions in the virtual machine.  Doing this will give you:

    • Better graphics
    • Integrated mouse functionality
    • Desktop resizing

    But you will not get:

    • Clipboard integration
    • Time synchronization
    • Shared Folders
    • Printer / smart card sharing

    But how do you do this?  The trick is to extract the old virtual machine additions out of a previous product.  In my case I decided to get the virtual machine additions out of Virtual Server 2005 R2.  To do this what you will need to do is:

    1. Download Virtual Server 2005 R2 SP1
    2. Download the Virtual Server 2005 R2 SP1 Update
    3. Put both files in a temporary working directory (I used C:\work)
    4. Rename the Virtual Server setup.exe to 1setup1.exe
        
      - This is needed to get around the Windows application compatibility check, which we do not care about as we will not be installing Virtual Server
    5. Open a command prompt and change to your temporary working directory
    6. Run:
         1setup1.exe /c /t .
      This will extract the installation files out of the executable file
    7. Next run:
         start /wait msiexec /a "Virtual Server 2005 Install.msi" TARGETDIR="C:\Work\bits" /qn
      This will extract all of the files out of the setup package
    8. Finally run:
         start /wait msiexec /p KB948515.msp /a "C:\Work\bits\Virtual Server 2005 Install.msi" /qn
      This will apply the Virtual Server 2005 R2 SP1 update to the extracted files
    9. Make a copy of the virtual machine additions ISO – which will be at C:\Work\Bits\Program Files\Microsoft Virtual Server\Virtual Machine Additions\VMAdditions.iso
    10. You can delete all the other files now – as that ISO file is the only one you need

    At this stage you should start up your Windows 98 virtual machine and login.  Then attach the VMAdditions.iso file to the virtual machine.  The virtual machine additions installer should start automatically inside the virtual machine:

    Windows9811Windows9812

    After this you will need to reboot the virtual machine.

    With all this in place – some parting notes that I have are:

    • Do not connect this to a network!  Seriously.  Windows 98 is no longer supported by Microsoft – and security updates are not being released.  Furthermore – there are no antivirus programs that are being actively maintained for Windows 98.  So it is just a terrible idea to do.
    • If you do have to connect it to the network – here are some tips:
      • Configure the virtual machine to use Shared Networking (NAT) – that will at least protect it from active network based attacks
      • You can install Internet Explorer 6 from here – but please, please, please do not use the virtual machine for general purpose web browsing
      • The Windows Update link in Windows 98 is broken – but you can use Windows Update by manually going to http://windowsupdate.microsoft.com

    Cheers,
    Ben

  • Virtual PC Guy's Blog

    SmoothWall Express 3.0 under Hyper-V

    • 8 Comments


    The other day I setup a virtual machine running SmoothWall Express 3.0 under Hyper-V.  If you are not familiar with this OS – let me be lazy and quote Wikipedia:

    SmoothWall is a Linux distribution designed to be used as an open source firewall. Designed for ease of use, SmoothWall is configured via a web-based GUI, and requires little or no knowledge of Linux to install or use.

    I wanted to play around with it to see if I could set it up as a filtering proxy; so I downloaded the installation ISO file and tried to install it in a Hyper-V virtual machine.

    I created a virtual machine with 512MB RAM, a 127GB dynamically expanding virtual hard disk, 1 CPU and two legacy network adapters connected to different networks.

    For the most part, it “just worked”.  The installation was a very traditional Linux installation process (contrary to the Wikipedia quote above) and I only encountered two hiccups:

    • It did not detect my network adapters by default – and did not tell me that I had to go and kick the network detection routine.  This lead to some confusion where I was trying to configure my public / private interfaces and it believed that it had no network adapters.

    • At first the system was failing to get a DHCP address from my DHCP server.  On a hunch I checked the option to Enable spoofing of MAC addresses on the network adapters – as shown here:
      image 
      Which seemed to solve the problem.  However I was able to go back the following day and uncheck this option and have the system work correctly.  I am not sure what really happened with that.

    But I now have it up and running perfectly:

    Smoothwall1 Smoothwall2

    And it is functioning as a filtering proxy.  Now I just have to wade through mountains of configuration files to actually get it to filter the right things :-)

    Cheers,
    Ben

  • Virtual PC Guy's Blog

    Beta Linux Integration Services Available – SMP support is coming!

    • 3 Comments


    We have just released the beta of the next version of the Linux integration services.  This release brings some much wanted and requested new functionality to our Linux support on Hyper-V.  Specifically it brings:

    • Support for running Linux with up to 4 vCPUs per virtual machine.
    • A time synchronization component to provide the same time synchronization functionality that we have for Windows virtual machines.
    • A shutdown integration components so that Linux virtual machines can be shutdown directly from the Hyper-V user interface / WMI interfaces

    This release is currently available on Connect (http://connect.microsoft.com) under the “Linux Integration Services for Microsoft Hyper-V” connection (which you can go and sign up for right now).

    This release is supported on all versions of Hyper-V out there – namely:

    • Hyper-V on Windows Server® 2008 Standard, Windows Server® 2008 Enterprise, and Windows Server® 2008 Datacenter (64-bit versions only)
    • Microsoft® Hyper-V Server 2008
    • Hyper-V on Windows® Server 2008 R2 Standard, Enterprise, and Datacenter
    • Microsoft® Hyper-V Server 2008 R2

    It is officially supported for the following versions of Linux:

    • SUSE Linux Enterprise Server 10 SP3 x86 and x64
      • SUSE Linux Enterprise Server 10 SP2 will no longer be supported by Novell as of April 12, 2010. Novell recommends that users migrate to SUSE Linux Enterprise Server 10 SP3.
    • SUSE Linux Enterprise Server 11 x86 and x64
    • Red Hat Enterprise Linux 5.2, 5.3, and 5.4 x86 and x64

    This new functionality will also be submitted shortly to the Linux kernel – so that it should hopefully appear in your favorite Linux distribution soon.

    Cheers,
    Ben

  • Virtual PC Guy's Blog

    Installing Windows 7 on Virtual PC 2007

    • 6 Comments


    We have not updated Virtual PC 2007 to add support for running Windows 7 as a guest operating system at this point in time.  However, this is possible to do – with two important caveats:

    • You really need to have hardware virtualization support to get decent performance
    • Understand that this is not supported.  If you encounter problems – feel free to come here and tell me about it – but do not contact Microsoft Product Support

    So what do you need to do?  Well the process is quite simple.  The first thing is that when you create a new virtual machine – you should select Windows Vista as the guest operating system:

    win720071

    This ensures that the right virtual hardware is configured for the virtual machine.  You can then install Windows 7 directly into the virtual machine with no special steps needed.  After Windows has finished installing you will be able to install the virtual machine additions that are included with Virtual PC 2007 SP1.  After this stage you should have all the integration functionality and drivers for all the devices in the virtual machine:

    win720075

    So why do you need hardware virtualization support for good performance?  Well, virtual machine additions breakdown into two parts:

    • The integration features (drag-and-drop, desktop resizing, shared folders, etc..)
      • This part tends to be fairly robust and resilient to operating system changes.
    • Performance optimizations
      • This part is very operating specific and involves a bunch of work to get working each time a new operating system comes out.  This part is also only necessary if you do not have hardware virtualization.

    Microsoft only supports Windows 7 on Windows Virtual PC when hardware virtualization is present.  And while Windows 7 is not supported on Virtual PC 2007 – in order to get decent performance you need hardware virtualization there as well.

    Two closing notes to be made:

    • Amusingly, as Virtual PC 2007 has not been updated to officially support Windows 7 as a guest operating system – Virtual PC will identify the guest operating system as Windows Vista in various locations.
    • While I have not encountered any issues with Windows 7 – my usage does not represent thorough testing – so do not be surprised if you do encounter an unexpected error / inexplicable issue while using this configuration.

    Cheers,
    Ben

Page 1 of 9 (88 items) 12345»