Hyper-V floppy trivia
"When I were a lad" (you have to say that in a northern British accent for authenticity), I used to catch the “Number 64” bus outside Fairfield Halls in Central Croydon as a leg of my journey to Junior school.
The busses never arrived as scheduled some six or seven minutes apart during rush hour – instead, three of them nearly always arrived together. 1970’s London transport at it’s very best :). (Ask me about the “233 bus episode sometime – it has a different route these days, but ask only in person, and with a case of beer in hand…..”).
What has this to do with Hyper-V? Bad 1970’s bus scheduling came to mind when the floppy disk controller in Hyper-V came up in three conversations in one week – I don’t recall it being mentioned for months beforehand. So I figured it was time to explain a little about the floppy disk controller in Hyper-V.
The first thing to note is that it cannot be connected to a physical floppy disk drive (does anyone, apart from me, still have, and use, one....?). The floppy disk controller in Hyper-V can only hold virtual media in the form of .VFD files, otherwise known as Virtual Floppy Disks.
The next thing to address is the media types the controller supports. It supports 1.44KB and 720KB floppies. (Which also reminds me of "when I were a lad" cutting out a fake tab on 5 1/4" disks to write to them upside down for use on PETs and 380Z's, doubling the available space to (IIRC) 720KB - saved me a fortune at the time, being a somewhat prolific collector and developer of PET programs ). I guess I'm not quite old enough to remember 8" floppies too well though....
Next, the question which cropped up twice. Why is there a file called "blank.vfd" in the “\Users\Public\Documents\Hyper-V\Blank floppy disk” directory when you enable the Hyper-V role? And further, when you try and insert the media into a VM, you get an error "Inserting the disk failed... The file blank.vfd does not have the required security settings. Error: 'General access denied error'".
To answer these questions requires cranking back the time machine to June 2006, a few months after I joined the Hyper-V team. Remember June 2006 was two years before we shipped Hyper-V “v1” RTM, so code was in flux and in full-scale development. We didn't plan back then to ship UI to create new floppy disk media. So it made sense to include a blank floppy disk image in the installation (and yes, I was responsible – in fact, I created blank.vfd using Virtual Server IIRC – could have been Virtual PC though). That’s why we laid the file down during installation. (Note: The UI can only create 1.44KB .VFDs, but you can still use Virtual PC to create 720KB .VFDs).
We didn't want people deleting blank.vfd accidentally, or writing to it (as it otherwise wouldn’t be blank), so we set security on the file so that users and administrators didn’t have write permission. That’s why you get the ‘General access denied error’ inserting the media.
Wind forward a few months more (I don’t recall exactly when), plans changed, and the Hyper-V UI was extended to include the ability to create a new floppy disk from the MMC (or the “browser” as it was called then – the name “Hyper-V” was still way off in the future).
Things being what they can be, it was an oversight that the UI now provided the ability to create a blank VFD file, and we installed one. On to June 2008 when we RTM’d, blank.vfd was still being installed. I guess in retrospect we didn’t do a lot of testing using blank.vfd – our test automation for floppies created a new file as part of the test.
The last question which cropped up was “Why does Hyper-V even have a floppy controller?”. There’s a couple of reasons. For compatibility with unsupported older operating systems, it’s often necessary to boot from a floppy to install the OS. There’s clearly no business case for this though. The main reason for including support for floppies is Windows Server 2003 full system backup which uses a floppy disk as part of a full system backup.
Do please let me know if you have alternate reasons for using the floppy disk controller in Hyper-V, or even still use physical floppy disks (somewhat) regularly. I’d hate to be the only one (but suspect I might)….
Cheers,
John.
Comments
Anonymous
January 01, 2003
PingBack from http://dogs.linkablez.info/2009/03/21/hyper-v-floppy-trivia/Anonymous
March 23, 2009
One nifty use of the floppy controller is for chain-booting. If you're building an application to instrument the process of creating a VM and installing an OS on it, chain-booting off the (virtual) floppy is often the best choice. I'd be happy to replace it with a programmatic API to control the boot sequence from outside the VM :-).Anonymous
March 23, 2009
The comment has been removedAnonymous
March 23, 2009
Eli Juni - Hyper-V has a programmatic API to change the boot order in the BIOS - if this is what you are looking for. Cheers, BenAnonymous
March 23, 2009
The comment has been removedAnonymous
March 24, 2009
I use a vfd to store the answer file required for a Small Business Server 2003 to Small Business Server 2008 migration install.Anonymous
June 30, 2009
Copy protection. There are still applications out there (Rockwell Software is the biggest offender) that rely on installing a key from an oddly-formatted floppy disk. The floppies I used most were Commodore 64 - a whopping 170K, doubled by using the notcher tool!Anonymous
October 02, 2009
The comment has been removedAnonymous
November 25, 2009
I still don't understand why you won't allow connection to physical floppy disk. Couple of useful scenarios
- Add special driver (F6) during XP install as Hyper-V guest
- Like another reader pointed out, Rockwell is another
Anonymous
March 18, 2010
The other use is that it's still the easiest way to supply a answer file for a SBS 2008 migration...Anonymous
April 19, 2011
Hyper-V is programmatic. I am trying to use the vfd to store the answer file for my small businessAnonymous
April 28, 2011
I use also Hyper-V floppy trivia.Really a nice application!