VirtualBox

From miki
Jump to navigation Jump to search

Installation

Reference instructions can be found here:

  • For VirtualBox 3.2.x:
    • Add the following lines to /etc/apt/sources.list (here for Ubuntu Lucid):
    • deb http://download.virtualbox.org/virtualbox/debian lucid non-free
    • Add the Oracle public key for apt-secure, then install
      wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
      sudo apt-get update
      sudo apt-get install virtualbox-3.2
      
  • For VirtualBox 3.1.x:
    • Add the following lines to /etc/apt/sources.list (here for Ubuntu Karmic):
    • deb http://download.virtualbox.org/virtualbox/debian karmic non-free
    • Add the Sun public key for apt-secure, then install
      wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -
      sudo apt-get update
      sudo apt-get install virtualbox-3.1
      

The group vboxusers is created during installation.

  • Users of the VirtualBox must be member of that group. New users can be added with
sudo usermod -a -G vboxusers username
  • The daemon for the network interfaces will be assigned to that group.

VirtualBox requires a kernel module vboxdrv.

  • The default location of the module is given by setting KDIR=[fullpath] in file /etc/default/virtualbox.
  • The kernel module can be compiled with
sudo /etc/init.d/vboxdrv setup

Creating a New Virtual Machine

  • To boot a Virtual Machine directly from a physical disk partitions, see section Advanced storage configuration in Ch. 9 Advanced topics.

Booting Existing Windows XP from Physical Partition

Here I describe my attempt at booting the existing Windows XP partition on a Dell E6500.

1st attempt

  • In Windows, created a 2nd hardware profile called Virtual, copy of the original profile Profile 1
  • New VirtualBox machine:
    • Base Memory 1894MB
  • Using raw disk only with partition /dev/sda2 doesn't work
sudo VBoxManage internalcommands createrawvmdk -filename nxl670002-sda2.vmdk -rawdisk /dev/sda -partitions 2
This doesn't work! First Grub complained, then I tried to restore back the default WXP MBR (using either install-mbr or ms-sys but to no avail)

I created

  • Virtual machine NXL670002
    • Base Memory 1894 MB
  • Using raw disk with whole disk access/dev/sda
sudo VBoxManage internalcommands createrawvmdk -filename nxl670002-sda.vmdk -rawdisk /dev/sda
This works, Windows boots!
  • But hangs. In Safe Mode, it hangs after loading AGPCPQ.SYS.
  • Some related posts:
http://www.techspot.com/vb/topic21511.html
http://forums.virtualbox.org/viewtopic.php?f=7&t=19847
http://forum.driverpacks.net/viewtopic.php?id=3865
This post refers to problem with ACPI / APIC.

Miscellaneous work-around

  • Deleted the file ...\system32\drivers\agp440.sys and agp440.sys + agppcq.sys in dllcache (check [1], post from ChaosAddict, 20100210).
→ Now windows boot until login screen, but blue screen about IRQL_GREATER_R_EQUAL

2nd attempt

  • Started from base image. I compared all the drivers with a base XP + SP3 install. Disabled all additional drivers.
  • Booted in safe mode... hangs... hangs and hangs again.

3rd attempt

  • Started from base image again. Renamed some drivers (including agp440.sys + some others)
  • Disabled VT-x, disabled PAE, disabled multi-cpu, enabled IO APIC, disabled 2D accel.
  • Boot in safe mode... OK!
  • Boot in normal mode... ok!
  • Enabled back everything, boot in normal mode... ok!
  • Installed VirtualBox Additions... ok!
  • Restored all drivers, but agp440.sys... ok!
  • I can even boot in native!!!

Benchmarks

Settings:

  • Dell Latitude E6500, 4GB RAM.
  • VirtualBox 3.1.6.
  • System: 1536 MB RAM, IO APIC, 2 CPU with PAE/NX, VT-x + Nested Paging.
  • Video: 32 MB Video + 2D accel
  • Storage: PIIX4 ctrl, raw vmdk image /dev/sda
  • Audio: PulseAudio + ICH AC97
  • Network: Bridged Adapter
task U9.04-32 U9.04-32 U9.04-32 U9.10-32 U9.10-32 U9.10-32 U9.10-64 U9.10-64 U9.10-64 U9.04-32 U9.04-32 Native Native Native
grub →
hw profile
2.86 s 2.82 s 2.77 s 2.76 s 2.68 s 2.84 s 2.50 s 2.51 s 2.61 s 3.22 s 2.73 s 1.62 s 1.57 s 1.41 s
hw profile →
login screen
23.49 s 23.46 s 21.56 s 42.07 s 43.48 s 40.28 s 48.63 s 52.00 s 56.07 s 33.15 s 24.06 s 29.52 s 24.89 s 25.16 s
login screen →
pwd typed
17.69 s 12.94 s 12.62 s 9.83 s 9.69 s 8.56 s 15.41 s 9.85 s 9.31 s 9.68 s 8.75 s 9.88 s 8.42 s 8.99 s
pwd typed →
communicator
8.83 s 7.73 s 8.45 s 32.51 s 29.97 s 36.57 s 38.50 s 33.53 s 34.44 s 20.48 s 8.24 s 9.47 s 7.20 s 6.81 s

U9.04-32: Base Ubuntu 9.04 Jaunty i386 Live running on USB, 2.6.28-11-generic
U9.10-32: Base Ubuntu 9.10 Karmic i386 Live running on USB
U9.10-64: Base Ubuntu 9.10 Karmic AMD64 running from HDD, 2.6.31-20-generic
Native: Running Windows directly, no emulation

External references:

Interesting post about step-by-step configuration to run an existing Windows XP installation.
  • Two posts about disabling IO APIC:[2] and [3]. But apparently this doesn't really fix anything (also the poster has a old cpu, etc).