virtual machine (almost) complete newbie requests assistance to identify what's needed

cameronian

New Member
Hello

OK, bad news first. I'm a near 74 year old engineer, and have very little experience with modern operating systems, though I have quite a bit with older systems.

For many years I've used a machine running Win XP Pro with SP3. Mainly this machine is used for technical work - engineering drawing, modelling, calculations, image processing, etc. Unfortunately, the hardware has died - failure in the chipset as far as I can determine. Even more unfortunately, quite a high proportion of the people who wrote the software I use have also died and there is no chance the software will be updated beyond XP.

I very rapidly found out that in any case there were no more quality Socket 1150 boards available to buy as this is, I believe, the last Intel incarnation that will run XP.

As a solution to this problem I am considering building a more modern PC capable of running a virtual machine which would contain the XP O/S and enable me to load the specialized software. First point to make: this machine will never be on the internet (other than to activate an O/S) and will never have carried any personal details, done any banking or even have contact lists. It is an engineering tool like a micrometer or set of feeler gauges.

I am a little reluctant to consider this option because I did some work around 2004 using VMWare Workstation to run some other specialized application software; I found it terribly slow and was quite disappointed. However, the intervening 14 years may have seen some small improvement in hardware performance, and hopefully even extensions so that some of these virtual machine instructions can now run in silicon rather than software.

It seems to me that there are a number of virtual machine 'flavours'. I have seen reference to full virtualization (provides a substitute for a real machine, by giving functionality to execute an entire operating system, process virtualization (execution of programs in a platform independent environment), operating system level virtualization (computer resources are partitioned by kernel support for many independently isolated user spaces or containers. I haven't yet discovered how some of the components relate to each other. Windows 10 appears to contain a mechanism called Virtual Box that allows a user to set up virtual machines, but I know very little about this facility.

So question #1: In such a case, Windows 10 is the host and the virtual machine generator (Virtual Box) runs under the host, at least that is what I think, but please correct me if I am wrong. Having generated a virtual machine, a second OS (XP) is loaded into this virtual machine, and then the applications are added afterwards. In order to get good performance Win 10 needs to address as much memory as I can economically provide. This suggests that I need a 64 bit version of Win 10. However, I will be loading a 32 bit version of XP to run 32 bit applications in what is essentially a 64 bit machine. Is this permitted?

Question #2: When running Win 10 I will presumably have access to all the machines resources. XP however, will run in a defined container. Will I still be able to access all the machine resources from an application running inside the container? Typically I will need to access (1) keyboard, (2) mouse, (3) HDD or SSD, (4) graphic card, (5) USB, (6) plotter (parallel port), (7) printer (serial port|), and (8) intranet via an isolated switch. Is there a mechanism for these devices to pierce the container wall in response to my actions within the 32 bit application software? For example, I might wish to plot a drawing.

The graphic card poses a particular problem. I have available both nVidia K2200 and nVidia K2200D. The former has 2 GB of graphic RAM and drivers for XP and Win 7...+; the latter has 6 GB graphic RAM, but no XP drivers, only Win 7...+ drivers. So if I am running Win 10 as the host for the VM, do the graphic calls out of the container get translated to Win 10 calls to the graphic card, thus allowing me to use the K2200D, or do the graphics calls get passed on unimpeded so that I have to keep using the K2200?

Question #3: Having generated files within an XP application, would they still be accessible from Win 10? For example, I might generate a .pdf document in an XP application, but might need to modify it in a Win 10 environment.

Question #4: Is Win 10 the right host for a VM? Are there any other VM's that might be considered?

Question #5: Does anybody have any recommendations for the actual motherboard hardware. I rather like the look of the ASUS boards with M2 and U2 connectivity, but their specifications do not mention form factors very much. I already have a nice case which uses a micro ATX form factor, so I'd like to continue using this and put the money saved into memory, a higher performance motherboard, etc.

Question #6: Related to the previous question, are there any recommendations for processor configuration in terms of cores, clock speed and the like.

Sorry this is a bit long, but thanks in advance for any advice that can be given.

Kind regards

cameronian

cameronian
 

Neemobeer

Windows Forum Team
Staff member
In virtual machine lingo you have what is called a hypervisor. This is a software that tricks the OS (virutal machine) into thinking it's running straight on hardware. You have two types. Type 1 hypervisor runs directly on top of the hardware such as VMWare esx. Type 2 runs on top of a host operating system. When someone says host they mean the hardware and the type 1 hypervisor or the hardware and the host operating system in a type 2. A guest is a VM running on the system.

Question 1: Yes you can run a 32bit VM (Windows xp) on top of a 64bit host and your 32 bit applications will work just fine.
Question 2: Correct the VM will use up to whatever constraints you define in the VM
Question 3: Yes and no. The files in the VM will be contained in a virtual hard drive file not easily extracted; however, most hyper visors have a host-to-guest, guest-to-host and bidirectional copy features in most cases it will interface with the clipboard so you can copy and paste like normal.
Question 4: I would say yes Windows 10 is the newest, and also have a built-in hyper visor that works very well (Hyper-v)
Question 5/6: No particular opinion on the motherboard, but I would get a CPU with more cores (4 core would be fine) than not and at least 8-16GB of RAM as you will want 8 for the host and extra for the VM(s) although XP doesn't really need much.


*SIDE NOTE* I believe hyper-v is enabled by default in the newer Windows 10 builds 1703/1709. If it is you won't be able to run another hypervisor on the host such as Virtualbox, Parallels, Vmware player/workstation etc.

If you need help setting up the hypervisor feel free to ask I help manage several large virtual clusters for work.
 

cameronian

New Member
In virtual machine lingo you have what is called a hypervisor. This is a software that tricks the OS (virutal machine) into thinking it's running straight on hardware. You have two types. Type 1 hypervisor runs directly on top of the hardware such as VMWare esx. Type 2 runs on top of a host operating system. When someone says host they mean the hardware and the type 1 hypervisor or the hardware and the host operating system in a type 2. A guest is a VM running on the system.

Question 1: Yes you can run a 32bit VM (Windows xp) on top of a 64bit host and your 32 bit applications will work just fine.
Question 2: Correct the VM will use up to whatever constraints you define in the VM
Question 3: Yes and no. The files in the VM will be contained in a virtual hard drive file not easily extracted; however, most hyper visors have a host-to-guest, guest-to-host and bidirectional copy features in most cases it will interface with the clipboard so you can copy and paste like normal.
Question 4: I would say yes Windows 10 is the newest, and also have a built-in hyper visor that works very well (Hyper-v)
Question 5/6: No particular opinion on the motherboard, but I would get a CPU with more cores (4 core would be fine) than not and at least 8-16GB of RAM as you will want 8 for the host and extra for the VM(s) although XP doesn't really need much.


*SIDE NOTE* I believe hyper-v is enabled by default in the newer Windows 10 builds 1703/1709. If it is you won't be able to run another hypervisor on the host such as Virtualbox, Parallels, Vmware player/workstation etc.

If you need help setting up the hypervisor feel free to ask I help manage several large virtual clusters for work.

Neemobeer

Thanks for the quick and informative reply.

So is Hyper-V contained within Win 10, making it plus the hardware a type 2 system, or is it an add-on from Microsoft?

I'm still not clear about, for example, the graphics card.

What do you mean by 'constraints you define in the VM'. Do I have to define constraints?

Can I instruct the VM to pass graphics calls and graphic data through the hypervisor to the Win 10 K2200D driver, or will this information 'penetrate' the container wall directly already pre-conditioned to drive only the K2200 via the K2200 driver installed in XP?, because that is the only driver that can run in the XP space? I would love to run the nVidia k2200D card, but unless the VM container with XP and the application inside it can somehow operate without the need for the K2200 driver in XP - that is the calls can 'penetrate' the container wall and go to the K2200D driver, I can only see that I will be forced to run the K2200 card.

Thanks again.

Kind regards
cameronian
 

Neemobeer

Windows Forum Team
Staff member
If it's not already enabled you can enable it as follows.
  • Open 'Control Panel'
  • Click on 'Programs and Features'
  • On the left, click 'Turn Windows features on or off'
  • Check the box next to 'Hyper-v' make sure it's a checkmark and not a black box. If you see the black box expand Hyper-v all they way out with the '+' signs and check each box until Hyper-v has a checkmark
  • Click Ok
  • After it's installed you will need to reboot
hyperv.PNG


You don't really need to do anything for GPU handling, but you can enhance the graphics experience with vGPU if your computer supports here. Once you have the Hyper-v manager running you can verify your computer supports vGPU called RemoteFX
hypervgpu.PNG
 
Top