March 2008 - Posts
If you've upgraded to RC0 of Hyper-V, you can run into a problem creating a new VM that is based on Server 2008 RTM, since the Integration Components (IC's) are out of sync. This means you won't have the drivers for the new synthetic NIC, for example. And if you're working over an RDP session to the parent partition, you'll have major mouse problems in the VM as well. So, the workaround is to get the new IC's loaded into the VM as quickly as possible. To do that, you have two choices:
- Create the VM with a legacy NIC so you can connect to a network share where you've stored the Windows6.0-KB949219-x64.msu file (or the x86 version if this is a 32-bit VM)
- Create an ISO file with the .msu inside the ISO and then mount the ISO for the VM.
You can use your favourite tool to create the ISO - we generally use MagicISO, but unfortunately it's currently somewhat broken in Vista SP1 or Server 2008 - you can't activate it.
Now, as soon as Server 2008 has finished the basic install and you have logged in to the initial GUI session, press Shift-F10 to open a command window. Connect to the network share if you're using the first method, or change directory to the DVD drive letter if you're using the second. Run the appropriate MSU file (Windows6.0-KB949219-x64.msu for 64bit). This will install the IC's and you can finish configuring your installation. A bit of a kludge, but this should all get sorted by the time we get to RTM. Or at least I hope so.
OK, we've all complained about unnecessary services and silent installs, but to give them credit, Microsoft has done a pretty good job of cutting back on that sort of thing. Heck, they even allow installing a server without a GUI, finally. So I recently broke down and bought an iPod. I had a Zune, and it was pretty lame, but when the new software (v2.x) got installed, it became totally useless. Time to break down and buy an iPod - at least it also supports Audible books, which is a big plus for me. So, I get a nice little iPod Nano, 2nd generation. 2 GB is enough for me, and I can even swim with it thanks to H2O Audio. But ever since I installed the mandatory iTunes, which also installs the horrible QuickTime, my system has been slow to start up and a bit odd behaving. So, I started investigating. First to go was killing the QuickTime startup. I don't want it, don't need it, and don't want it. Plus, it kept phoning home to see if it could update or sell me an "improved" version. No thanks!
But that wasn't enough, apparently, since it was still slow starting up. And now I noticed a new service running "Bonjour Service". I NEVER installed or asked for anything called Bonjour, and it won't uninstall from add/remote programs. Grrr. Ah, I see, it's a service. And it's got some DNS sniffing software it runs. NOT nice, definitely NOT something that should be running on my network. So, I disabled the service, rebooted, and uninstalled and then ripped the registry to remove every trace of it. And you know what? My iPod still works just fine, and the Apple iTunes doesn't even complain. So, why install it? I don't know, but I'm NOT a happy camper. Anyone know a way to get software onto an iPod without having to use iTunes?
Update: Barb Bowman suggested I look at Anapod, from Red Chair Software. Looked interesting, and even claimed to do Audible support (though there are indications that it only does Audible Type4, which is a nuisance.) So I downloaded the trial software, installed it, and found out it's a BRAIN DEAD 32-bit only application that doesn't work with 64-bit Windows. Uninstalled. Filed in /dev/null. When, oh when, will folks figure this out?
For those of you testing or using Hyper-V as your virtualization solution, the good news is that they appear to be on track for a final release by the end of the summer. Microsoft has just announced the release of the Hyper-V RC. This update adds Vista SP1 and XP SP3 support, and includes the Hyper-V Manager for Windows Vista SP1.
If you've been using the beta version of Hyper-V that shipped as part of Windows Server 2008, or an earlier version, you'll have some specific steps to follow to update your environment, but once you get everything converted, you should be good to directly upgrade from the RC to the final release.
Update: The Vista Hyper-V Manager tools are now available for download. There are tools for Vista 32-Bit and for Vista 64-bit.
In the public 64-bit Windows newsgroup, we often get questions about memory usage, and a recent post there made me realize that there are some basic misunderstandings about the relationship between memory, virtual memory address space, and RAM.
32-bit Windows uses a flat memory address space, thus is limited to 4 GB of memory addresses. This is divided up 2 GB for individual user programs, and 2 GB for the operating system. It doesn't matter if you have 4 GB of RAM, or 512 Mb of RAM, it's the same virtual memory address space. This means that in order to directly address the memory used by video cards, and other such things on your computer, the OS has to be assign those specific addresses to that memory, and it's locked away and can't be seen - effectively making your memory address space smaller. But each user program that runs gets its own 2 GB of virtual memory address space, regardless of the RAM in your machine. There are even programs that can access >2 GB of memory address space, IF you configure Windows to allow it - using the /3GB boot switch. This effectively limits the OS to only 1 GB of virtual memory address space for its own operations, however, causing the operating system to effectively starve if there's a lot of I/O or other demands on the OS itself, so it isn't recommended for ordinary usage. Especially since only specially written programs can take advantage of it.
Now, RAM. If you have 8 GB of RAM, running 32-bit Windows Vista, you simply can't see any of the RAM >4GB - there's no address space to communicate with it. So, if you have >4GB of RAM, you _need_ 64-bit Windows. (There is one exception to this, using something called /PAE, but it's not supported on all versions of 32-bit Windows and has a significant speed penalty, so is
generally not recommended.)
Whether a particular program that uses 1 GB of _memory_ will have all of the program in RAM is a decision that the operating system makes. It may decide to offload some of that to virtual memory, or may leave it all in RAM, depending on the other requirements of the system.
In 64-bit Windows, the memory address space is 16 TB. 8TB for user programs and 8TB for the operating system. 32-bit programs running in 64-bit Windows run in the WOW64 subsystem. Each 32-bit program is assigned a 4 GB virtual memory address space in the WOW64 subsystem - with no requirement for the OS which is still running in the 8 TB of virtual memory address space it gets.
So, if your 32-bit program is written to take advantage of >2GB of memory (using the LARGEMEMORYADDRESSAWARE compiler switch), it will automatically see a full 4GB.