For example if you want to run Windows from Linux without having to reboot.
Seems to be possible thanks to Windows hardware profiles: http://oopsilon.com/Running-a-Windows-Partition-in-VMware
modprobe nbd # Kernel: Device Drivers | Block Devices | Network block device support <M> vmware-loop disk.vmdk 1 /dev/nbd0& mount -t ntfs-3g /dev/nbd0 /mnt/disk
Be careful it was sort of freezing my computer when trying to copy huge amount of data between two such mounted vmdk drives…
If you cannot / don't want run your dual boot Windows installation in the VM, you can still try to keep your virtual installation small (< 5GB) even with lots of large programs, by creating ntfs junctions for all large programs (Visual Studio, C++Builder, MS Office, Matlab, Mathematica, MiKTeX, …), from the virtual disk to the Windows installation on the dual boot partition.
You need full read/write access to you Windows ntfs partition. You can probably use the shared folders of your emulator, or a SAMBA share, combined with the read/write ntfs-3g driver for Linux, but I prefer to mount my real hard drive as a virtual disk. In order to do that, create a
disk.vmdk of type fullDevice:
# Disk DescriptorFile version=1 CID=d11aaceb parentCID=ffffffff createType="fullDevice" # Extent description RW 234436545 FLAT "/dev/hda" 0 # !change # The Disk Data Base #DDB ddb.virtualHWVersion = "4" ddb.adapterType = "ide" ddb.toolsVersion = "0" ddb.geometry.cylinders = "232581" # !change ddb.geometry.heads = "16" # !change ddb.geometry.sectors = "63" # !change ddb.geometry.biosCylinders = "232581" # !change ddb.geometry.biosHeads = "16" # !change ddb.geometry.biosSectors = "63" # !change ddb.uuid.image ="6cbd1dfc-2e6e-495a-0b87-58e4711395c8" ddb.uuid.modification ="1c531233-6a69-4a6e-35a7-fd2c492b8ac8" ddb.uuid.parent ="00000000-0000-0000-0000-000000000000"
You can use
parted in order to find out which values to put for your hard drive.
Well known, but didn't work for me …
The one I use, very nice.