One of the things I like to do is port software from one system to another. That is take the source code of a program and allow it to work on another system. Why reinvent the wheel if yo u have something that works. Just because you have a new and different system should keep from using that software. Coming from a school that says within reason if it is not broke, do not fix it then you know what to do. If I have a perfectly working system why convert it to a virtual machine and not know what the challenges might be. If I did not have an existing system, then off to the races to build a virtual machine.
What is this all leading up to. With the terminated support of Microsoft Windows XP. XP per se is no longer viable. Mainly because of security issues. Everyone says upgrade or chunk the system. Invested too much in the system to lightly just chunk it and like most upgrades old software just no longer works after the upgrade. So using a virtual machine does not always work for testing old software to make sure it works before moving to a new system.
Had an application of which I moved over to a new system. Could not get the new software to work in the development environment. Thought maybe there was a problem with the software. If I had chunked the old XP system, there never would have been a way to test the software to make sure it work to begin with. Fortunately the software did work with the original system.
There lies the dilemma. How do you use the old system without causing problems for your network or the original system? Since the original system was not corrupted in any way, then all I had to do was just segregate it from the internet and any potential issues.
Well what would you need? An extra router, a host machine with an extra network interface card aka nic, the XP machine, and the appropriate cables. First you would set up the extra router with a different lan or network than the one that connects to the internet. Say "192.168.8.x". This is to prevent any conflict and mixing of packets between the two networks. Hook you XP machine with the second router and the "192.168.8.x" network. Next hook the second port of the host machine to that second router. Set the host machine to get an ipaddress from that router. Make sure that the second nic is not joined in any way to the first nic. so the original nic will get it's ipaddress from router 1.
[Note you could use a crossover cable and static ipaddresses, but that is not elegant enough for me.]
Once you have that setup and connected, you can set up sharing between the host machine and the xp machine via the second nic only. You should be able to work securely between the two systems. So now if you need any files from the internet, you can download them to the host and then in a second step transfer the file to the XP machine. That may see like a hassle, but it is pretty easily automated.
Also for XP, if you needed some update, you can download administrative packages that can be installed without using the internet. That is the way we used to do it. Download the package and then have it run on all the machines at the same time, so upgrading many machines was not that much of a hassle.
Eventually I will probably either chunk or find another operating system for the XP amchine. But for the time being ROI (return on investment) can still be extracted from that system.