Windows Forum / Virtual PC / December 2007
Few basic questions
|
|
Thread rating:  |
Murthy - 29 Dec 2007 14:06 GMT These questions may sound too basic for you, but still, this VPC seems to be a good solution for my problems.
I have the following basic questions.
1. I have Vista Ultimate with two partitions. C is the major one, and D has no space left out.
2. Can I install VPC at all in the above setup?
3. Do I need to create a separate partition for loading another OS via VPC?
4. Will I be able to install applications in the VPC separately for that OS? (Some of the applications are not vista-compatible. So, if I install XP via VPC, will I be able to install an application which supports only upto XP?)
5. Whether hardware like printer etc. can be added only to that OS?
- Murthy
Mark Rae [MVP] - 29 Dec 2007 14:32 GMT > 1. I have Vista Ultimate with two partitions. C is the major one, and D > has no space left out. Can I install VPC at all in the above setup? Yes you can. You would probably get a bit of a performance gain if you were to install VPC on your C drive and place the virtual machines on your D drive, but that's not mandatory...
> 3. Do I need to create a separate partition for loading another OS via > VPC? This is fundamental misconception about VPC - no partitioning is required. Virtual machines are just files which reside on your host machine's hard disk(s). If you want an analogy, Excel is a piece of software which creates spreadsheets and VPC is a piece of software which creates virtual machines.
> 4. Will I be able to install applications in the VPC separately for that > OS? (Some of the applications are not vista-compatible. So, if I install > XP via VPC, will I be able to install an application which supports only > upto XP?) Yes. The key thing to understanding VPC (and other software virtualisation technology) is that the virtual machines which it creates are functionally identical to physical machines. They are *real* machines. That means e.g. that they can be added into your workgroup or domain, anything you install on them (OS or apps) is subject to the same licensing requirements as if you were installing on a physical machine, they need their own anti-virus solution etc.
> 5. Whether hardware like printer etc. can be added only to that OS? That's a little trickier... For a peripheral device to be recognised by a virtual machine, it has to be connected to a physical machine which would logically be the host machine, but could be another machine on your network. Thereafter, using it is just a matter of simple networking. E.g. if you were to connect a printer to your host's LPT1 port, you could configure a virtual machine's LPT1 port to point to the host's LPT1 port and then it would be able to use the printer. Of course, this would mean that the printer would be available to the host as well...
Pretty much everything you could ever need to know about VPC can be answered as follows:
1) Remember that a virtual machine is a real machine just like a physical machine
2) Read the VPC help file
3) Read this: http://vpc.visualwin.com/ngfaq.aspx
 Signature Mark Rae ASP.NET MVP http://www.markrae.net
David Wilkinson - 29 Dec 2007 14:34 GMT > These questions may sound too basic for you, but still, this VPC seems > to be a good solution for my problems. > > I have the following basic questions. Answers inline:
> 1. I have Vista Ultimate with two partitions. C is the major one, and D > has no space left out. This is not a question.
> 2. Can I install VPC at all in the above setup? Yes, if you have enough space on your C drive. If you install VPC to the default location, it will install to Program Files on your C drive. VPC is just an application like any other.
> 3. Do I need to create a separate partition for loading another OS via VPC? No. The guest OS simply consists of files on the host. These files can be anywhere, but the default location is (My) Documents\My Virtual Machines.
> 4. Will I be able to install applications in the VPC separately for that > OS? (Some of the applications are not vista-compatible. So, if I > install XP via VPC, will I be able to install an application which > supports only upto XP?) Yes. You should think of the virtual machine just like a real machine. The guest OS does not know it is in a virtual machine, and you can load software into it in the usual way (download, from CD ...).
> 5. Whether hardware like printer etc. can be added only to that OS? Virtual machines created with VPC do not support USB. But you can access a USB printer that is hosted on another machine on your network (including the host) via normal printer sharing. Just think of your virtual machine another computer on your LAN; it can do anything a physical computer can.
 Signature David Wilkinson Visual C++ MVP
Mark Rae [MVP] - 29 Dec 2007 15:34 GMT > You should think of the virtual machine just like a real machine. The OP should think of the virtual machine as just like a physical machine...
A virtual machine *is* a real machine - this is fundamental to the understanding of VPC...
 Signature Mark Rae ASP.NET MVP http://www.markrae.net
Murthy - 29 Dec 2007 16:31 GMT Thanks Mr.Rae and Mr Wilkinson for your elaborate answers. Your answers have certainly given me the basic answers I was looking for.
So, I understand that if my HP printer can not be installed on my Vista Laptop, it will as well not be installed on the XP of the virtual machine. I understood this much.
Thanks again,
- Murthy
>> You should think of the virtual machine just like a real machine. > [quoted text clipped - 3 lines] > A virtual machine *is* a real machine - this is fundamental to the > understanding of VPC... Mark Rae [MVP] - 29 Dec 2007 16:47 GMT > So, I understand that if my HP printer can not be installed on my Vista > Laptop, it will as well not be installed on the XP of the virtual machine. Not necessarily...
It sounds like you have an HP printer for which there are no Vista drivers - is that correct...? If it has a parallel connection, all you should need to do is plug it into your host's parallel port, and then configure your virtual machine's parallel port to point to your host's parallel port - thereafter, you should just be able to install the XP drivers on your virtual machine. This is the beauty of virtualisation - your guest OS doesn't know that it's running on a virtual machine as opposed to a physical machine because it doesn't need to know - it makes no difference anyway...
However, if the printer has only a USB interface, I think you're almost certainly out of luck as the only way for a virtual machine to use a USB printer is via standard network printer sharing, so it would have to be installed on the host or at least somewhere on your network from where it could be shared as a network printer...
 Signature Mark Rae ASP.NET MVP http://www.markrae.net
David Wilkinson - 29 Dec 2007 21:15 GMT >> So, I understand that if my HP printer can not be installed on my >> Vista Laptop, it will as well not be installed on the XP of the [quoted text clipped - 17 lines] > installed on the host or at least somewhere on your network from where > it could be shared as a network printer... Mark:
I must say that this seems to me one of the great gotcha's of Windows printer sharing. When a printer is shared on the network, each client computer needs its own driver for the printer in question; it cannot use the driver of the "host" computer that is sharing its printer.
But here we have a situation where the client (XP virtual machine) does have a driver for the printer, but the printer is attached to a machine (the Vista host) that does not have a driver. But why is the driver on the host needed, if it cannot be used by the client?
 Signature David Wilkinson Visual C++ MVP
Colin Barnhorst - 29 Dec 2007 21:36 GMT Because the vm is not in direct commnication with the printer when the printer connection is a usb port on the host. As you know, the vm cannot see those.
>>> So, I understand that if my HP printer can not be installed on my Vista >>> Laptop, it will as well not be installed on the XP of the virtual [quoted text clipped - 29 lines] > (the Vista host) that does not have a driver. But why is the driver on the > host needed, if it cannot be used by the client? David Wilkinson - 29 Dec 2007 22:03 GMT > Because the vm is not in direct commnication with the printer when the > printer connection is a usb port on the host. As you know, the vm > cannot see those. Colin:
Actually, this was not really a question about virtual machines; it was a question about printer sharing. In Windows printer sharing, the client computer always needs its own driver. But if the client cannot use the printer driver on the server, why does the server need one in order for the client to print?
 Signature David Wilkinson Visual C++ MVP
Colin Barnhorst - 29 Dec 2007 22:12 GMT Because the client isn't actually doing the printing?
>> Because the vm is not in direct commnication with the printer when the >> printer connection is a usb port on the host. As you know, the vm cannot [quoted text clipped - 7 lines] > printer driver on the server, why does the server need one in order for > the client to print? David Wilkinson - 29 Dec 2007 23:23 GMT > Because the client isn't actually doing the printing? Colin:
Then why does the client need a driver, if the server is doing the printing? This is actually my *real* question.
My actual situation (nothing to do with VPC) is that I have a Windows XP computer with an attached HP printer which is shared. To access it from another XP computer on the network is easy, but a Vista x64 machine on my network cannot access this printer because there is no Vista x64 driver.
 Signature David Wilkinson Visual C++ MVP
Mark Rae [MVP] - 30 Dec 2007 00:29 GMT > Then why does the client need a driver, if the server is doing the > printing? This is actually my *real* question. [quoted text clipped - 3 lines] > another XP computer on the network is easy, but a Vista x64 machine on my > network cannot access this printer because there is no Vista x64 driver. That's right. I think that you may be getting confused between printer drivers on the host and printer drivers on the guest...
In order for any machine (physical or virtual) to use any printer (shared or local), the machine *must always* have a driver for that printer. In your particular case, there is no Vista x64 driver for your printer, so your Vista x64 driver can't print to it, no matter where it is. The purpose of a printer driver is to take the output from an application and render it in a format that the printer can understand. In this case, it doesn't matter that the printer is connected to a machine which is running an OS for which there is a suitable printer driver because the host printer isn't doing the rendering, although it will ultimately be doing the printing - I feel this may be where the confusion has arisen...
In the case of VPC and a USB printer, both the host and the guest must have a printer driver installed. Firstly, the host needs a printer driver in order to be able to share the printer in the first place, and the guest needs a printer driver in order to be able to render the output for printing.
In the case of VPC and a parallel printer, the *host* doesn't need a printer driver necessarily because it is merely allowing virtual machines to use its parallel port - the printer doesn't need to be shared, in fact it doesn't even need to be installed on the host. However, the guest still needs a printer driver to render the output before sending it to the virtualised parallel port.
 Signature Mark Rae ASP.NET MVP http://www.markrae.net
David Wilkinson - 30 Dec 2007 11:43 GMT > That's right. I think that you may be getting confused between printer > drivers on the host and printer drivers on the guest... [quoted text clipped - 23 lines] > However, the guest still needs a printer driver to render the output > before sending it to the virtualised parallel port. Mark:
Thanks for the excellent explanation.
However, the issue is not my confusion about *how* it is. I know from experience that Windows printer sharing requires both the server and the client to have a driver for the printer in question (the server in order to share out the printer in the first place, and the client in order to actually be able to print to it).
My question is rather *why* it is like this. If I think of the server just as a print server (so that the only requirement is to be able to print from the client) it seems unnatural to me that a full printer driver is needed for both computers.
 Signature David Wilkinson Visual C++ MVP
Mark Rae [MVP] - 30 Dec 2007 14:41 GMT > My question is rather *why* it is like this. If I think of the server just > as a print server (so that the only requirement is to be able to print > from the client) it seems unnatural to me that a full printer driver is > needed for both computers. Every device attached to any machine needs a driver...
Even in the scenario of a parallel printer connected to a host machine with no printer driver, the host machine will still have a driver for its parallel port otherwise it wouldn't work...
 Signature Mark Rae ASP.NET MVP http://www.markrae.net
David Wilkinson - 31 Dec 2007 11:29 GMT > Every device attached to any machine needs a driver... > > Even in the scenario of a parallel printer connected to a host machine > with no printer driver, the host machine will still have a driver for > its parallel port otherwise it wouldn't work... Mark:
I understand what you are saying, and I know how it is, but it seems to me that a situation where N OS's and M printers requires M*N distinct printer drivers is somehow not ideal. Surely there are parts of such drivers that are OS-specific, and parts that are printer-specific, and if there were some kind of separation of these features, the client-server aspects of printer sharing could be less restrictive.
It's like compilers. Once you have a C compiler for a given architecture, you can in principle write a C "translator" program that converts any other computer program (e.g. Fortran, or C++) into an equivalent C program. So if you have M architectures and N languages, you only need M C compilers and N translators, rather than M*N full compilers.
The role of C in the printer driver situation could perhaps be taken by postscript.
 Signature David Wilkinson Visual C++ MVP
Mark Rae [MVP] - 31 Dec 2007 12:04 GMT > Surely there are parts of such drivers that are OS-specific No - the printer needs to receive input in the same format irrespective of what OS is doing the rendering...
> It's like compilers. No it isn't - printers are hardware, not software...
 Signature Mark Rae ASP.NET MVP http://www.markrae.net
David Wilkinson - 31 Dec 2007 13:21 GMT >> Surely there are parts of such drivers that are OS-specific > [quoted text clipped - 4 lines] > > No it isn't - printers are hardware, not software... Mark:
I don't know too much about postscript, but if I had PDF Writer on my Vista x64 client, I could presumably print to a PDF file on the XP x86 server. I could then send a TCP/IP message to the server to print this file using PDF Reader. This achives the separation I am talking about: each server needs a "PDF reader" and each client needs a "PDF Writer". There is no need for these two pieces of software to be in any way related. [Of course the server also needs a print driver for the printer, but the client does not.]
Why could such a scheme not be used automatically?
I'm sorry that this line of questioning has nothing to do with Virtual PC per se ...
 Signature David Wilkinson Visual C++ MVP
Mark Rae [MVP] - 31 Dec 2007 13:57 GMT > Why could such a scheme not be used automatically? No idea - maybe try one of the Windows newsgroups...?
 Signature Mark Rae ASP.NET MVP http://www.markrae.net
Robert Comer - 31 Dec 2007 14:07 GMT >Why could such a scheme not be used automatically? Because most printers aren't nearly smart enough to do that (even most postscript printers -- PDF isn't quite the same thing as postscript,) the host has to control them.
A network connected postscript printer with a generic postscript driver on the host could get close to what you want...
 Signature Bob Comer <Microsoft MVP Windows - Virtual Machine>
>>> Surely there are parts of such drivers that are OS-specific >> [quoted text clipped - 20 lines] >I'm sorry that this line of questioning has nothing to do with Virtual >PC per se ... Mark Rae [MVP] - 29 Dec 2007 23:14 GMT > But here we have a situation where the client (XP virtual machine) does > have a driver for the printer, but the printer is attached to a machine > (the Vista host) that does not have a driver. But why is the driver on the > host needed, if it cannot be used by the client? The host doesn't need a driver for a parallel printer because VPC virtual machines virtualise parallel ports. In this configuration, the guest is doing the printing.
The host does need a driver for a USB printer because VPC virtual machines do not virtualise parallel ports. In this configuration, the host is doing the printing.
 Signature Mark Rae ASP.NET MVP http://www.markrae.net
|
|
|