[Discuss] Virtual Worlds
John Blomfield
jabfield at shaw.ca
Mon Apr 7 15:44:23 PDT 2008
Thanks everyone for all the help and particularly Jeremy Nickolet who
gently suggested I had better read the manual. What's the saying "when
all else fails read the manual"? Anyway, if anyone else is interested
in putting their Windows program on a virtual machine here is how I
ended up doing it. VirtualBox (Jeremy liked it) looked the most
promising since I had successfully installed it on my Fedora 8, AMD64
and my Intel dual-core laptop, without a problem - totally automatic
with no tweaking necessary. The problem as you will recall was getting
a graphics driver for the guest OS (Windows 2000) to work at other than
800 x 600 and 16 colors. My problem was that I did not understand how
virtual machines worked. With a normal installation, the OS needs
drivers (just a bit of software) to communicate with the hardware
specific instruction set that the card hardware recognizes. What hadn't
dawned on me (at about Midnight) was that the drivers required by a
guest OS where bits of software that communicate between the guest OS
and the host OS. Further more, these would be different for every guest
and host OS combination. The next day plus Jeremy's email from the VLUG
archive (since my copy is still somewhere in cyber space as it did not
get relayed by Shaw) I delved into the 182 page VirturalBox Manual and
found that you have to:
1) boot up the guest OS and once running go the VirtualBox window menu
"Devices->Install Guest Additions" (which means drivers!) and that's
it! All the drivers for the guest OS to communicate with the host OS
are installed automatically. I think Jeremy says he had to do some
manual tweaking though. This provided the necessary video driver to
enable selection of all available display resolutions and colors. Great!
2) There are some other configuration issues that needed a bit more
work! Connection to the Internet occurred automatically without my
intervention and for audio I just just had to select one of the offered
drives (OSS in my case).
3) USB required the most work and is dependent on the host Linux
distribution because they all put their usb stuff in different places.
On Fedora 8 this is /sys/bus/usb/drivers . The VirtualBox installation
creates a new user group "vboxusers" and it is necessary to add your
user name ("john" in my case) to that group. Make a note of the GID for
vboxusers (501 in my case) then add the following to your /etc/fstab
file in order to mount usb file systems.
none /sys/bus/usb/drivers usbfs
devgid=501,devmode=664 0 0
On Fedora VirtualBox stuff is in /usr/lib/virtualbox where there is also
a bunch of useful commands.
# /usr/lib/virtualbox/VBoxManage list usbhost
will list the active usb mounts so run it with and without a flash drive
inserted and it will give you the device information you need to select
a "Filter" for that device on the VirtualBox configuration GUI.
After making these changes either reboot your host OS or more simply run
# mount -a will mount your usb. Run your VBox guest OS, initially
without the flash drive inserted. Then insert your flash drive and
Windows should "recognise new hardware" and mount it. Acknowledgments
are due to the "Fedora Linux Forums". If you are running Ubuntu or
something else this will all be a bit different but the procedure is
essentially the same, googling the Ubuntu forums should provide the
answers. When I get time I shall try all this on Ubuntu.
4) The other thing you will need perhaps is to transfer data between
your host and guest OS's. This can again be done via the VBox
configuration GUI. I have added a folder called /home/john/VBshare and
then just add this path to the VBox GUI shared folder list. It can be
set as read only or read/write. (Don't think this is a security hole
because and Windows nasties can't go anywhere from there but I would
make sure the folder does not have root permissions).
5) Configuring a printer. Most printers today are USB or network
printers, mine is a USB HP PSC1210 and needs a driver. A USB printer
talks to the guest OS or host OS via the usb not some other hardware
device as is the case for video and we have already configured the usb
mount, above. So unlike the video card it does not require a "special
driver" from VBox which is different to the driver used by the host OS,
you can just install the (Windows 2000 in my case) driver from the HP
installation CD, just as if it were a normal Windows installation.
6) Finally, before doing all of the above it is probably better to
install all the Windows service packs and updates but I'm not sure how
much this matters. This would be easier to do if you fix the screen
resolution first - I didn't. You have to check of course that you have
a network connection but that happened automatically in my case.
7) Finally, I was worrying about what happened to VirtualBox after a
kernel update, well again according to the Fedora Forum and Manual you
just do this:
/etc/init.d/vboxdrv setup
and VirtualBox will rebuild the kernel module and be compatible with
your new kernel but I haven't tried it yet. I shall wait for the next
kernel update. Apparently, no changes are required to the guest
installation image, so no re-installation of Mr. Gates' software.
This is very exciting technology!!!!!!!!!! The guest file system is in
a hidden file /home/"username"/.virtualbox/...... and is dynamically
expandable so its not necessary to guess how much space in a partition
you will need for future applications. There are some very interesting
ways in which you can access hard drives, hard drive partitions, save
your image files and remove virus infection by recovery, in addition to
sharing folders as described above. (see the Virtual Box manual)
Most importantly for me is that I can dispense with dual booting Windows
and Linux, and just have Linux for 95% of the time and quickly switching
to Windows when I have no other option no rebooting! Just like a KVM
switch linking two computers.
Trying out different Linux distributions as described at the Linux SIG
is another use. If you select a particular Linux distribution as your
Host OS, however, you will probably want to test it by doing a normal
installation on a partition to make sure it has all the "real" hardware
drivers to work properly with your computer. My plan will be to provide
a small say 5 GB partition on my computer for this "real " testing
before committing to replacing an existing Linux OS.
John Blomfield
More information about the Discuss
mailing list