
                                Boot Seqeunce
                                

This  file  describes  the boot sequence from the point of view of the command
interperter.  After you read it you will know when and how the OS notifies the
command  line  interpreter when to execute AUTOEXEC.BAT and when not. You will
also  know  how  in Win9X it knows when to load the GUI (basicly when to close
itself after executing AUTOEXEC.BAT, since then IO.SYS will load WIN.COM).

All tests where made on a Win98 computer and the CONFIG.SYS line was:
  shell=c:\fdshell.exe /P.

NORMAL

Just  let  the  computer  boot.  How to distingish between a boot and a normal
progaram  run?  In  boot  time  "%CMDLINE%" is "". This variable is set by the
command interperter before it runs any command.

SAFE MODE

IO.SYS loads the GUI, without any DOS. Like NT does and 9X should do.

SETP BY STEP CONFIRMATION

IO.SYS Confirms every line of CONFIG.SYS, and then ask wheater to execute
AUTOEXEC.BAT. If you choosed yes  the shell is run with thease arguments:
       (SHELL) /Y /P

COMMAND  PROMPT  ONLY

This  should  phrease CONFIG.SYS and then run the command interpreter telling
it  to  execute  AUTOEXEC.BAT. Like this:
      (SHELL) /P /D /K AUTOEXEC.BAT

If  you  also  pressed F8 at boot time (setp by setp confirmation), it will be
called:
      (SHELL) /P /D /Y /K  AUTOEXEC.BAT

SAFE MODE COMMAND PROMPT ONLY

IO.SYS does not load config.sys to phrase it. It loads c:\command.com, and
then (windir)\command.com. (windir) is taken from MSDOS.SYS. This program is
executed:
       (SHELL) /D

Switches used by COMMAND.COM (MS-Win98 version)


Copied from "command.com /?"

<help>
Starts a new copy of the Windows Command Interpreter.

COMMAND [[drive:]path] [device] [/E:nnnnn] [/L:nnnn] [/U:nnn] [/P] [/MSG]
                       [/LOW] [/Y [/[C|K] command]]
  [drive:]path    Specifies the directory containing COMMAND.COM.
  device          Specifies the device to use for command input and output.
  /E:nnnnn        Sets the initial environment size to nnnnn bytes.
                  (nnnnn should be between 256 and 32,768).
  /L:nnnn         Specifies internal buffers length (requires /P as well).
                  (nnnn should be between 128 and 1,024).
  /U:nnn          Specifies the input buffer length (requires /P as well).
                  (nnn should be between 128 and 255).
  /P              Makes the new Command Interpreter permanent (can't exit).
  /MSG            Stores all error messages in memory (requires /P as well).
  /LOW            Forces COMMAND to keep its resident data in low memory.
  /Y              Steps through the batch program specified by /C or /K.
  /C command      Executes the specified command and returns.
  /K command      Executes the specified command and continues running.
</help>

I found also an undocumented switch:
  /D              The default behaeviour of MS COMMAND.COM is to exit
                  emidiatly, and let the GUI run. IO.SYS executes (SHELL) and
                  then it executes (WINDIR)\win.com. This switch tell it
                  to the command interperter not to exit, but to keep on the
                  executing. If also /P is present it will not end, and you
                  have a DOS BOOT. (like in earlier version of MS-DOS - 6.22).

End

I am not responsable of anything on this document. If you find anything wrong,
please contact me and tell me what is wrong, and I will probably change/fix
it.

  - diego (dgi_il@hotmail.com,dgi_il@surfree.net.il)
