(at first, sorry for my English, I'm not a native speaker) I'm currently using mostly Windows PCs and I'm somewhat doing everything with every computer in a different way. It's very unorganized: at each computer there is a different version of Python, etc. installed and everything appears very "locally".

I want to use Linux for programming but only in a virtual machine. My goal is it to keep every media/games-related stuff on the native Windows installation that the computers boot into. Should they want to program or use Latex they quickly fire up a virtual linux machine.

In principal, everybody can do what they want with their windows installation, install different drivers, apps on it; But I want to have the same linux virtual machine on every computer, with updated programs and libraries and a common look.

My question is: Is it possible to let the virtualization software use an image stored locally on the network and, if needed, update changes to it? Or even better: Store a version of that image on their own harddrive and whenever changes have been made, they upload it to a server where everybody can update their own versions from? I dont expect users to change the image parallel on the same time, therefore things like version control are not important.

3 Answers 3


Trying to replicate changes of a Linux VM image between multiple computers is possible, but is possibly more trouble and LAN bandwidth consuming than it first appears.

If you want to have the same Linux VM accessible from every windows computer on the LAN, rather than booting a Linux VM on each computer, why not dedicate one computer as a "server" and host a Linux VM that people connect to using VNC, X Windows, or even RDP, then you only have to maintain a single Linux VM.

  • 1
    I never thought of that actually. As I wanted to build a small server (maybe with an Intel G4560 or Ryzen 3) anyways for filehosting and other things, that does not seem to be a bad idea. But please clear me up on the difference between the remote protocols. If I set up a X11 server for example, which PC would take what amount of load? As I understood it, one could easily start a headless VM (or even just a container, not a whole VM) and set up a X11-Server on that. Everything about the rendering of the graphical frontend has to be done on the machine that connects to the server, right? Aug 8, 2017 at 22:22
  • 1
    X11 is rendered in the X11 server. if one connects with VNC/RDP etc, the X11 server would be the host. Aug 11, 2017 at 6:51

For Windows, another iSCSI boot option is StarWind Virtual SAN provides native and free iSCSI target to boot hosted VMs. The following guide should help you implement the project https://www.starwindsoftware.com/images/content/StarWind_winBoot.pdf


You can use an iSCSI Boot for this. This is definitely coupled with costs tho since you'd need a SAN/NAS or at least buy a license for a virtual SAN program

What you basically do is create a virtual machine, install anything you want, convert that virtual disk to an image and host it on a iSCSI Partition. Implement some DHCP rules, make some changes to bootfiles etc. and then you'll be able to launch with PXE Boot into that iSCSI Partition and use your linux.

There are tons of step by step tutorials online.

http://backreference.org/2013/12/23/diskless-iscsi-boot-with-pxe-howto/ http://it-joe.com/linux/iscsi_pxe_boot

Another thing you could do is to just create a network share and save your linux vm there. Keep in mind that (dependent on how big your vm gets) this can increase load times.

  • 2
    Needs to address having multiple computers boot the same image at the same time. A dedicated SAN device (NAS is file storage, SAN is block storage) is not required for iSCSI. There are iSCSi target options for Open Source operating systems that do not require a licence, and on Microsoft Operating systems, Windows Server includes an iSCSI target. Aug 7, 2017 at 21:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .