This might work, although it's not very easy. However, it would be much easier to just use a normal USB stick that's large enough to hold the image; you can find out more about this here.
As a side note, the steps used to manage installing from a USB stick or from the network drive in no way break the Mac OS X EULA or any other laws.
Well, I’ve solved it (more or less).
I had to mess around in the back of my system today, so I took the opportunity to remove the 128MB flash drive that I use to boot. Lo and behold, Windows is able to use the floppy drive (and with the changes I made last time—below—it is able to use it correctly too).
I’m not sure why it did not work with the flash-drive attached. I did some experiments and confirmed that it only happens when in the BIOS, the flash-drive is set to emulate a floppy drive and is higher in the boot order than the actually floppy drive in the removable devices section. By setting the flash-drive lower than the floppy in the boot order, Windows can access the floppy, but then I cannot use the flash-drive for booting automatically. Setting the flash-drive to emulate a CD-ROM allows the floppy to work, but then the flash-drive must be written as a CD, making it frustrating to change files on it like a floppy disk. Setting it to emulate a hard-drive allows the floppy to work and allows the flash-drive to work like a floppy or hard-drive (file wise), but then it prevents the actual hard-drives from being set as boot devices.
First, I tried disabling the floppy drive in Device Manager, then assigning A:
to the flash-drive in the Disk Management snap-in, then re-enabling the floppy which was then assigned B:
. Unfortunately this did not work (and caused even more problems than before.)
Sadly, my motherboard is old, so Asus has no desire or intention of updating the BIOS to allow individual boot devices to be set (e.g., flash-drive, cd, floppy, hard-drive1, hard-drive 2) instead of only device types (1 removable, 1 optical, 1 hard, 1 network). As a compromise, I have completely removed all but the hard-drive from my boot order. Now when I need to boot into DOS, I’ll have to press F8 to manually select the flash-drive instead of having it automatically inserted in the boot order (which displays a menu to boot DOS or fall through to the hard-drive). It’s a little more work :-|
, but having the floppy-drive work (and automatically fail when empty) instead of wait to time out is worth it (especially right now when I’m doing a bunch of file-system programming which requires opening disks in a hex-editor, causing many frustrating delays when the program tries to list the installed disks).
In any case, if anyone else finds their way here trying to figure out why they cannot get Windows to even activate their floppy drive, check if you have any small flash-drives attached to your system on boot. If your board is new enough, try asking them to update the BIOS (though it is more than likely that any board that is new enough to have support will not have a floppy controller at all).
(Of course the question remains what Windows’ problem is when it works fine in DOS, Windows setup, etc… o.O
)
It also turns out that the floppy drive (an new? OEM Sony unit I bought from a local computer wholesaler) could have been non-standard. It seems to be working just fine once I set it as the primary in the BIOS, so it probably doesn’t apply to this particular drive, but it’s another gotcha to watch out for.
Best Answer
You can make a FreeDOS bootable image (any size you need) for your purposes and then add any software or any DOS utility like BIOS update tools, etc.
From your question it seems you have access to Linux and might be familiar with using the terminal/command line. So for this answer I will focus on creating the bootable image in Linux. On a Windows machine you could use a tool like Rufus to do do this.
You can then boot of this FreeDOS image using PXE boot or write it to a USB drive with
dd
to create a FreeDOS boot drive. Ofcourse you can extend the steps used here to create any FreeDOS media you'd like including adding the full suite of software that comes with the FreeDOS Full edition.Below are the steps for creating a bootable FreeDOS image in Linux:
WARNING / DISCLAIMER!!! Some commands used below have the potential to wipe data from your disk drives if used incorrectly. Read the man page for each program to understand the command usage before proceeding. You might want to try these commands on a secondary/virtual machine that doesn't have your valuable data on it.
Step 1: Install Prerequites (ms-sys):
Install
ms-sys
from source if its not available with your package manager:Compiling ms-sys requires
msgfmt
from thegettext
package which can be installed on Debian/Ubuntu using:Compile and Install:
Step 2: Create a blank disk image and create a msdos partition:
Create an empty file for the disk image:
Partition the disk image:
Step 3: Confirm location of the starting sector of the first partition:
Use fdisk to determine the starting sector:
Step 4: Format the partition with a FAT file-system
Search for a free loop device:
Create a loop device of the partition (which is at offset=1048576 of the disk image):
Create FAT File System:
To create a FAT16 file system:
To create a FAT32 file system:
Step 5: Use
ms-sys
to write to the Master Boot Record (MBR) and Volume Boot Record (VBR):First write the VBR while the partition is still loaded as a loop device:
To create a FAT16 file system:
To create a FAT32 file system:
Next unload/detach the disk image file from the loop device:
And finally write a Windows 7 MBR to the disk image:
Step 6: Write Basic FreeDos files and any other programs you need to the partition on the disk image:
Mount partition:
Download and extract required FreeDOS files:
Copy files to partition:
Step 7: You are Done!
Unmount the disk image: