Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Difference between revisions of "Virtualization"

From PCGamingWiki, the wiki about fixing PC games
Line 16: Line 16:
  
 
Usage of a VM can be used to combat compatibility issues with newer operating systems, such as when the program might require some certain functionality that has been removed.  
 
Usage of a VM can be used to combat compatibility issues with newer operating systems, such as when the program might require some certain functionality that has been removed.  
One of the best examples of this is with 16-bit backwards-compatibility software support in Windows, which is not supported in the 64-bit variants of Windows. However, 32-bit variants of Windows still support 16-bit applications natively. Virtuisation also has plenty of other usage cases such as: running an isolated environment (sandbox), running older software or a different OS without dual-booting the host machine.  
+
One of the best examples of this is with 16-bit backwards-compatibility software support in Windows, which is not supported in the 64-bit variants of Windows. However, 32-bit variants of Windows still support 16-bit applications natively. virtualization also has plenty of other usage cases such as: running an isolated environment (sandbox), running older software or a different OS without dual-booting the host machine.  
  
 
Another type of virtualization is called a '''compatibility layer''', running a Windows application on Linux through [[Wine]] can offer better compatibility for older programs than newer versions of Windows itself. However, '''W'''ine '''I'''s '''N'''ot an '''E'''mulator (W.I.N.E) and is classified as a compatibility layer (a.k.a translation layer).
 
Another type of virtualization is called a '''compatibility layer''', running a Windows application on Linux through [[Wine]] can offer better compatibility for older programs than newer versions of Windows itself. However, '''W'''ine '''I'''s '''N'''ot an '''E'''mulator (W.I.N.E) and is classified as a compatibility layer (a.k.a translation layer).

Revision as of 23:28, 29 August 2019

This page is a stub: it lacks content and/or basic article components. You can help to expand this page by adding an image or additional information.

Key points

Allows the use of older software which which may have problems running natively on newer OSes.
Ability to use 16-bit software even if the host machine is 64-bit without native support for 16-bit software.
Removes the need to install another OS to the host system and having to separately boot into it.
Running a virtualization of another OS inside an existing OS is more taxing to your system than running the OS natively.
3D acceleration has plenty of problems currently, so it's usefulness in gaming varies.

General information

Virtual machine at Wikipedia

Virtualization is a means of running a guest operating system in host OS. Virtual Machines (VM) can be created in a virtualization program, almost any OS can be installed in a VM. A system running the VM is usually called the host and the OS running the virtual machine is called the guest.

Virtualization and emulation should not be confused with each other as they are both very different things. Emulation is the replication of how hardware operates either on a low level or a high level. Whereas virtualization is running an OS on existing hardware that can already run the operating system.

Usage of a VM can be used to combat compatibility issues with newer operating systems, such as when the program might require some certain functionality that has been removed. One of the best examples of this is with 16-bit backwards-compatibility software support in Windows, which is not supported in the 64-bit variants of Windows. However, 32-bit variants of Windows still support 16-bit applications natively. virtualization also has plenty of other usage cases such as: running an isolated environment (sandbox), running older software or a different OS without dual-booting the host machine.

Another type of virtualization is called a compatibility layer, running a Windows application on Linux through Wine can offer better compatibility for older programs than newer versions of Windows itself. However, Wine Is Not an Emulator (W.I.N.E) and is classified as a compatibility layer (a.k.a translation layer).

With gaming, some problems may arise. When running a VM, or when using a hyper-visor, it will take more resources to run than when the OS is running natively. Emulating an entire machine including its hardware can be near impossible due to how costly it is compared to virtualization (for example; QEMU). 3D accelerated games may also have problems in VM’s as they aren't designed for gaming, so 3D acceleration support is generally poor.

When running an older version of an OS in a VM, the same security risks apply when installing & running that OS natively, so there will always be a possibility of viruses and malware that can take advantage of the guest OSes vulnerabilities; even of the VM software itself. If the software in question does not need access to internet, it's usually safer to disable all connections from the VM to the host computer. When using shared folders, it's safer to marked the folder as read-only if you don't need to move files to the host. Taking all of these security measures into consideration can make running a guest OS a lot more secure.


Applications

VBox vs Others - Oracle VM VirtualBox - Page comparing VirtualBox, Parallels and VMware features.
Software Platforms Wikipedia Homepage Cost
DOSBox
Windows
macOS (OS X)
Linux
Link Free
VirtualBox
Windows
macOS (OS X)
Linux
Link Free
VMware
Windows
macOS (OS X)
Linux
Link Basic free
Premium costs
QEMU
Windows
macOS (OS X)
Linux
Link Free
Windows Virtual PC
Windows
Link Free
Microsoft Virtual PC 2007
Windows
Link Free
Parallels
macOS (OS X)
Link Costs

DOSBox

For more information see DOSBox.
It's possible to install early Windows versions with DOSBox (3.1, 95), however it's much more suitable for DOS gaming thus it's recommended to use other applications unless you have good reason to use DOSBox instead.

VirtualBox

Mostly open source and non-open source material is free for personal use.
Can be installed almost for every OS and can run a wide variety of different operating systems. However it does have problems with Windows ME and earlier which require some fiddling to work.
Guest Additions have to be installed to make the guest operating system work optimally, Direct3D support is experimental and installation requires additions to be installed in safe mode.

Installing media from physical or virtual devices in the guest OS

Install from a physical disc or disc image
  1. Start the Virtual Machine.
  2. Once the OS has fully loaded, select Devices, CD/DVD Devices and either:
    • Host drive 'X:' from a physical disc drive and replace the X with the actual drive letter.
    • Choose a virtual CD/DVD disc file... for a disc image, choose DMG, ISO or CDR.
  3. When loaded, the disc can be accessed from the guest OS normally.
Use a shared folder to move install file to guest
  1. Open VMs Settings and open Shared folders
  2. Click on the icon with the blue folder and the green plus sign to add a new folder.
  3. Search for the folder you want to use within guest, name it, tick auto-mount and click OK.
    • If you are only using a shared folder to install your media, tick read only.
  4. Click OK to save changes and start up VM.

Notes

Guest additions should be installed prior doing this.
If you add a shared folder while the VM is open, you may need to restart the guest operating system.

VMware

Superior 3D acceleration support in Windows XP and later OSes.
Closed-source, the free version is very basic.

QEMU

Greater compatibility with programs due to emulation.
High performance penalties when emulating.

Microsoft Virtual PC 2007

Installing on Windows 8 and later requires some tweaking (see Windows 8 compatibility issues).

Windows 8 compatibility issues

Virtual PC 2007 causes a BSOD on Windows 8 and later because it uses an outdated version of vmm.sys.
Install Virtual PC[citation needed]
  1. Install Microsoft Virtual PC 2007 SP1 if you haven't already.
  2. Install the Windows Phone SDK 7.1.
  3. Install the Windows Phone SDK 7.1.1 Update.
  4. Rename Virtual PC.exe to VirtualPC.exe to bypass the compatibility warning.
  5. Microsoft Virtual PC 2007 SP1 will now run correctly on Windows 8.
The updated vmm.sys can be backed up for future use to avoid having to install the Windows Phone SDK in the future.

Windows Virtual PC

Only available on certain editions of Windows 7.
Official guest support for operating systems earlier than Windows XP was removed.
Lots of features were removed, making this version of Virtual PC inferior.
Install Windows Virtual PC[citation needed]
  1. Download the Windows Virtual PC installer.
  2. Run the .msu package.
  3. Create a new virtual machine and install your OS.

Notes

Make sure to select the right version (32-bit or 64-bit) appropriate for your operating system.

External links

quickhakker - Program Tutorial: Running 16 bit programs on 64 bit operating systems - YouTube