Windows 7 Virtual Environments: Supporting Floppy Drives

Microsoft supports virtualization on the Windows 8 Client solely through Client Hyper-V, on slat enabled systems. We reviewed the related requirements in a prior blog post: How to enable and Use Windows 8 Client Hyper-V. Hyper-V is a far more robust solution that Windows Virtual PC. In fact, Microsoft continues to redirect Windows 8 Client Hyper-V queries to the technet articles referencing the 2012 server version of Hyper-V: Install the Hyper-V Role and Configure a Virtual Machine.

One of the advantages of Hyper-V over Windows Virtual PC is expanded hardware support.

In fact, one of the major complaints regarding Windows Virtual PC limits is the inability to support virtual floppy drives. If you install Windows XP mode using Windows Virtual PC, host integration enables the use of host based floppy drives (as well as USB and other removable storage alternatives).

Under Windows 7, the graphic interface for Windows Virtual PC does not include support for virtual floppy drives. There is no hidden menu or settings screen either before or after a virtual image is mounted. The functionality is not removed, though the interface was removed by design. The functionality is still available via the COM object.

COM Object in Windows 7 Virtual Environments: Supporting Floppy Drives

Since Windows Virtual PC and XP mode are important alternatives for supporting legacy applications and compatibility solutions, the use of floppy media is rather important. Perhaps more importantly, we regularly use Answer Files (unattend.xml and autounattend.xml) to support custom Windows 7 and Windows 8 installation. If you are designing, testing and managing Windows 7 installation sequences that utilize an Answer File, the use of a virtual floppy drive can become mandatory.

Ben Armstrong, at the time the Microsoft Hyper-V Program manager, provided a VBScript that enables you to support attached floppy (and other removable) disks: Using Floppy Disks with Windows Virtual PC. His related blog also contains links to downloadable scripts. Although dated (2009) the scripts still work with Windows Virtual PC on Windows 7 to support floppy drives. Ben also provided some PowerShell alternatives, although a more recent PowerShell solution exists (and is mentioned below)

Since Ben’s scripts are rather lengthy, a more simplified alternative, with example, is provided by WindowsItPro: How do I attach a floppy disk to a virtual machine (VM) with Windows Virtual PC?. Giving credit where it is due, this shortened approach appears to have been derived from a slightly more detailed Technet article: Floppy support gone in Windows Virtual PC?  that includes a release option. An alternate script option is also posted in the Technet Script Center: Attach a Virtual FD to specific Virtual Machine (for Windows Virtual PC).

Sven Groot, on his Ookii.org site posts three simple PowerShell scripts that enable you to Create, Attach and Release a virtual floppy from Windows 7 Virtual PC. Script downloads are also available: Floppy support in Windows Virtual PC 7.  (The site notes that you will have to enable unsigned PowerShell scripts to run in order to use them.)

Alternately, I have found that Oracle VM Virtual Box a free, Open Source Software solution will support floppy drives, and works well on Windows 7. VirtualBox does not support seamless desktop integration like Windows XP mode, though does provide an alternate virtual testing environment.

You should now have several viable options for integrating both virtual and physical floppy drives into your Windows 7 Virtual environment.

Steven Fullmer
Interface Technical Training Staff Instructor

Posted in Windows 7 | Posted in , , , , , , , , , , , , | Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">