| 
		Except when 
		things don't work right Which is exactly what happened recently. And I looked 
		all over and found nothing to give me any clue on how to fix it. So here 
		it is, the problem defined, how it manifested itself, and how I fixed it 
		- hopefully this will help someone else with their issues as well. I had a virtual machine (VM) created years ago that ran 
		in Microsoft Virtual PC 2004 that was a RedHat Linux 7 distribution. I 
		used it for a few things, mainly to run an open source vulnerability 
		scanner called Nessus back when you could scan your network without 
		having to pay $1200/year for the vulnerability database. The VM sat 
		unused on my old P4 notebook until another project to update some old 
		network computers (NC) with additional features crossed my path, and 
		that VM seemed like the perfect platform to run on that NC. It happened 
		to be a Neoware EON N4000T with 48 MB DOM (DiskOnModule) running 
		NeoLinux which was based on Red Hat Linux, but the details of that 
		project are potentially the subject of another article. I have other virtual machines - a Solaris 10 instance, a 
		Ubuntu 6.10 installation, and even a DOS 6.22 / Windows for Workgroups 
		3.11 instance. What I'm describing here I also saw on the Ubuntu 6.10 
		virtual machine as well as a Ubuntu 9.1 instance I recently decided to 
		dabble in. I can't speak yet for the Solaris instance as I haven't 
		booted it in years. 
		Symptoms of the 
		problem The machine runs, but it is very slow. I mean 
		pathetically almost unusable slow. And this was on my fancy new (at the 
		time) Core2 Duo system with 4 GB RAM and 2.6 GHz of clock speed. If 
		anything, this should run faster than anything I'd ever seen on my older 
		1.x GHz Pentium 4 notebook. Yet there it was, occasionally going out to 
		lunch and freezing, only to wake up 10-30 seconds later and be 
		responsive again. When I paid attention to the boot, I noticed numerous 
		lines that read: hda: lost interrupthda: lost interrupt
 If I ran dmesg, those errors showed up in the log as 
		well. This was running the new improved Microsoft Virtual PC 
		2007 sp1 on a Vista machine, versus my old system. Here is a screen shot of the boot screen, showing the 
		various error messages. Where / when they happened changed, but the 
		effect was the same - the VM was barely functional: 
		 The big symptom I noticed was the virtual machine was 
		running very slowly. All the searching through the web on that hda: lost 
		interrupt message pointed out hardware errors, like wrong cables, BIOS 
		set wrong, BIOS updates, etc. - nothing told me exactly what the problem 
		was or how to fix it. I'm going to skip the diagnostic story and cut right to 
		the chase. If you are running on a multiple core system - Mine 
		happens to be a Core2Duo, but it might very well happen on others as 
		well - you have to force VirtualPC.EXE to run on only one of the cores. To do this, go into task manager, find the process 
		VirtualPC.exe, and right click it: 
		 Select the Set Affinity... menu option, and you'll see 
		this screen:  
		 It looks slightly different in XP, but functions the 
		same. Both CPU 0 and CPU 1 were checked on my system. When I unchecked 
		CPU 0, that forces VirtualPC.exe to only run on core #1. This cured all 
		my Linux virtual machine problems! If you have a quad core, or better 
		system - leave only one of the CPUs checked. If you find a specific CPU 
		that works and one that doesn't, please let me know so I can update this 
		document and help others out. This problem exists no matter what version of Virtual PC 
		you are running, from 2004, 2007, and any service packs. I can't speak 
		to this getting fixed in any future version. I'll bet this problem also impacts Microsoft Virtual 
		Server since both products are based on the same virtualization engine. 
		But I haven't tried it with that, so if someone discovers this fix works 
		for them with Virtual Server if you'd let me know I'll update the 
		article with that information. Curiously, I was able to install & run using
		Sun Microsystems VirtualBox 
		product without any issues. It also gave me more options for the virtual 
		machine, so playing with that is now on my list of things to do. If you found this helpful or not, please send me a brief email -- one 
		line will more than do. If I see people need, want, and / or use this 
		kind
		of information that will encourage me to keep creating this kind of 
		content. Whereas if I never hear from anyone, then why bother?
 I can be reached at:
 
 das (at-sign) dascomputerconsultants (dot) com
 
 Enjoy!
 
 David Soussan
 (C) 2009 DAS Computer Consultants, LTD. All Rights Reserved.
 Everything below this line is to help search engines find, index, and 
		thus help users find this content.       |