Thursday, February 3, 2011

What VM allows running a physical Windows boot partition virtually and without conversion (p2v)

We recently upgraded to Windows 7 64 bit (workstations) and Windows 2008 64 bit (servers). To prevent loosing configuration information, and complex settings, we created a multi-boot system when upgrade was not option (i.e., when original installation was 32 bit, you cannot upgrade to 64 bit).

Simply mounting the volumes is not what I'm after. I've got some backups as ISO files, these are inherently read-only, and need to be converted / unpacked to be able to run them as virtual machine. Others are on bootable partitions.

Given a physical and bootable Windows Vista, XP, 2003 partition, what virtual machine software can I use to access it if that partition is on the same physical machine I currently run, preferably without conversion or copying.

  • With vmware you can use physical disks instead of vmdk files if you need to boot them, etc. (If you play on doing this then the easiest way is to boot them on the physical machine and install the vmware drivers)

    Alternatively you can use something like norton ghost to copy a physical partition or iso into a vmdk file.

    Also if you only need readonly access you can mount iso files on the virtual cd device.

    From JamesRyan
  • I'm slightly confused by your question to be honest, it could do with a rewrite - but if I understand correctly then my answer would be that VMWare ESX (you don't mention which product you're talking about) allows you to mount ISO files as an emulated CD/DVD - this might be what you want.

    Abel : @Chopper3: I've rewritten the question. The message remained the same, but hopefully it's brought out clearer now.
    From Chopper3
  • You could use VMware Converter and convert the original machine. Then, just add the resulting VMDK files to your new 64-bit VMs.

    Abel : That was precisely what I tried to avoid, due to the size of some of these installments it's not my preferred option.
    From amargeson
  • To simply connect, not boot, off of an ISO, you can mount the ISO on the host system (E.g., using a loopback mount for Linux) and then map it to the VM and mount it there as well. That will give you easy access to all the files.

    Most VM's will allow you to boot off of an ISO CD image, in the same manner as real hardware boots off a real CD.

    This is not quite the same as mapping an ISO image to a virtual disk, as it requires a "Live CD" type cd-based O/S, or at least an install type CD that will expect an installation target (blank VM disk). If your ISO is just a boot partition dump and not a crafted CD boot environment, a lot of things will not line up and the boot will probably fail.

    In other words, if you can live without an actual P2V boot experience, you can still mount and get to the files on the ISO's.

    Abel : That's quite helpful, thanks. Mounting ISO's is clear, that's what we currently do. We need to boot from them too, but ISO is apparently read-only and since these are installed systems, it's not an option. If the files are on a normal bootable NTFS partition, i.e., like in a multi-boot environment, would the virtual booting off of that partition work?
    kmarsh : Once you lay the ISO contents out on an NTFS partition, you have to resolve the issues of partition sizes, boot sector and partition table location and contents, etc., a P2V conversion tool would be the best way to address this, but it might be hampered by not working with the original file configuration. There are also issues of device driver differences between physical and virtual, again you are looking at your P2V conversion tool to help you there...
    From kmarsh
  • Most virtualization software can easily run from a physical drive. However, most Windows solutions require access to the whole drive. If you have a single drive with two partitions (old and new) you'll have to copy the contents to a VHD or VMDK. If the OS is XP/2003 or older, you'll have to mess with the HAL and driver to get it to boot in the VM.

    This is not a good situation to be in; the upgrade was done without a plan for continuing operations. This is where an ounce of prevention was worth a pound of remedy.

    Abel : If I understand this correctly, the systems that have separate physical disks with single partitions per disk could be run when another physical disk has the host OS? Or would I still need to turn it into a VMDK first?
    Chris S : Correct, if it's two physical disks (or if a RAID controller presents two logical disks) then you can run directly against the drive. Again the OSes may need to be configured to run in the VM; there's a nice write-up here: http://forum.sysinternals.com/how-i-fixed-my-0x0000007b-problem_topic20751.html
    Abel : Hmm, still not convinced: that post mentions disk2vhd which converts it and needs another place to store the vhd. Also, it's limited to 127GB, which is too little. I hoped for running the other OS, a bit like emulation, on top of the current OS while maintaining disk integrity (i.e., changes persisted to original OS disk, not to vhd). Maybe I just wasn't clear, or it's just something that cannot be done.
    Chris S : It doesn't need to be converted to a VHD, the person in that post did that; but that's *not why I posted the list*, the link has instructions to make it boot if you get a STOP 7B, and the same applies if you use VMWare, Hyper-V, or Virual PC. VHD's are limited to 2 TB, not 127 GB (I don't know where you got that number). If the VM is running against the HD you can't snapshot it, use differencing, CoW, or anything to buffer the writes; it just writes to the disk.
    Helvick : @chris Disk2vhd (from Sysinternals) is limited to 127GB which is what Abel meant I suspect but it's not the only way to make a vhd from a physical system and you are right the actual vhd limit is 2TB (as is the VMware VMDK limit).
    Chris S : @Helvick, disk2vhd is limited to 2TB; Virtual PC is limited to 127GB VHD files. At least that makes sense now as to where the number came from.
    Helvick : @chris - it would have helped if I'd checked what I thought I remembered rather than rush to comment - good to know.
    Abel : Accepting this as answer because it brought the most information towards a solution. using a hard disk to boot from directly *and* as a virtual image messes up the OS on it as each time it will see a different hardware. So, even if it were possible (it seems so), it is not very feasible. Solution: don't do it.
    From Chris S
  • trying to use passthru disks in this case won't work for either esxi or hyper-v, they need exclusive access to the underlying drives. And in this case your booting off that drive thus you can't have exclusive access. boot into the old os and use disk2vhd to p2v these things.

    Abel : There are different configurations, some of the systems contain multiple physical disks where the new OS is installed on a new disk, perhaps this is even the case in all situations. Can I virtualize these (pass-through you call that?) when the host OS is on its own disk and partition?
    tony roth : I'm pretty positive that we can get a result that will work for you but I'll state right now that your best solution will be to p2v these things. Use disk2vhd its very effecient in terms of size.
    From tony roth
  • I have done this in the past (for really weird reasons). I downloaded a trial of System Centre Virtual Machine Manager (http://www.microsoft.com/systemcenter/en/us/virtual-machine-manager.aspx). You can then convert a physical machine into a virtual one using the software. This then allows you to boot the machine of Microsoft Virtual PC (which is free) or Hyper-V server. Then just scrap the 32bit partition and extend the 64bit one to free up your space!

    I used it to virtualize a server, move it onto a different machine so i could upgrade it back onto the original hardware as an inplace upgrade wasn't possible. Messy but it worked!

    From mwillmott

0 comments:

Post a Comment