أعلى مُجيب

Floppy support gone in Windows Virtual PC?

السؤال

I know that the Windows Virtual PC at the core is still (or almost the same) as virtual PC 2007.But in Windows Virtual PC I cannot select an Floppy drive or mount an floppy.Did the team remove floppy support?

I have run Microsoft Virtual PC 2007 SP1 on Windows 7 RC, but after a while it gave an BSOD with only Kernel-Power in the event viewer nothing else.And since I have removed Virtual PC 2007 and installed the new Windows Virtual PC it works great, no BSOD.

But then I have update the Windows 7 machine and I can't longer install Virtual PC 2007 SP1.

I am asking it, did you remove the floppy support from windows virtual PC or did you disabled the feature.Or does it only catch a real floppy drive with floppy in it only and not images.

Can I run Microsoft Virtual PC 2007 SP1 in Vista compatibility mode with no problems on Windows 7 RC then?

الإجابات

You can work off following snippets to write script that satisfies your requirement:

...
Set objVPC = CreateObject("VirtualPC.Application")
Set objVM = objVPC.FindVirtualMachine("name of the VM")
Set colFloppyDrives = objVM.FloppyDrives
For Each objDrive in colFloppyDrives
retVal = objDrive.AttachImage("path of vfd file")
Next
...

And to release the floppy drives, snippet would be something like this:

...
For Each objDrive in colFloppyDrives
retVal = objDrive.ReleaseImage()
Next
...

Hope this helps."This posting is provided "AS IS" with no warranties, and confers no rights. You assume all risk for your use."

جميع الردود

There is no UI to attach a floppy to the VM but you can do so using COM calls/scripts.

Documentation is available here : http://msdn.microsoft.com/en-us/library/dd796757(VS.85).aspx"This posting is provided "AS IS" with no warranties, and confers no rights. You assume all risk for your use."

There is no UI to attach a floppy to the VM but you can do so using COM calls/scripts.

Documentation is available here : http://msdn.microsoft.com/en-us/library/dd796757(VS.85).aspx
"This posting is provided "AS IS" with no warranties, and confers no rights. You assume all risk for your use."

Thanks for the answer.

But I am not an scripting guy or something like that. (Can't really understand code, just some simple stuff).

If someone can write me an example script it is greatly appreciated.

Also I need to change the floppy during and installation, can I modify the script then and run it and it dismount the current image and remount the next image?

You can work off following snippets to write script that satisfies your requirement:

...
Set objVPC = CreateObject("VirtualPC.Application")
Set objVM = objVPC.FindVirtualMachine("name of the VM")
Set colFloppyDrives = objVM.FloppyDrives
For Each objDrive in colFloppyDrives
retVal = objDrive.AttachImage("path of vfd file")
Next
...

And to release the floppy drives, snippet would be something like this:

...
For Each objDrive in colFloppyDrives
retVal = objDrive.ReleaseImage()
Next
...

Hope this helps."This posting is provided "AS IS" with no warranties, and confers no rights. You assume all risk for your use."

I also hope the new beta(s) will include standard virtual floppy support out of the box. I like the idea of preconfigured OSes, but my target is legacy (DOS and CP/M) support, which works excellently in VPC2007.

Like Rob, I just don't have the resources to start learning COM scripting technologies so I can write scriptlets to let me access floppy drive virtualisation from a modern VM. I've come to rely on that basic support from startup, but I do understand this is all still beta code.

Unlike most folks reading this (I assume!), I have no need for fancy networking support or additional virtual hard disks or sound or even mouse support, so I guess I'm not part of the target demographic.

Fingers crossed later releases will include better legacy device (floppy) support. That also means using floppy ISO and IMG files, which is where all my legacy OS code and installs are kept.

If anyone can suggest a resource that might help without needing me to write COM scripts, I'd really appreciate hearing it!

Data is not Information; Information is not Knowledge; Knowledge is not Wisdom.

Yeah, I had that sinking feeling as soon as I saw there was absolutely no floppy support in the beta. From my perspective, that's a pity, and it will stop me from using the newest VM software, but I guess from the developers' perspective, this is probably champagne time!

I guess my permanent workaround is to hang on to and keep using VPC 2007. Since that emulates pretty much everything that the new virtualisation code does (I'm not interested in emulating anything later than XP x32), that's the least-worst option.

Thanks for the honesty!Data is not Information; Information is not Knowledge; Knowledge is not Wisdom.

You can work off following snippets to write script that satisfies your requirement:

...
Set objVPC = CreateObject("VirtualPC.Application")
Set objVM = objVPC.FindVirtualMachine("name of the VM")
Set colFloppyDrives = objVM.FloppyDrives
For Each objDrive in colFloppyDrives
retVal = objDrive.AttachImage("path of vfd file")
Next
...

And to release the floppy drives, snippet would be something like this:

...
For Each objDrive in colFloppyDrives
retVal = objDrive.ReleaseImage()
Next
...

Hope this helps.
"This posting is provided "AS IS" with no warranties, and confers no rights. You assume all risk for your use."

Thats great and all...but i'm fairly certain the majority don't know the basics of writing a script,and the documentation you linked comes out blank

i can't even google it because i don't know what kind of script you're talking about

and why would you give a snippet when all people need is a full script for it? it's not like people install more then 1 floppy disk drive....

Wow. What a complete snob. No that is NOT the obvious answer. You may as well be a Linux snob telling a person to go recompile their kernel for support of X or Y feature. You seem to be missing the core reason for Virtual PC in the first place. Namely legacy support. Also to simulate instances where you would need a floppy instead of a flash drive which still DOES occur in enterprise environments. I ran across this thread as I was setting up XP Mode in Win7. That was done. Now I'm setting up a DOS 6.22 image to play older games from. I have Virt PC's DOS Virtual Machine Additions that can't be added because there is no floppy support. And yet they left in COM support. you'd think that would be even less useful then a floppy. The reality is that leaving the ability to mount either a real floppy drive or a virtual .img costs MS virtually nothing.

I'm amazed that microsoft has hobbled, what was otherwise a great tool for legacy support.

I know that the NTVDM was removed from the x64 & Itanium systems, but come on, some of us actually STILL use and support MS-DOS based stuff.

What is next? Serial ports? Parallel ports?

I'm really surprised that you took a product to keep legacy systems running on modern machines, and started to kill it's ability to run legacy stuff.

I'd really hate to have to buy VMWare, but I guess that is the 'real' solution going forward as clearly MS has no interest in Virtual PC as a legacy support role, but to just deal with the craptacular backwards compatability of Internet Explorer.

We all know DOSBox has eaten the 'dos games' market that Virtual PC enjoyed back at connectix, but now the thought of relying on VMWare for accurate emulation (those guestpc hooks are buggy, and no it never does run OS/2 all that well).

The least you could do is remove the recursive detection so we can run VPC 2004 & 2007 inside of Microsoft Virtual PC, so we can continue to enjoy *SOME* legacy support.

At least with Qemu it's \\.\A: to access the physical drive... You can always use winimage to create floppy images. A better alternative as it would seem is SUN's virtualbox. It'll use vmware & virtual pc disk images... and it has floppy support!!

They seem far more interested in supporting legacy apps then Microsoft.

Now when you boot, it should recognize the floppy drive. I was able to successfully install a 3rd party SCSI driver using the Windows Recovery console.

The only .VMC file I find on my Windows 7 system is Windows XP Mode.vmcx and it does not contain any <super_io> tag. So obviously since there is no such tag, there can be nothing within the non-existent tag. I don't know the basics of writing or running script either. I have been trying all week to figure out how to mount a physical floppy drive, so that I can install two production programs that only install from a floppy drive. I have read all these posts and have tried what has been recommended, to no avail. Why does this have to be so hard for the average computer user? I installed Windows 7 64 bit, thinking that I could use the Windows XP Mode virtual machine to run my legacy production programs. Boy, was I ever wrong. I can't imagine why Microsoft would provide a Windows XP virtual machine that doesn't have out-of-the-box floppy drive support. There has to be a number of computer users like myself that upgraded to Windows 7, thinking that the Microsoft Virtual Machine 7 would take care of us so we could run our legacy production programs. Come on guys! Since Microsoft didn't build this into the Windows XP Mode GUI, please provide a COMPLETE script that will mount a floppy drive and provide DETAILED instructions on how to run it. That can't be too much to ask so that we can have floppy disk drive access.

I had previously done a search for *.vmc and the only results that came up were C:\Program Files\"User Name"\Virtual Machines\Windows XP Mode.vmcx. After opening this file again and closely looking at the contents, it mentioned the Windows XP Mode.vmc file in the C:\Program Files\"User Name"\AppData\Local\Microsoft\Windows Virtual PC\Virtual Machines folder. I don't know why a search didn't find this .vmc file initially. Using Notepad, I edited this file as described above by Matt Dean, and then saved the file. If I close the file and then reopen it in Notepad, the added text is still there. But after starting the virtual machine and then shutting it down, then the added text is gone from the Windows XP Mode.vmc file after opening it again in Notepad.

Then I opened the Windows XP Mode virtual machine again and checked to see if the floppy drive mounted, which of course it didn't. So I then closed the virtual machine again. I reopened the Windows XP Mode.vmc file and it no longer has the text that I added, according to Matt Dean's instructions. This added text stays in the Windows XP Mode.vmc file until I run the Windows XP Mode virtual machine and then shut it down again. I am still getting the message "Please insert a disk into Drive A:." because the added text is apparently being deleted when the virtual machine starts up. I can't figure out why the addition of C:\MyFloppy.flp</absolute> after <absolute type="string" /> doesn't stay in the Windiows XP Mode.vmc file after Windows XP Mode virtual machine is opened. This is really strange.

This works if I only need a single floppy image, but how do I change the disk when asked? For example, when setting up MS-DOS, and it asks for disk 2 and disk 3? I tried adding extra <floppy id="1">, etc, but that didn't do it.

archer, you're pushing sh!t uphill using the crippled VM/XP addin, it will never work the way you (or I) need. Been there, done that, got the wasted afternoon and edited vmcs to prove it...

You're going to be FAR better off by uninstalling the Virtual XP (you need to use Add/Remove Programs, go to "Turn Windows Features On/Off", scroll down to "Virtual Windows PC" and the XP entry and disable them, then go to the Virtual PC homepage and download Virtual PC 2007 and install your licenced copy of XP32 in that. Then you'll have full virtual and physical floppy support, and you can even change virtual floppies on the fly.

I don't pretend to understand MS's attitude with the crippled and insanely limited "virtual" add-ins, but for folks like us who need a bit more than a pretty, shiny GUI, they're not going to do what we need them to. VPC 2007 is much, much more flexible, more robust, and it works.

Matt Dean's approach worked for me on Win7 Ultimate 64, after replacing the C:\MyFloppy.flp in his code snippet with just a plain A (note: no space, colon, or backslash following the A). This is based on A being the drive letter of a genuine floppy drive.

With this method, I had no problems installing a legacy 16 bit program that spanned multiple floppy disks from my trusty old floppy drive A.

I had no joy however in getting either a folder or floppy image file on C to mimic a floppy drive (which looks like where Matt was going with C:\MyFloppy.flp), but your mileage may vary. I stopped beating my head against that after figuring out the plain A solution.

As JohnWill noted, Windows Virtual PC must be shutdown fully to edit and successfully update the hidden system file (via a plain text editor like notepad):

I also wanted to mention that a physical floppy drive can be made available inside Windows Virtual PC by setting it up as a shared drive in Win7 (outside the virtual PC). Set its rights to Everyone. Then when working inside Win Virtual PC XP mode, it should show up accessible under My Computer as a new network drive (in addition to the regular listing of the A drive that isn't).

This allows access to files on the floppy inside Win Virtual PC, and that may be all you need for some tasks.

Note however that some legacy floppy program installs may not recognize the shared floppy drive as a proper floppy drive, and so they refuse to install. In that case, the approach Matt and I outlined earlier may very well get you past that hurdle.

b. Save the file as (D:\scripts\floppy.ps1), where D:\scripts is the path for the file floppy.ps1 c. Go to PowerShell d. Enter Set-ExecutionPolicy RemoteSigned. The default is Restricted. e. Run the script (a dot and a space and a pathname)

Using the info from Virtual PC Guy's Blog and Script Guy, I wrote a Powershell script that uses standard GUI File Dialog Boxes with a text menu to connect/disconnect a physical or virtual floppy to a virtual machine in Virtual PC 7. The script works regardless of the state of the virtual machine, and you can run multiple instances of it simultaneously. You can view the instructions by opening it in Notepad. You can also edit the file to specify the default location of your VM files and virtual disk files. You may need permission to run the script (instructions to set execution policy to remotesigned; instructions at http://psobject.codeplex.com/wikipage?title=Execution%20Policy&ProjectName=psobject).

Yeah, I understand the floppy-support-has-got-to-go attitude, but you think that Microsoft would have thunk it out a little better. A VBScript to use a floppy drive? Ridiculous! Even so, how do you run the VBscript before your boot?

In my case, I am trying to migrate a physical PC to a virtual PC. I tried backing up the physical PC using the ASR utilities, which are included in windows and which write a floppy disk, so that you can boot off of that floppy disk to restore
your system. However, since the Virtual PC cannot boot off that floppy without going through the gyrations of creating a virtual floppy disk from the physical floppy disk and booting form the virtual floppy disk, I don't have a good technique
to migrate my phyical PC's to virtual PC's. Yes, I have tried Disk2vhd, but it didn't work for me.

So on one hand Microsoft says "you cannot boot from a physical floppy drive in Virtual PC because we are done supporting lagacy systems" and on the other hand they say "create a bootable floppy to recover your system." What is the harm
of adding a floppy disk to the "settings" option of vitual PC?

Yeah, I may have to look at the VMWARE option because MS won't listen to customers. Kudos to the people who laid it out in this thread.

Isn't lack of an easy migration path to the newer systems (VMS to Alpha) what killed DEC? Microsoft should take a lesson.

A VBScript to use a floppy drive? Ridiculous! Even so, how do you run the VBscript before your boot?

You run it on the host before you boot the VM...

So on one hand Microsoft says "you cannot boot from a physical floppy drive in Virtual PC because we are done supporting lagacy systems" and on the other hand they say "create a bootable floppy to recover your >system."
What is the harm of adding a floppy disk to the "settings" option of vitual PC?

I don't know why they decided what they decided.

Isn't lack of an easy migration path to the newer systems (VMS to Alpha) what killed DEC? Microsoft should take a lesson.

Not really, DEC was messed up, VMS was just one of the OS's that DEC
hardware ran, and Alpha was just a RISC CPU architecture trying to
replace a CISC and DEC software wasn't very hardware agnostic like the
midrange machines from IBM, they were already well on the way down by
that time though...

This will boot the VM using BootDisk.vhd. Now, when you need to swap the first floppy with the second one, just hibernate the VM to unlock the BootDisk.vhd file (you can't replace it while the VM is running), replace the original BootDisk.vhd with the
new floppy image and start the VM again. I know it's a PITA when you need to do that a dozen of times, but it works well when you just need to use a bunch of floppies to install from the CD, as is the case for OS/2 Warp 4.

Thankyou PanGraham..
but for some reason I am unable to use Drive Letter 'A' which is emulated by a "Virtual Floppy Drive" in Windows 7 x64 Ultimate.
how ever I was able to use an arbitrary drive Letter like 'K'.

2) Rename your second floppy image to the name you'd previously entered when manually editing the configuration file

3) Start up the virtual machine again

I usually do something like this: If I have multiple images named "disk1.img," "disk2.img," etc., I'll put "floppy.img" as the filename in the configuration file, then rename the first image to "floppy.img." Once it's
time to switch, I rename it back to "disk1.img" and rename "disk2.img" to "floppy.img," and continue like that.

Just note that you have to hibernate the VM before renaming (or the file will be in use and Windows won't let you rename it), and never edit the configuration file on a hibernated VM, or it will start up from scratch.