(I tried to post this to the VirtualBox forums but their registration page appears to be broken. And part of it may be an issue with install-mbr .)
I'm having trouble booting Windows XP from a raw vdmk partition inside VirtualBox. (I'm doing this because I still need the option of booting natively, not in a VM.) I followed the steps described on the following site, which seems to agree with what other sites/forums and section 9.10 of the VirtualBox manual say as well:
http://geekery.amhill.net/2010/01/27...ows-partition/
My laptop is a Lenovo T61 with 3GB RAM with WinXP Pro SP3 32-bit installed on C: and most of its data on D: . Those two correspond to sda1 and sda6 below. There's also a FAT32 partition just in case (sda5).
I left some free space next to the logical volume and installed Ubuntu 12.04.1 Desktop 32-bit using default options, so it automatically placed itself and its swap inside that logical volume (sda7 and sda8 below). I installed the latest full VirtualBox (4.1.12) in the Ubuntu host.
Code:
(parted) print all
Model: ATA ST9500420AS (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 7774kB 57.7GB 57.7GB primary ntfs boot
2 57.7GB 500GB 442GB extended lba
7 57.7GB 80.7GB 23.0GB logical ext4
8 80.7GB 83.9GB 3199MB logical linux-swap(v1)
5 83.9GB 89.1GB 5239MB logical fat32
6 89.1GB 500GB 411GB logical ntfs
install-mbr --f ~/.VirtualBox/FAKE.mbr
Setting the permissions and creating the vmdk file seemed to go smoothly, but trying to limit the VM's access to specific partitions (whether 3 partitions or just the one crucial one) didn't seem to actually work once attached to my vm. All I see upon booting is "MBR" on a black screen, indefinitely. (Each vmdk I make shows a size of 465.76GB, but I'm guessing that's fine. I get a VERR_NOT_SUPPORTED error if I try to attach one of the "-pt.vmdk" files instead, but I'm guessing those shouldn't be mapped anyway.)
If I instead give the vm access to the full disk, it starts to work. I then get a functioning GRUB boot menu, but when I select WinXP it's goes to a permanent black screen, rather than to my WinXP screen for choosing a hardware profile. I get the same stalled black screen whether I attach the vmdk to the IDE or the ATA controller (with "Use host I/O cache" checked or unchecked). I've tried with and without VT-x enabled; ditto for graphics acceleration. "Enable IO APIC" is checked, and "Enable absolute pointing device" is unchecked. Medium values selected for RAM (512MB or 1024MB) and video (64MB).
Code:
user57@tpadt61:~/.VirtualBox$ sudo chmod 666 /dev/sda
user57@tpadt61:~/.VirtualBox$ ll /dev/sd*
brw-rw-rw- 1 root disk 8, 0 Dec 9 07:02 /dev/sda
brw-rw---- 1 root disk 8, 1 Dec 9 05:41 /dev/sda1
brw-rw---- 1 root disk 8, 2 Dec 9 04:36 /dev/sda2
brw-rw---- 1 root disk 8, 5 Dec 9 05:41 /dev/sda5
brw-rw---- 1 root disk 8, 6 Dec 9 05:41 /dev/sda6
brw-rw---- 1 root disk 8, 7 Dec 9 04:36 /dev/sda7
brw-rw---- 1 root disk 8, 8 Dec 9 04:36 /dev/sda8
user57@tpadt61:~/.VirtualBox$ VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/winxp3.vmdk -rawdisk /dev/sda -partitions 1,5,6 -mbr ~/.VirtualBox/FAKE.mbr
RAW host disk access VMDK file /home/user57/.VirtualBox/winxp3.vmdk created successfully.
user57@tpadt61:~/.VirtualBox$ VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/winxp1.vmdk -rawdisk /dev/sda -partitions 1 -mbr ~/.VirtualBox/FAKE.mbr
RAW host disk access VMDK file /home/user57/.VirtualBox/winxp1.vmdk created successfully.
user57@tpadt61:~/.VirtualBox$ VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/winxpall.vmdk -rawdisk /dev/sda
RAW host disk access VMDK file /home/user57/.VirtualBox/winxpall.vmdk created successfully.
user57@tpadt61:~/.VirtualBox$ ls
compreg.dat VBoxSVC.log.10 VBoxSVC.log.5 VBoxSVC.log.9 winxp1.vmdk xpti.dat
FAKE.mbr VBoxSVC.log.2 VBoxSVC.log.6 VirtualBox.xml winxp3-pt.vmdk
VBoxSVC.log VBoxSVC.log.3 VBoxSVC.log.7 VirtualBox.xml-prev winxp3.vmdk
VBoxSVC.log.1 VBoxSVC.log.4 VBoxSVC.log.8 winxp1-pt.vmdk winxpall.vmdk
user57@tpadt61:~/.VirtualBox$
Any pointers you might have would be appreciated.
Bookmarks