Dual-booting all versions of Windows and Linux

   Dual-Boot    |    Win 8    |    Win 7    |    Vista    |    Win XP/2K/NT    |    Win9x/Me    |    How to    |    Legacy 9x Tweaks    |    SiteMap   


Here: Home > How do I ... >

Win Me, 98SE, 98, 95 Setup & Undocumented Switches

On this page:

How to use Windows 9x Setup Switches

A variety of switches can be used when installing Windows 95, Windows 98 & SE, and Windows Millennium Edition (Me) from MS-DOS. Some of the switches are specific to certain versions of Windows 9x/Me.

Each switch consists of a space, followed by / (forward slash), and then the letter(s) associated with that switch. In most cases the letter is not case-sensitive, but a few are.

To run the Setup program, open a MS-DOS Prompt or bootup to true MS-DOS with a Win9x boot disk that gives CD access (or install from hard disk). Navigate to the folder containing the setup.exe file, and then enter the setup command. The following example shows how to run Setup without running Scandisk when installing from a Windows 98 CD (in the D: drive) - press [Enter] after each line.

cd win98
setup /is

Most switches you'll need to use are as simple as that. However some switches can have another letter, or number, associated with them and it's important to get the spaces correct e.g.
setup /is is correct but setup /i s is wrong (is is the command).
setup /p f is correct but setup /pf is wrong (p is the command. f is one of that command's options).

UNDOCUMENTED Windows 9x Setup Switches

Not all these Setup command-line switches work with all releases of Win9x. 

/D     Bypasses usage of installed Windows configuration (ignores settings
       in existing SYSTEM.INI, WIN.INI etc).
/domain:DomainName  Automatic notification to NT domain. Win98 asks for
                    network notification upon first load. Works only in
                    server based networks with NT controlling usernames.
/IA    Bypasses the "AfterProvider" section in Setup.inf.
/IB    Bypasses the "BeforeProvider" section Setup.inf section.
/IC    Win98 boots without 16-bit real mode drivers. If "KeepRMDrivers=1"
       setting absent from the Registry, 16-bit drivers are commented out
       in Config.sys or Autoexec.bat.
/ICH   Keeps Scandisk window visible during Setup. Useful if Setup halts
       during Scandisk operation.
/ID    Bypasses check for the minimum disk space required to install Win98. 
/IF    Performs quick Setup. Uses CacheFindFirst for filenames and speeds
       up DOS Setup. Verify for copied files is off.
/IN    Bypasses call the networking Setup software. Neither the networking
       software nor the Networking Wizard screens will be used. 
/IP    Bypasses detection of undocumented plug and play devices.
/IR    Bypasses detection of system CMOS/BIOS and does not update Master
       Boot Record (MBR).
/IW    Bypasses display of License Agreement dialog box (uses uppercase).
/IX    Bypasses character set check. Allows usage of different codepages
       for DOS and Windows.
/IY    Bypasses language conflicts.
/M     Bypasses playing of Setup sounds (.WAV).
/N     Runs Setup without mouse support.
/NA    Bypasses Windows/MS-DOS program check. Valid values:
        0 = Default.
        1 = Windows programs not checked, MS-DOS programs blocked.
        2 = MS-DOS programs not checked, Windows programs blocked.
        3 = Windows and MS-DOS programs not checked.
/ND    Bypasses MIGRATION.DLL settings and forces Windows 98 to overwrite
       newer files (USE WITH CAUTION!). Files that use .INF file ",,,32"
       flag force Windows 98 SETUP to keep newer versions.
/NF    Bypasses prompt to remove floppy disk from the drive.
       Use this switch when installing Windows 98 from a bootable CD. 
       It's the same as:
        1. BOOTCD file present in the cabinet folder, or
        2. "BootCD=1" line present in MSBATCH.INF.
/NH    Bypasses running HWINFO.EXE at 0 percent files and RunOnce.
/NM    Bypasses CPU detection (No Minimum) to allow Win9x/ME install on
       systems that do NOT meet Microsoft's minimum requirements.
/nostart Copies a minimal installation of required DLLs used by Win98
         Setup, then exits to MS-DOS without installing Win98. 
/NR    Bypasses the Registry check.
/NTLDR Bypasses detection of an existing Operating System.
       OEM/VAR Win95/NT full releases can be installed ONLY on a new PC
       that does not contain ANY OS. This switch allows SETUP to
       circumvent this situation.
       It works ONLY IF you create a new file (any size) on the root
       directory of your boot drive (C:) and name it NTLDR without any
       file extension. 
/NX    Bypasses SETUPX version check.
/S:inffile    Loads custom Setup.inf. Allows unknown drivers to install.
/SrcDir:directory   Creates custom directory for Win98 Setup files.
                    New components are installed from this location.
                    Correspondent Registry key:
/T:directory  Specifies directory used by temporary setup files.
/U    Specifies the unique product identifier (upi). It's included for 
      OEMs who install Windows on their computers.

[top of page]

Setup Switches SPECIFIC to Windows Me, SE & 98

/ie    Bypasses the Windows 98 Startup Disk wizard screens. If this
       switch is used, the Windows\Command\EBD folder is not created.
/iv    Bypasses displaying Setup screens during an upgrade within Windows.
/m     Bypasses the playing of the Setup sound (.wav) files.
/na    Bypasses the program check and can use the following values:
        0  default
        1  No Windows-based program check, but MS-DOS progs are blocked.
        2  No MS-DOS-based program check, Windows-based progs are blocked.
        3  No Windows-based or MS-DOS-based program check.
/nd    Force Windows 98 to overwrite newer files. However, files that use
       the ...32 flag in the Migration.dll file still force Windows 98 
       Setup to keep those newer files. 
/nf    Do not prompt to remove the floppy disk from the drive.
       Same as if there's a file named BOOTCD in the cabinet folder.
       Also same as a "BootCD=1" line in the Msbatch.inf file.
/nh    Bypasses running Hwinfo.exe program at 0 percent files and RunOnce.
/nx    Do not check the version of Setupx that's running.

[top of page]

Setup Switches COMMON to Windows Me, 98SE, 98, 95

The following switches should work with ALL versions of Windows 9x.

/?     Provides a brief summary of the available Setup switches
       and the correct command-line syntax to use them.
/c     Bypasses running SMARTDrive.
/d     Bypasses using your existing Windows configuration (such
       as your current Win.ini and System.ini files).
/l     Enables a Logitech mouse for use during Setup.
/ig    Lets Setup run on some old Gateway / Micron PCs with an early BIOS.
/ih    Causes Setup to run ScanDisk in the foreground.
/im    Causes setup to ignore the conventional memory check.
/iq    If you use the /is switch to bypass ScanDisk or if ScanDisk does'nt
       complete successfully, Setup checks for cross-linked files.
       The /iq switch prevents Setup from doing this.
/is    Bypasses running ScanDisk during setup.
/it    Bypasses checking for "dirty" or "deadly" terminate-and-stay
       -resident programs (TSRs) known to cause problems with Setup.
/n     Causes Setup to run without a mouse.
/p     Causes Setup to pass string(s) directly to Detection Manager (or
       Sysdetmg.dll). Setup does not interpret the content of the string.
       The string can contain one or more detection options.
/t:dir This switch lets you specify where Setup copies its temporary files.
       Warning: Any existing files in this folder are deleted.
-s     Use this switch to use an alternate Setup.inf file.

The /p switch is not used by itself and is explained below. 

[top of page]

Definition of the /p Switch

(as described by Microsoft)

The string can contain one or more detection switches separated by a semicolon (;). For example, if you want to use /p f and /p i you type setup /p f;i

Some switches are simply on/off switches.
The absence of the switch implies off.
The presence of the switch turns it on.
A minus sign (-) appended immediately after a switch turns it off.

Some switches take parameters in the form of c=params. If there is more than one parameter to a switch, the parameters are separated by a comma (,).

There must not be any spaces in the detection option string.

Valid Detection Switches

a   This switch enables safe detection. It tells each detection module to try safer detection methods. Safer detection methods may not detect devices correctly.
The default during Setup is enabled. The default in other cases is disabled.
Example: setup /p a

b   This switch enables Prompt Before mode. It prompts you before a detection module is called so that you can step through each detection module manually and decide if you want to skip it.
The default is disabled.
Example: setup /p b

c   This switch enables class detection. Class detection is a mechanism for finding hints for a certain class of devices. For example, adapter class detection looks for hints in the Config.sys and System.ini files for CD-ROM drivers. If it does not find any, Setup displays a CD-ROM check box asking if you have a CD-ROM drive.
The default during Setup is enabled. The default when you use the Add New Hardware tool and docking/undocking detection is disabled.
Example: setup /p c

c-  Disables safe class detection. For example, this switch tells Setup to always search on all network adapter cards, sound cards, and CD-ROM drives.
Example: setup /p c-

d=name   This switch detects the listed detection modules only, where name is a detection module name or a device class name. Detection module names (such as DetectPIC and DetectAHA154x) are found in the Msdet.inf file. Device class names can be SCSIAdapter, net, and so on.
Example: setup /p d=detectpic

e   This switch enables Setup mode detection.
The default during Setup is enabled. The default in other cases is disabled.
Example: setup /p e

f   This switch enables Clean Registry mode. It forces Detection to delete the HKEY_LOCAL_MACHINE\Enum\Root registry key before starting. This switch is ignored when Setup is run in the Windows 95 graphical user interface (GUI).
NOTE: This switch is always ignored in Windows 98, Windows 98 Second Edition, and Windows Me, even when Setup is run from MS-DOS.
The default is disabled.
Example: setup /p f

g=n   This switch specifies the verbose level, where n is 0 to 3. This switch controls how verbose the built-in progress bar is. At maximum level (3), it shows all the resources of the detected devices along with the progress bar. This switch can help to identify which detection module causes a certain problem. For example, if your mouse stops responding (hangs) during detection but the system continues, there is no way to determine from the log files which module hung the mouse. By turning this option on and constantly moving the mouse during Setup, you can determine which module is running when the mouse hangs.
The default is disabled (0).
Example: setup /p g=3

i   This switch tells Setup not to report the existence of a Plug and Play BIOS. It is useful on computers that have a Plug and Play BIOS that is not reported in the Machine.inf file
Example: setup /p i

j   This switch tells Setup to undo the results of the Setup /p iswitch. This switch should only be used after a computer that required Setup /p ihas updated its Plug and Play BIOS.
NOTE: In Windows 98, the /p jswitch is required to enable ACPI support. Windows 98 maintains a BIOS list for ACPI computers, so as BIOS manufacturers create a new valid ACPI BIOS, this is the mechanism for causing Windows 98 to recognize it.
Example: setup /p j

l=n   This switch specifies the logging level for Detlog.txt, where n is 0 to 3.
The default is maximum logging (3).
Example: setup /p l=0

m   This switch enables Mini-windows mode. This is enabled only when Setup is run under MS-DOS.
Example: setup /p m

n   This switch enables No Recovery mode. This option can be used to turn off the Windows 95 Setup recovery mechanism (for example, this switch prevents the creation of the Detcrash.log file).
The default is disabled.
Example: setup /p n

o= traceoutput   This switch specifies the trace output. The information is written to the Tracelog.txt file in the current directory. This option is available only in the Debug version of Sysdetmg.dll.
Example: setup /p o

p   This switch enables performance logging. It writes performance timing information to the DETLOG.TXT file.
The default is disabled.
Example: setup /p p

r   This switch enables Recovery mode. It causes Detection to use the Detcrash.log file, if found, for recovery. If this switch is not enabled, Detection ignores and deletes Detcrash.log even if it is found. This switch is used if Safe Recovery is selected during Setup, otherwise it is not used.
Example: setup /p r

s=name   This switch skips the listed detection modules or classes of detection modules, where name is a detection module name or a device class name. Detection module names (such as DetectPIC and DetectAHA154x) are in the Msdet.inf file. Device class names are SCSIAdapter, net, and so on.
Example: setup /p s=detectpic

t=n   This switch specifies the trace level, where n is 0 to 9. This option is available only in the Debug version of Sysdetmg.dll.
The default is disabled (0).

Example: setup /p t=9

v   This switch enables Verify Only mode. Detection has two stages:
  1. Verify existing devices in the registry.
  2. Detect new devices.
This switch tells Detection to perform only stage 1. This switch is used by the PCMCIA Wizard to verify legacy devices in the registry.
The default is disabled.
Example: setup /p v

x=res list   This switch excludes the listed resources from detection, where res list is one of four possibilities:
  1. io(xxx-yyy,xxx-yyy,...)
  2. mem(xxxxx-yyyyy,xxxxx-yyyyy,...)
  3. irq(x,y,z,...)
  4. dma(x,y,z,...)
This switch protects resources so that no detection modules can access them.
Example: setup /p x=io(300-30f,240-24f)

[top of page]

Please remember that you alone are responsible for the consequences of any changes you make to your computer hardware or software.

Copyright © LarryM 1998-2013