1

After researching a little bit on this forum, I found a couple of answers to this, but most of them were related to licensing issues.

Here I am curious to know the advantages and disadvantages of running a virtual machine with the same operating system as the host operating system permanently. I mean, the only job of the host OS would be to run the guest virtual machine. All the daily tasks etc. would be done from inside the guest virual machine. This also means, that the disk size of the virtual machine should be large and perhaps around 80% of the entire hard disk size i.e 400 GB for a hard disk capacity of 500 GB.

Does anyone think, this is not an optimal idea in terms of speed or performance etc.? Lets say that the guest and the host OS are both Windows 7.

OP added

My basic problem is that I have got 3 different work places and everytime I have to install the same programs again and again. So, I thought that I might anyways syncronize my virtual machine to get the same image on the different workstations I work on. My basic work is to compile programs be it using a C compiler, or a java compiler or run python scripts. Also the programs that I want to run are not performance hungry. Graphic loss does not bother me because I do not intend this machine for playing games etc. In short, when I work on the second computer, I should get the same effect as I never changed my computer because all the program and data that was in the virtual machine are present in the new computer ( through a virtual machine ) as well. Licensing is not an issue, because our company has a bulk license for windows machine. One important thing is ro run remote desktops or make a ssh connection with an another computer over putty etc and I am not sure if you can run these from inside a virtual machine.

  • 1
    It makes sense to virtualize a server, but a workstation, that is mainly based upon personal preferences. – LPChip Jul 14 '15 at 21:37
  • 1
    perhaps explaining why you are doing this would help – Keltari Jul 14 '15 at 21:40
  • Why? If it isn't a bare metal VM there will be a huge loss of performance, and some software won't run correctly... And if you are running it full time, you're probably losing the security aspect of a VM. – Austin T French Jul 14 '15 at 21:44
  • you can ssh into or out of VMs – barlop Jul 15 '15 at 7:54
5

Your needs can be met by virtualization. In fact, you'll be wondering why you didn't do this earlier.

I thought that I might anyways syncronize my virtual machine to get the same image on the different workstations I work on

If you put your Virtual Machine on a portable USB hard drive then, yes, you can carry the hard drive around with you and "run" your Virtual Machine on any of your three host PCs. Don't forget each host PC needs the same virtualization software installed.

I should get the same effect as I never changed my computer because all the program and data that was in the virtual machine are present in the new computer

Bingo. So long as you use the portable hard drive method I described above.

One important thing is ro run remote desktops or make a ssh connection with an another computer over putty

Should be no problem. Virtual machines are like real PCs. When you get to it, configure your your Virtual Machine to use Bridged Networking and it'll appear on your LAN just like a real PC with full functionality.

  • How about a cloud service like owncloud to sync the virtual machine? My company has an owncloud server with an unlimited storage. I am just worried that the flash drive would not survive the immense read and write cycles. Right? – infoclogged Jul 15 '15 at 16:33
  • @infoclogged The USB hard drives I'm thinking of are not flash based, they're just spinning 2.5inch laptop drives in a case with USB. Such a drive can be abused with TB of writes no problem. – misha256 Jul 15 '15 at 19:31
  • @infoclogged indeed using the cloud to sync your r work between PCs is absolutely an option. You'll have to figure out what works best for you. Personally i prefer Virtual Machines on a USB hard drive, it's the closest thing you can get to carrying PCs in your pocket. – misha256 Jul 15 '15 at 19:39
2

Does anyone think, this is not an optimal idea in terms of speed or performance etc.?

It's not optimal. A desktop OS will perform substantially better on bare metal than in a Virtual Machine. Graphics and Disk I/O performance tends to suffer the most. Some applications/games that utilize 3D graphics might not even be run or be usable.

You WILL notice the performance loss. Whether that matters is up to you to determine.

To sum up: The point of desktop virutalization is not performance. The point is always going to be something else, which is for you to determine based on your needs. Here are examples borne out of my needs:

  • I run a Linux (Mint) VM so I can safely browse the Web.
  • I run a Windows XP VM so I can maintain old Visual Basic 6 applications.
  • I also run a Windows 7 VM so I can test new or untrusted software before installing it on the host PC.

What are your needs? Once you figure those out you can go ahead and see if Virtualization might be able to help.

  • I have added the needs in my original post. – infoclogged Jul 14 '15 at 22:46
2

since[at time of answering] nobody has listed any pros

pros

you could have multiple, easily clone and experiment with them.

the hard drive can be set to grow dynamically only using what it needs

you can use snapshots, which is quicker than restoring an image

you can test out software

  • and portable computers on a USB stick / ext hdd, as somebody points out. And you could even put Win PE on it and thus effectively carry around a load of computers that could run on almost any half dead machine. Like a KVM of computers on a half dead machine! – barlop Jul 17 '15 at 14:27
0

I usually install the applications on the host machine, and then work out what kind of settings are needed to get it to run on the guest machine. I manage my setup like that, and simply running a batch file, will install all of the applications in the guest machine. The thing can even be customised so that the guest machines use different drives.

I use Windows 2000 for this exercise, but applications can be 'docked' into XP or Win98, by running the appropriate batch file.

The first step is to create your own registry page, for the batch variables. I use reg.exe to do this, and poke the data into "HKCU:\Software\wendy\folders". This lives in a batch 0_config.cmd (but you replace 0_config with different names.

The second step is to write batch files to do things like create the ini settings. So 1apppath.cmd and 1assoc.cmd handle registry things, 2mkfolder handles setting up a separate start-menu group + sendto things, 3_shellext handles registering shell extensions.

You then have as a result of research, things like r_xplite.reg and u_xplite.reg, which of course, registers and unregisters that app.

To make things even more interesting, you get as a side effect, a batch file that can change to any user directory, or anything under \wendy\folders

We use Frank Westlake's conset.exe utility in the process. reg: is a url-like thing that regjump (Sysinternals) or regmagik can handle.

Using the /m, /u, /w switches opens up the registry settings for these things. The /i opens up the Image File Options that proggies like to hijack.

So cdf batch changes to the batch directory cdf /w opens registry at the /wendy/folders location.

@echo off :: cd shell folder. set zdir= set zshf=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders if /i "%1"=="/m" goto :hklm if /i "%1"=="/u" goto :hkcu if /i "%1"=="/w" goto :hkwe if /i "%1"=="/i" goto :image set zcmd=chdir set zhere=%* if "%1"=="/o" set zcmd=open if "%1"=="/o" set zhere=%zhere:~3% conset /q /k zdir=HKLM\%zshf%\%zhere% if not "%zdir%"=="" goto :doit conset /q /k zdir=HKCU\%zshf%\%zhere% if not "%zdir%"=="" goto :doit conset /q /k zdir=HKLM\Software\Wendy\Folders\%zhere% if not "%zdir%"=="" goto :doit goto :end :hklm shelexec reg:hklm\%zshf% goto :end :hkcu shelexec reg:hkcu\%zshf% goto :end :hkwe shelexec reg:hklm\software\wendy\folders goto :end :image set zdir=Microsoft\Windows NT\CurrentVersion\Image File Execution Options shelexec reg:hklm\software\%zdir% goto :end

:doit set zcxm= if %zcmd%==chdir cd /d %zdir% if %zcmd%==open shelexec %zdir% :end set zdir=

Not the answer you're looking for? Browse other questions tagged or ask your own question.