Virtualization

From OSx86
Jump to: navigation, search

Contents

[edit] Introduction

This is the virtualization section of the osx86project wiki. Here you will be able to acquire information about tools for running virtual x86 machines inside of Mac OSx86, and how each method reacts with your hardware.

Virtualization lets users create completely self-contained virtual machines on a single PC. Virtual machines can be created to run anything that will run natively on x86 hardware, including the entire Windows family, Linux distributions (such as Mandrake, Red Hat and SUSE), OS/2 and FreeBSD.

"Host" means the OS that the virtualization program runs on, OSx86. "Guest" means the OS running inside the virtual machine, like Windows or Linux.

[edit] Quick Comparison

Product Parallels Desktop VMware Fusion Q Oracle VirtualBox
License Commercial Commercial Open source Open source (GPL v2)
(some proprietary code)
Price $79.99 $79.99 ($39.99 preorder) free free
Latest Stable 2.5 (3214) / 3.0 (4128) N/A 0.8.1a35 3.2.0
Latest Development N/A 1.0 RC (50460) 0.9.0d89 3.2.0 BETA2
Maximum RAM per guest 1.5 GB 8 GB ? 4 GB
Guest Tools Windows
Linux
Solaris
Windows
Linux
Solaris
FreeBSD
Novell
None Windows
Linux
Solaris
OS/2
Supports Boot Camp Installation of Guest OS Yes Yes No (?) No (?)
Snapshot Multiple
(any time)
Single
(any time)
None (?) Multiple, linear
(only when powered down or suspended)
Rootless Guest Coherence* Unity None (?) Seamless Mode **
3D Acceleration OpenGL (1.?), DirectX (via WINE) DirectX 8.1 None (?) Supported
Unique Features SmartSelect 64-bit guests
Multiprocessor guests
Battery information in the guest
Built-in VNC server
Paravirtualization extensions (VMI)
? Built-in RDP server
USB over RDP
64-bit guests
Multiprocessor guests
Paravirtualized 3D/2D accelerated video, mouse, and networking

[edit] Notes

Guest tools improve performance of the virtualized system and can allow useful things like drag-and-drop or shared folders between guest and host.

"Latest Stable/Development" is as of July 5, 2007.

*: Unlike Unity, windows in Coherence do not individually work with Expose and cannot be independently mixed with OS X windows; they all act as a group. . .

**: Doesn't work with Expose at all

. . . . . . . . . . . . .

[edit] Parallels Desktop

You can download it from the official site.

[edit] Overview

Parallels is a new virtualization company, a subdivision of SWsoft. Parallels' programs rely on recent virtualization hardware extensions by Intel (VT-x) and AMD (Pacifica).

Parallels uses GTK+, which eases cross-platform development but occasionally makes Desktop not behave like other Mac applications.

[edit] CPU Requirements

Every Intel Mac (Except Mac Pro & Xserve) uses CORE CPUs wich are intel VT enabled (or not? see update below). OSx86 thanks to some patches works with Intel and AMD CPUs alike, infact every CPU with at least SSE2 (through SSE3 -> SSE2 Emulation).

On the Windows and Linux Versions of Parallels you can either enable or disable VT via Checkbox, because of course not every "PC CPU" supports it. Parallels for OSX however requires VT, as any LEGAL hardware it runs on supports it, that could be a problem for your Frankenstein Box unless you plan on using a VT enabled Intel CPU.

UPDATE: I've bought Parallels and I'm using version RC2 on a Celeron M which does not have VT. Mac version also has a VT enabled checkbox.

[edit] Specifications

Parallels Workstation virtualizes a full set of the standard PC hardware including:

  • CPU Pentium or AMD Duron
  • Generic motherboard compatible with Intel i815 chipset
  • RAM up to 1500 Mb
  • VGA and SVGA with VESA 3.0 support
  • 1.44 Mb floppy drive (mapped to a physical drive or to an image file)
  • Up to four IDE devices
  • AC97 compatible sound card
  • 104-key Windows enhanced keyboard
  • PS/2 wheel mouse

More information on this page

[edit] Guides, Hacks and Tips

Here we have developed some guides, hacks and tips which can better your experience with Parallels Workstation. Please feel free to add any info that can better our experience with this software.

[edit] CD-ROM Issues

If you are using Parallels and it doesn't recognize your CD, try closing Parallels and ejecting the CD. Then put the CD in again and start Parallels. Check if you can use the CD.

If that doesn't help you, you can make an ISO of your cd and then use it in Parallels. To do this go to Applications -> Utilities -> Disk Utility. Select your cdrom and then go to New Image and select Master DVD/CD, type a name for it and make the image. This way you'll have a file ending with .cdr. Rename the .cdr to .iso and mount it in your Parallels virtual machine.

[edit] Install Parallels on AMD64

  • 1) Download it
  • 2) Mount the image
  • 3) Launch Parallels.pkg... Ta-daaan! XD It says that you haven't a compatible system, in italian it says "Parallels non può essere installato in questo computer. Assicurati che il tuo sistema possieda i requisiti necessari.", in english "Parallels cannot be installed on this computer. Make sure that your system meets the requirements."
  • 4) Copy Parallels.pkg on your desktop
  • 5) Right click on it and choose "Show package contents"
  • 6) Right click on "Contents", show informations and under "Ownership and permission" make you owner of it with a read/write access
  • 7) Apply to enclosed items...
  • 8) Open "Info.plist" with TextEdit and delete the following:
<key>IFRequirementDicts</key>
<array>
<dict>
<key>Level</key>
<string>requires</string>
<key>SpecArgument</key>
<string>machdep.cpu.vendor</string>
<key>SpecType</key>
<string>sysctl</string>
<key>TestObject</key>
<string>GenuineIntel</string>
<key>TestOperator</key>
<string>eq</string>
</dict>
</array>
 
  • 9) Save and exit
  • 10) Go to Resources folder and delete InstallationCheck and pkmkshellutility
  • 11) Exit and launch your modified Parallels.pkg
  • 12) Install it!

[edit] Installing Windows XP in Parallels

[edit] Prepping
  • First get a copy of windows xp handy.
  • If the copy is in iso form, then great you're a step ahead.
  • If you have a physical XP CD then it is recommended you make an ISO to use with parallels. Parallels seems to handle ISO files better then mounting physical discs. [NOTE: With new beta, CD/DVD support is working much better. Make sure there is a CD/DVD in the drive before launching the program and it works fine.]
[edit] Setting Up Virtual Machine
  • This part is actually pretty straight-forward... just click the "New" button at the bottom and follow the prompts. Their website has a FAQ and a support forum for your use. http://www.parallels.com

[edit] VMware Fusion

Download the free beta from the official site (requires registration).

[edit] Overview

VMware kicked off virtualization on x86 hardware in the late 1990s, and was later acquired by EMC. Although VMware products are capable of using virtualization hardware extensions, this functionality is off by default because for normal workloads, it's actually slower for the current generation of hardware extensions.

Fusion uses the same disk format as other VMware products, so you can move virtual machines between them. Fusion uses a native Cocoa UI. You can download hundreds of free preconfigured virtual machines for use with VMware products (in some cases they may require minor tweaking to work).

[edit] Experimental 3D support

Fusion supports hardware accelerated DirectX 8.1 in guests. For a list of games known to work, see the release notes. VMware developers have stated they are working on support for DX9.

[edit] Single Snapshot

Snapshots are a way to create a "save state" of a virtual machine. If something later goes wrong (you get a virus, decide you didn't want to delete that system file, etc.), you can revert to the snapshot and be on your way. This is superior to just making a backup copy because it saves space (future disk operations only need to record the difference between the old state and the new state).

[edit] Tips

Read the release notes, FAQ, and check out the forums (requires registration). Many (all?) of these will be fixed in future updates. Be careful about the forums, they don't seem to like FrankenMac owners posting (reading looks OK).

[edit] Editing a vmx file

You may be asked to "edit a vmx file". This must be done while Fusion does not have a lock on the file, e.g. the guest is not running or even open as a window. Currently, Fusion arranges a virtual machine's files in bundles; the vmx file is inside the bundle. To get to it in the Finder, ctrl-click the bundle and select "Show Package Contents". You can then use a text editor such as BBEdit to make changes.

Note that TextEdit occasionally has problems with end-of-line characters when cutting and pasting; these errors can make the virtual machine not boot. Either avoid TextEdit or make sure you know how to clean out the end-of-line characters.

[edit] Convert a Parallels VM to a Fusion VM

There's a nice guide with pictures on the forums. Basically use VMware Converter.

[edit] Convert a BootCamp partition into a Fusion VM

Note that you can also run a VM using a BootCamp partition as a disk, so these directions are mostly useful if you would like to get rid of the partition but keep your data.

  1. (optional) Enable RDP in the BootCamp install. This will be useful later.
  2. Use VMware Converter to migrate the BootCamp install
  3. At this point, if you try to run the resulting virtual machine, keyboard and mouse don't work. This is because VMware tools are not installed. However, you can't install them... because keyboard and mouse don't work. This is where RDP comes in: you can either use RDP (or some other such remote connection mechanism) or the built-in VNC functionality of Fusion. Using this, connect to the virtual machine, in Fusion select "Virtual Machine > Install VMware Tools", and use the remote connection to complete the tools install. After this, restart the virtual machine and you should be able to use it normally.
  4. (optional) Turn off RDP.

[edit] Enable built-in VNC

There's a hidden feature in Fusion that acts as a VNC server - no need for one in the guest, which saves space if you have multiple guests and lets you get at the guest earlier/later than a guest VNC server would (e.g. at the BIOS screen or during shutdown). To enable this, you have to edit the .vmx file when the virtual machine is off. Add the following lines:

RemoteDisplay.vnc.port = "5900"
RemoteDisplay.vnc.enabled = "TRUE"
# optional password:
RemoteDisplay.vnc.password = "password"

The port number is the VNC port the host will use, you can change this. The password is optional, if you use it you probably want to change that too. To use the built-in VNC server, you'll be connecting to the host, not the guest (in this example, host:5900)

[edit] Enable paravirtualization support

Normally, guests can't tell they're in a virtualized environment. Better performance can be obtained by bending this restriction a little, such as by installing guest tools. Some modern operating systems such as Ubuntu 7.04 go even further, with the kernel itself being virtualization-aware. To enable this in Fusion, add vmi.present = "TRUE" to the virtual machine's vmx file.
To check if VMI is enabled you can run #grep VMI /boot/config-<kernel version>. This feature was added to the kernel in version 2.6.22.

[edit] Enable scaled fullscreen guest

When in fullscreen, if the guest resolution is smaller than the host resolution (perhaps with an old game that runs at a fixed resolution), normally it's shown with black bars on the outside. To get it to be scaled as large as possible, while Fusion is not running, edit the file "~/Library/Preferences/VMware Fusion/preferences" (you may have to create it). Add the line pref.autoFitFullScreen = "fitHostToGuest".

This also works for guest resolutions larger than the host resolution, the guest will be scaled down instead of scaled up.

[edit] Common Problems and Solutions

[edit] Unity is disabled!

In beta 4, Unity only works with 32-bit Windows XP and updated VMware Tools.

[edit] Unity windows get mangled when I move them to a different monitor!

In beta 4, Unity only works on a single monitor.

[edit] Fusion doesn't recognize my BootCamp install!

Beta 4 improved the situation, but there are still reports of unrecognized setups.

[edit] Experimental BootCamp and Vista

Activation has not been solved yet; going back and forth between Boot Camp and Fusion will require reauthorization each time.

[edit] CD-ROM Issues

Make sure it's connected (CD-ROM icon should have a green circle). Usually works, but making an ISO of the disk is more reliable. To do this:

  1. Run /Applications/Utilities/Disk Utility
  2. Select the CD you want to image
  3. Select File > New > New Disk Image from Device
  4. Choose DVD/CD master, no compression, no encryption
  5. Rename the .cdr file to .iso (optional)

[edit] Mouse or Keyboard doesn't work

Definitely being worked on. Symptoms include the command key (but no others) working the guest, and the Keyboard Viewer (System Preferences > International > Input) not responding. This is because some application has disabled keyboard input system-wide. The following things are known to cause problems:

  • Quicken Scheduler, CheckPoint SecureClient

[edit] Help! Trapped in full screen!

Ctrl-Cmd-Enter toggles full-screen. Or, move the mouse up to where the menu bar should be and it'll appear. Then you can use the "Toggle Full Screen" option.

[edit] Q

Download from the developer site.

[edit] Overview

Q is a port of the QEMU emulator which uses native technologies such as OpenGL, CoreImage and CoreAudio. Technically, emulation is not the same thing as virtualization (though the casual user will not notice the difference); there is a closed-source accelerator for QEMU (and in the process of being ported to Q?) which does virtualization.

{someone needs to add more information about this}


This page was last modified on 2 July 2012, at 12:45.
This page has been accessed 280,673 times.
Powered by MediaWiki © 2015 OSx86 Project  |   InsanelyMac  |   Forum  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain   |   Privacy policy   |   About OSx86   |   Disclaimers