Skip to main content
added 413 characters in body
Source Link
user3840170
  • 25.5k
  • 4
  • 101
  • 163

Note: The information below is probably more applicable to Windows 95 and 98 than Millennium in particular; I have discovered the latter actually seems to handle the lack of a floppy drive fine, with sufficiently well-behaved BIOS firmware. More research is needed, but I currently lack the time for it. Nevertheless, I am leaving this answer up in case someone finds it useful.


Yes, just barely.

The basic problem is twofoldreason why phantom floppy drives appear in Windows 9x comes down to a convergence of three factors:

  • MS-DOS, and therefore versions of Windows based on it, will assume the presence of a floppy drive even if one is not reported as present by the firmware. This is because DOS was originally written for systems which definitely had at least one floppy drive, but not necessarily any interrupt services for probing drive presence and type (interrupt 0x13 service 0x15 and service 8). Therefore, if the firmware reports there is no floppy drive present, DOS will simply interpret this as the respective firmware services not being reliable and will assume the presence of one 40-track 5¼″ drive. This assumption has not been updated in later versions, since even by the time of Windows 9x floppy-less systems were a relative rarity.
  • Windows 9x, though it has its own native, protected-mode disk drivers, can still fall back to using DOS drivers if no native driver successfully reclaims responsibility for a given disk drive. Therefore, if MS-DOS detects a floppy drive and allocates a drive letter for it, but no native floppy drivers successfully load later, Windows will simply continue using DOS drivers to access that drive. Disabling this behaviour is nigh-impossible, and the end-result would probably not be recognisable as Windows 9x any more; it’s pretty much inherent to the operating system’s design.
  • MS-DOS 7.x and earlier will allocate a drive that DOS claimsletter for a floppy drive even if one is not reported as existingpresent by the BIOS firmware. This has been fixed in MS-DOS 8.0, upon which Windows Millennium is based, with some caveats (some of the less-official versions of the kernel stashed away in CAB files on the installation CD do not have the fix applied). However…
  • BIOS firmware does not always report the absence of a floppy drive consistently, even when all configuration options to that effect (if any are available) are set correctly; e.g. some may report presence of floppy drives in interrupt 0x11, but zero floppy drives from interrupt 0x13 service 8. Some require having an additional ‘Report no FDD to Win 95’ option enabled; others don’t offer the option to disable the floppy drive at all, especially laptops, presumably in order for a floppy drive later hot-plugged into an extension bay to be available.

As such, the goal is to disable the DOS floppy driver. To that end, you should be able to assemble my NOFDD program on your machine and run it from DOS mode to disable the floppy drive. I am not sure if this counts as an ‘additional tool’; although it is not a binary that comes with the stock system, it’s also not something you have to download or copy from somewhere else, but a program you can generate yourself entirely on your machine, using only utilities coming with a vanilla MillenniumDOS/Windows installation. Once it’s created, all

All that remains is to ensure that itset up the program to run before Windows startsat boot-up. Under MS-DOS 5.0 up to version 7.x, for examplethis can be done by putting it insimply adding an INSTALL= directive in CONFIG.SYSto CONFIG.

There is a complicationSYS. However, though:the vestigial MS-DOS 8.0 kernel used in a standard installation of Windows Millennium in particular has been designed to make it very hard to rundoes not support custom DOS software before Windows startsdrivers at all. To actually get As such, applying this solution requires hacking the NOFDD program to run at system startup, you will have to re-enable that support, and this is where most of the difficulty lies.

Though hackpatching the system to re-enable CONFIG.SYS and AUTOEXEC.BAT processingin the usual way. Though patching the system in the usual way usually involves external tools, for the most part that can be side-stepped by extracting versions of IO.SYS and COMMAND.COM found inside the CAB file TOOLS\NETTOOLS\FAC\LTOOLS.DTA found on the Windows Millennium installation CD.  Extracting those files can be done with Microsoft’s own EXTRACT.EXE, which also comes with Windows itself. There is also REGENV32.EXE to take care of, but you can patch it using MS-DOS Editor’s binary file mode: create a backup copy of C:\WINDOWS\SYSTEM\REGENV32.EXE, then in a command prompt launch EDIT /78 C:\WINDOWS\SYSTEM\REGENV32.EXE and replace occurrences of _:\AUTOEXEC.BAT and _:\CONFIG.SYS with other file paths of exactly the same length.

I suppose writing a VxD driver would be a cleaner solution for that particular version of Windows, but that would be more involved, and definitely violate your ‘no additional tools’ requirement.


0 This has the side effect of changing the bootup message to say ‘Now preparing to start your new computer...’, but you can probably live with that. The standard route has a similar side effect anyway.

Note: The information below is probably more applicable to Windows 95 and 98 than Millennium in particular; I have discovered the latter actually seems to handle the lack of a floppy drive fine, with sufficiently well-behaved BIOS firmware. More research is needed, but I currently lack the time for it. Nevertheless, I am leaving this answer up in case someone finds it useful.


Yes, just barely.

The basic problem is twofold:

  • MS-DOS, and therefore versions of Windows based on it, will assume the presence of a floppy drive even if one is not reported as present by the firmware. This is because DOS was originally written for systems which definitely had at least one floppy drive, but not necessarily any interrupt services for probing drive presence and type (interrupt 0x13 service 0x15 and service 8). Therefore, if the firmware reports there is no floppy drive present, DOS will simply interpret this as the respective firmware services not being reliable and will assume the presence of one 40-track 5¼″ drive. This assumption has not been updated in later versions, since even by the time of Windows 9x floppy-less systems were a relative rarity.
  • Windows 9x, though it has its own native, protected-mode disk drivers, can still fall back to using DOS drivers if no native driver successfully reclaims responsibility for a given disk drive. Therefore if no native floppy drivers successfully load, Windows will simply continue using DOS drivers to access the drive that DOS claims as existing.

As such, the goal is to disable the DOS floppy driver. To that end, you should be able to assemble my NOFDD program on your machine and run it from DOS mode to disable the floppy drive. I am not sure if this counts as an ‘additional tool’; although it is not a binary that comes with the stock system, it’s also not something you have to download or copy from somewhere else, but a program you can generate yourself entirely on your machine, using only utilities coming with a vanilla Millennium installation. Once it’s created, all that remains is to ensure that it run before Windows starts, for example by putting it in an INSTALL= directive in CONFIG.SYS.

There is a complication, though: Windows Millennium in particular has been designed to make it very hard to run DOS software before Windows starts. To actually get the NOFDD program to run at system startup, you will have to hack the system to re-enable CONFIG.SYS and AUTOEXEC.BAT processing. Though patching the system in the usual way usually involves external tools, for the most part that can be side-stepped by extracting versions of IO.SYS and COMMAND.COM found inside the CAB file TOOLS\NETTOOLS\FAC\LTOOLS.DTA found on the Windows Millennium installation CD. Extracting those files can be done with Microsoft’s own EXTRACT.EXE, which also comes with Windows itself. There is also REGENV32.EXE to take care of, but you can patch it using MS-DOS Editor’s binary file mode: create a backup copy of C:\WINDOWS\SYSTEM\REGENV32.EXE, then in a command prompt launch EDIT /78 C:\WINDOWS\SYSTEM\REGENV32.EXE and replace occurrences of _:\AUTOEXEC.BAT and _:\CONFIG.SYS with other file paths of exactly the same length.

I suppose writing a VxD driver would be a cleaner solution for that particular version of Windows, but that would be more involved, and definitely violate your ‘no additional tools’ requirement.

Yes, just barely.

The basic reason why phantom floppy drives appear in Windows 9x comes down to a convergence of three factors:

  • Windows 9x, though it has its own native, protected-mode disk drivers, can still fall back to using DOS drivers if no native driver successfully reclaims responsibility for a given disk drive. Therefore, if MS-DOS detects a floppy drive and allocates a drive letter for it, but no native floppy drivers successfully load later, Windows will simply continue using DOS drivers to access that drive. Disabling this behaviour is nigh-impossible, and the end-result would probably not be recognisable as Windows 9x any more; it’s pretty much inherent to the operating system’s design.
  • MS-DOS 7.x and earlier will allocate a drive letter for a floppy drive even if one is not reported as present by the BIOS firmware. This has been fixed in MS-DOS 8.0, upon which Windows Millennium is based, with some caveats (some of the less-official versions of the kernel stashed away in CAB files on the installation CD do not have the fix applied). However…
  • BIOS firmware does not always report the absence of a floppy drive consistently, even when all configuration options to that effect (if any are available) are set correctly; e.g. some may report presence of floppy drives in interrupt 0x11, but zero floppy drives from interrupt 0x13 service 8. Some require having an additional ‘Report no FDD to Win 95’ option enabled; others don’t offer the option to disable the floppy drive at all, especially laptops, presumably in order for a floppy drive later hot-plugged into an extension bay to be available.

As such, the goal is to disable the DOS floppy driver. To that end, you should be able to assemble my NOFDD program on your machine and run it from DOS mode to disable the floppy drive. I am not sure if this counts as an ‘additional tool’; although it is not a binary that comes with the stock system, it’s also not something you have to download or copy from somewhere else, but a program you can generate yourself entirely on your machine, using only utilities coming with a vanilla DOS/Windows installation.

All that remains is to set up the program to run at boot-up. Under MS-DOS 5.0 up to version 7.x, this can be done by simply adding an INSTALL= directive to CONFIG.SYS. However, the vestigial MS-DOS 8.0 kernel used in a standard installation of Windows Millennium does not support custom DOS drivers at all. As such, applying this solution requires hacking the system to re-enable that support, and this is where most of the difficulty lies.

Though patching the system in the usual way usually involves external tools, for the most part that can be side-stepped by extracting versions of IO.SYS and COMMAND.COM found inside the CAB file TOOLS\NETTOOLS\FAC\LTOOLS.DTA found on the Windows Millennium installation CD.  Extracting those files can be done with Microsoft’s own EXTRACT.EXE, which also comes with Windows itself. There is also REGENV32.EXE to take care of, but you can patch it using MS-DOS Editor’s binary file mode: create a backup copy of C:\WINDOWS\SYSTEM\REGENV32.EXE, then in a command prompt launch EDIT /78 C:\WINDOWS\SYSTEM\REGENV32.EXE and replace occurrences of _:\AUTOEXEC.BAT and _:\CONFIG.SYS with other file paths of exactly the same length.

I suppose writing a VxD driver would be a cleaner solution for that particular version of Windows, but that would be more involved, and definitely violate your ‘no additional tools’ requirement.


0 This has the side effect of changing the bootup message to say ‘Now preparing to start your new computer...’, but you can probably live with that. The standard route has a similar side effect anyway.

added 398 characters in body
Source Link
user3840170
  • 25.5k
  • 4
  • 101
  • 163

Note: The information below is probably more applicable to Windows 95 and 98 than Millennium in particular; I have discovered the latter actually seems to handle the lack of a floppy drive fine, with sufficiently well-behaved BIOS firmware. More research is needed, but I currently lack the time for it. Nevertheless, I am leaving this answer up in case someone finds it useful.


Yes, just barely.

The basic problem is twofold:

  • MS-DOS, and therefore versions of Windows based on it, will assume the presence of a floppy drive even if one is not reported as present by the firmware. This is because DOS was originally written for systems which definitely had at least one floppy drive, but not necessarily any interrupt services for probing drive presence and type (interrupt 0x13 service 0x15 and service 8). Therefore, if the firmware reports there is no floppy drive present, DOS will simply interpret this as the respective firmware services not being reliable and will assume the presence of one 40-track 5¼″ drive. This assumption has not been updated in later versions, since even by the time of Windows 9x floppy-less systems were a relative rarity.
  • Windows 9x, though it has its own native, protected-mode disk drivers, can still fall back to using DOS drivers if no native driver successfully reclaims responsibility for a given disk drive. Therefore if no native floppy drivers successfully load, Windows will simply continue using DOS drivers to access the drive that DOS claims as existing.

As such, the goal is to disable the DOS floppy driver. To that end, you should be able to assemble my NOFDD program on your machine and run it from DOS mode to disable the floppy drive. I am not sure if this counts as an ‘additional tool’; although it is not a binary that comes with the stock system, it’s also not something you have to download or copy from somewhere else, but a program you can generate yourself entirely on your machine, using only utilities coming with a vanilla Millennium installation. Once it’s created, all that remains is to ensure that it run before Windows starts, for example by putting it in an INSTALL= directive in CONFIG.SYS.

There is a complication, though: Windows Millennium in particular has been designed to make it very hard to run DOS software before Windows starts. To actually get the NOFDD program to run at system startup, you will have to hack the system to re-enable CONFIG.SYS and AUTOEXEC.BAT processing. Though patching the system in the usual way usually involves external tools, for the most part that can be side-stepped by extracting versions of IO.SYS and COMMAND.COM found inside the CAB file TOOLS\NETTOOLS\FAC\LTOOLS.DTA found on the Windows Millennium installation CD. Extracting those files can be done with Microsoft’s own EXTRACT.EXE, which also comes with Windows itself. There is also REGENV32.EXE to take care of, but you can patch it using MS-DOS Editor’s binary file mode: create a backup copy of C:\WINDOWS\SYSTEM\REGENV32.EXE, then in a command prompt launch EDIT /78 C:\WINDOWS\SYSTEM\REGENV32.EXE and replace occurrences of _:\AUTOEXEC.BAT and _:\CONFIG.SYS with other file paths of exactly the same length.

I suppose writing a VxD driver would be a cleaner solution for that particular version of Windows, but that would be more involved, and definitely violate your ‘no additional tools’ requirement.

Yes, just barely.

The basic problem is twofold:

  • MS-DOS, and therefore versions of Windows based on it, will assume the presence of a floppy drive even if one is not reported as present by the firmware. This is because DOS was originally written for systems which definitely had at least one floppy drive, but not necessarily any interrupt services for probing drive presence and type (interrupt 0x13 service 0x15 and service 8). Therefore, if the firmware reports there is no floppy drive present, DOS will simply interpret this as the respective firmware services not being reliable and will assume the presence of one 40-track 5¼″ drive. This assumption has not been updated in later versions, since even by the time of Windows 9x floppy-less systems were a relative rarity.
  • Windows 9x, though it has its own native, protected-mode disk drivers, can still fall back to using DOS drivers if no native driver successfully reclaims responsibility for a given disk drive. Therefore if no native floppy drivers successfully load, Windows will simply continue using DOS drivers to access the drive that DOS claims as existing.

As such, the goal is to disable the DOS floppy driver. To that end, you should be able to assemble my NOFDD program on your machine and run it from DOS mode to disable the floppy drive. I am not sure if this counts as an ‘additional tool’; although it is not a binary that comes with the stock system, it’s also not something you have to download or copy from somewhere else, but a program you can generate yourself entirely on your machine, using only utilities coming with a vanilla Millennium installation. Once it’s created, all that remains is to ensure that it run before Windows starts, for example by putting it in an INSTALL= directive in CONFIG.SYS.

There is a complication, though: Windows Millennium in particular has been designed to make it very hard to run DOS software before Windows starts. To actually get the NOFDD program to run at system startup, you will have to hack the system to re-enable CONFIG.SYS and AUTOEXEC.BAT processing. Though patching the system in the usual way usually involves external tools, for the most part that can be side-stepped by extracting versions of IO.SYS and COMMAND.COM found inside the CAB file TOOLS\NETTOOLS\FAC\LTOOLS.DTA found on the Windows Millennium installation CD. Extracting those files can be done with Microsoft’s own EXTRACT.EXE, which also comes with Windows itself. There is also REGENV32.EXE to take care of, but you can patch it using MS-DOS Editor’s binary file mode: create a backup copy of C:\WINDOWS\SYSTEM\REGENV32.EXE, then in a command prompt launch EDIT /78 C:\WINDOWS\SYSTEM\REGENV32.EXE and replace occurrences of _:\AUTOEXEC.BAT and _:\CONFIG.SYS with other file paths of exactly the same length.

I suppose writing a VxD driver would be a cleaner solution for that particular version of Windows, but that would be more involved, and definitely violate your ‘no additional tools’ requirement.

Note: The information below is probably more applicable to Windows 95 and 98 than Millennium in particular; I have discovered the latter actually seems to handle the lack of a floppy drive fine, with sufficiently well-behaved BIOS firmware. More research is needed, but I currently lack the time for it. Nevertheless, I am leaving this answer up in case someone finds it useful.


Yes, just barely.

The basic problem is twofold:

  • MS-DOS, and therefore versions of Windows based on it, will assume the presence of a floppy drive even if one is not reported as present by the firmware. This is because DOS was originally written for systems which definitely had at least one floppy drive, but not necessarily any interrupt services for probing drive presence and type (interrupt 0x13 service 0x15 and service 8). Therefore, if the firmware reports there is no floppy drive present, DOS will simply interpret this as the respective firmware services not being reliable and will assume the presence of one 40-track 5¼″ drive. This assumption has not been updated in later versions, since even by the time of Windows 9x floppy-less systems were a relative rarity.
  • Windows 9x, though it has its own native, protected-mode disk drivers, can still fall back to using DOS drivers if no native driver successfully reclaims responsibility for a given disk drive. Therefore if no native floppy drivers successfully load, Windows will simply continue using DOS drivers to access the drive that DOS claims as existing.

As such, the goal is to disable the DOS floppy driver. To that end, you should be able to assemble my NOFDD program on your machine and run it from DOS mode to disable the floppy drive. I am not sure if this counts as an ‘additional tool’; although it is not a binary that comes with the stock system, it’s also not something you have to download or copy from somewhere else, but a program you can generate yourself entirely on your machine, using only utilities coming with a vanilla Millennium installation. Once it’s created, all that remains is to ensure that it run before Windows starts, for example by putting it in an INSTALL= directive in CONFIG.SYS.

There is a complication, though: Windows Millennium in particular has been designed to make it very hard to run DOS software before Windows starts. To actually get the NOFDD program to run at system startup, you will have to hack the system to re-enable CONFIG.SYS and AUTOEXEC.BAT processing. Though patching the system in the usual way usually involves external tools, for the most part that can be side-stepped by extracting versions of IO.SYS and COMMAND.COM found inside the CAB file TOOLS\NETTOOLS\FAC\LTOOLS.DTA found on the Windows Millennium installation CD. Extracting those files can be done with Microsoft’s own EXTRACT.EXE, which also comes with Windows itself. There is also REGENV32.EXE to take care of, but you can patch it using MS-DOS Editor’s binary file mode: create a backup copy of C:\WINDOWS\SYSTEM\REGENV32.EXE, then in a command prompt launch EDIT /78 C:\WINDOWS\SYSTEM\REGENV32.EXE and replace occurrences of _:\AUTOEXEC.BAT and _:\CONFIG.SYS with other file paths of exactly the same length.

I suppose writing a VxD driver would be a cleaner solution for that particular version of Windows, but that would be more involved, and definitely violate your ‘no additional tools’ requirement.

deleted 272 characters in body
Source Link
user3840170
  • 25.5k
  • 4
  • 101
  • 163

Yes, just barely.

The basic problem is twofold:

  • MS-DOS, and therefore versions of Windows based on it, will assume the presence of a floppy drive even if one is not reported as present by the firmware. This is because DOS was originally written for systems which definitely had at least one floppy drive, but not necessarily any interrupt services for probing drive presence and type (interrupt 0x13 service 0x15 and service 8). Therefore, if the firmware reports there is no floppy drive present, DOS will simply interpret this as the respective firmware services not being reliable and will assume the presence of one 40-track 5¼″ drive. This assumption has not been updated in later versions, since even by the time of Windows 9x floppy-less systems were a relative rarity.
  • Windows 9x, though it has its own native, protected-mode disk drivers, can still fall back to using DOS drivers if no native driver successfully reclaims responsibility for a given disk drive. Therefore if no native floppy drivers successfully load, Windows will simply continue using DOS drivers to access the drive that DOS claims to existas existing.

As such, the goal is to disable the DOS floppy driver before Windows starts. To that end, you should be able to assemble my NOFDD program on your machine and run it from DOS mode to disable the floppy drive. I am not sure if this counts as an ‘additional tool’; although it is not a binary that comes with the stock system, it’s also not something you have to download or copy from somewhere else, but a program you can generate yourself entirely on your machine, using only utilities coming with a vanilla Millennium installation. Once it’s created, all that remains is to ensure that it run before Windows starts, for example by putting it in an INSTALL= directive in CONFIG.SYS.

There is a complication, though: Windows Millennium in particular has been designed to make it very hard to run DOS software before Windows starts. To actually get the NOFDD program to run at system startup, you will have to hack the system to make it processre-enable CONFIG.SYS and AUTOEXEC.BAT processing and invoke the utility from either (preferably, from an INSTALL= directive in CONFIG.SYS). Though patching the system in the usual way usually involves external tools, for the most part that can be side-stepped by extracting versions of IO.SYS and COMMAND.COM found inside the CAB file TOOLS\NETTOOLS\FAC\LTOOLS.DTA found on the Windows Millennium installation CD. Extracting those files can be done with Microsoft’s own EXTRACT.EXE, which also comes with Windows itself. There is also REGENV32.EXE to take care of, but you can patch it using MS-DOS Editor’s binary file mode: create a backup copy of C:\WINDOWS\SYSTEM\REGENV32.EXE, then in a command prompt launch EDIT /78 C:\WINDOWS\SYSTEM\REGENV32.EXE and replace occurrences of _:\AUTOEXEC.BAT and _:\CONFIG.SYS with other file paths of exactly the same length.

I suppose writing a VxD driver would be a cleaner solution for that particular version of Windows, but that would be more involved, and definitely violate your ‘no additional tools’ requirement.

The same NOFDD executable can be used with Windows 95 and 98, though those versions don’t need to be hacked to process CONFIG.SYS, so the process is much simpler: you just add the INSTALL= directive there once and forget about it.

Yes, just barely.

The basic problem is twofold:

  • MS-DOS, and therefore versions of Windows based on it, will assume the presence of a floppy drive even if one is not reported as present by the firmware. This is because DOS was originally written for systems which definitely had at least one floppy drive, but not necessarily any interrupt services for probing drive presence and type (interrupt 0x13 service 0x15 and service 8). Therefore, if the firmware reports there is no floppy drive present, DOS will simply interpret this as the respective firmware services not being reliable and will assume the presence of one 40-track 5¼″ drive. This assumption has not been updated in later versions, since even by the time of Windows 9x floppy-less systems were a relative rarity.
  • Windows 9x, though it has its own native, protected-mode disk drivers, can still fall back to using DOS drivers if no native driver successfully reclaims responsibility for a given disk drive. Therefore if no native floppy drivers successfully load, Windows will simply continue using DOS drivers to access the drive that DOS claims to exist.

As such, the goal is to disable the DOS floppy driver before Windows starts. To that end, you should be able to assemble my NOFDD program on your machine and run it from DOS mode to disable the floppy drive. I am not sure if this counts as an ‘additional tool’; although it is not a binary that comes with the stock system, it’s also not something you have to download or copy from somewhere else, but a program you can generate yourself entirely on your machine, using only utilities coming with a vanilla Millennium installation. Once it’s created, all that remains is to ensure that it run before Windows starts.

There is a complication, though: Windows Millennium in particular has been designed to make it very hard to run DOS software before Windows starts. To actually get the NOFDD program to run at system startup, you will have to hack the system to make it process CONFIG.SYS and AUTOEXEC.BAT and invoke the utility from either (preferably, from an INSTALL= directive in CONFIG.SYS). Though patching the system in the usual way usually involves external tools, for the most part that can be side-stepped by extracting versions of IO.SYS and COMMAND.COM found inside the CAB file TOOLS\NETTOOLS\FAC\LTOOLS.DTA found on the Windows Millennium installation CD. Extracting those files can be done with Microsoft’s own EXTRACT.EXE, which also comes with Windows itself. There is also REGENV32.EXE to take care of, but you can patch it using MS-DOS Editor’s binary file mode: create a backup copy of C:\WINDOWS\SYSTEM\REGENV32.EXE, then in a command prompt launch EDIT /78 C:\WINDOWS\SYSTEM\REGENV32.EXE and replace occurrences of _:\AUTOEXEC.BAT and _:\CONFIG.SYS with other file paths of exactly the same length.

I suppose writing a VxD driver would be a cleaner solution for that particular version of Windows, but that would be more involved, and definitely violate your ‘no additional tools’ requirement.

The same NOFDD executable can be used with Windows 95 and 98, though those versions don’t need to be hacked to process CONFIG.SYS, so the process is much simpler: you just add the INSTALL= directive there once and forget about it.

Yes, just barely.

The basic problem is twofold:

  • MS-DOS, and therefore versions of Windows based on it, will assume the presence of a floppy drive even if one is not reported as present by the firmware. This is because DOS was originally written for systems which definitely had at least one floppy drive, but not necessarily any interrupt services for probing drive presence and type (interrupt 0x13 service 0x15 and service 8). Therefore, if the firmware reports there is no floppy drive present, DOS will simply interpret this as the respective firmware services not being reliable and will assume the presence of one 40-track 5¼″ drive. This assumption has not been updated in later versions, since even by the time of Windows 9x floppy-less systems were a relative rarity.
  • Windows 9x, though it has its own native, protected-mode disk drivers, can still fall back to using DOS drivers if no native driver successfully reclaims responsibility for a given disk drive. Therefore if no native floppy drivers successfully load, Windows will simply continue using DOS drivers to access the drive that DOS claims as existing.

As such, the goal is to disable the DOS floppy driver. To that end, you should be able to assemble my NOFDD program on your machine and run it from DOS mode to disable the floppy drive. I am not sure if this counts as an ‘additional tool’; although it is not a binary that comes with the stock system, it’s also not something you have to download or copy from somewhere else, but a program you can generate yourself entirely on your machine, using only utilities coming with a vanilla Millennium installation. Once it’s created, all that remains is to ensure that it run before Windows starts, for example by putting it in an INSTALL= directive in CONFIG.SYS.

There is a complication, though: Windows Millennium in particular has been designed to make it very hard to run DOS software before Windows starts. To actually get the NOFDD program to run at system startup, you will have to hack the system to re-enable CONFIG.SYS and AUTOEXEC.BAT processing. Though patching the system in the usual way usually involves external tools, for the most part that can be side-stepped by extracting versions of IO.SYS and COMMAND.COM found inside the CAB file TOOLS\NETTOOLS\FAC\LTOOLS.DTA found on the Windows Millennium installation CD. Extracting those files can be done with Microsoft’s own EXTRACT.EXE, which also comes with Windows itself. There is also REGENV32.EXE to take care of, but you can patch it using MS-DOS Editor’s binary file mode: create a backup copy of C:\WINDOWS\SYSTEM\REGENV32.EXE, then in a command prompt launch EDIT /78 C:\WINDOWS\SYSTEM\REGENV32.EXE and replace occurrences of _:\AUTOEXEC.BAT and _:\CONFIG.SYS with other file paths of exactly the same length.

I suppose writing a VxD driver would be a cleaner solution for that particular version of Windows, but that would be more involved, and definitely violate your ‘no additional tools’ requirement.

added 85 characters in body
Source Link
user3840170
  • 25.5k
  • 4
  • 101
  • 163
Loading
added 890 characters in body
Source Link
user3840170
  • 25.5k
  • 4
  • 101
  • 163
Loading
how to patch Windows Me with your bare hands
Source Link
user3840170
  • 25.5k
  • 4
  • 101
  • 163
Loading
just checked, running it from the Registry will not suffice
Source Link
user3840170
  • 25.5k
  • 4
  • 101
  • 163
Loading
added 11 characters in body
Source Link
user3840170
  • 25.5k
  • 4
  • 101
  • 163
Loading
Source Link
user3840170
  • 25.5k
  • 4
  • 101
  • 163
Loading