• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1004
  • Last Modified:

boot question

What happens upon boot up, starting with the (presumedly MS-DOS) kernal, in chronological order?  and what user options exist along the way (such as the F8 key) to change things?

basically, what calls what, calls what, etc..  and what files are involved?

thanks.  :)
  • 5
  • 3
1 Solution
Pete LongTechnical ConsultantCommented:
Hi glow,
When you boot the machine, POST (Power-On Self Test) occurs just as it does for BIOS (Basic Input/Output System) that is not Plug and Play.
The Plug and Play(PnP) BIOS begins by looking at the hardware devices on the system and figuring out which ones are PnP compliant. The BIOS first enables the devices that are not Plug and Play, and then tries to make the PnP devices use the leftover resources.
The Basic Input/Output System looks for devices containing the Operating System (OS) and loads Windows 95, making information about the current allocation of resources available to the OS.
Just as with DOS, the Master Boot Record (MBR) executes the boot record on the hard drive, which looks for the initial hidden files of Windows 95, called IO.SYS.
Again, just as with DOS, IO.SYS loads. If fact, IO.SYS is really a small core DOS module. IO.SYS looks for CONFIG.SYS file, and, if found, the CONFIG.SYS file executes. The CONFIG.SYS file is not required for Windows 95. Many of its functions have been eliminated and incorporated into Windows 95. but you can use the CONFIG.SYS file to load device drivers, if you want. However, the driver loaded in CONFIG.SYS will be a 16 bit driver and it will be slower that the 32 bit drivers that Windows 95 uses.
After CONFIG.SYS is complete, IO.SYS searches for MSDOS.SYS. The role of MSDOS.SYS differs greatly in Windows 95 from that in DOS. In Windows 95, MSDOS.SYS is a hidden file with settings used to customize the boot process.
The functions of the first few entries in MSDOS.SYS look like the following:
WinDir= (Location of the Windows 9x directory)
WinBootDir= (Location of the Windows 9x startup files)
HostWinBootDrv= (Drive that is the Windows boot drive)
BootGUI= (BootGUI=1, automatic graphical startup into Windows 9x is enabled. BootGUI=0, the system boots to a command prompt)
Next, COMMAND.COM loads just as with DOS. COMMAND.COM is used to provide a command interface for users and to execute an AUTOEXEC.BAT file, if it is present.
If AUTOEXEC.BAT is found, it now executes.
The heart of Windows 95 now loads, providing a desktop from which you can execute application software.


Just as with Windows 95, Windows 98 goes through a boot sequence in the order listed above.

BIOS loads a small DOS core
The DOS core loads Windows 98
Windows 98 has made some some minor changes in what happens during startup, in order to speed up the boot process.

Windows 95 waits 2 seconds, while "Starting Windows 95" is displayed so that you can press a key to alter the boot process.
Windows 98 eliminated the 2 second wait and, in its place, allows you to hold down the CTRL key as it loads. If you do that, you will see the Startup Menu display.

Pete LongTechnical ConsultantCommented:
Pete LongTechnical ConsultantCommented:
Your computer's environment includes settings from the following files


These files are loaded as part of the boot process as Windows starts and help create the environment used by the operating system (OS) and programs.
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

glow060197Author Commented:
you are truly an expert, Pete.  

let's say i wanted to have something run along the lines of

java Foobar

along the way, before Windows starts, like every time.  where could i put that?  would autoexec.bat be the place like in the "old days" or what?

Pete LongTechnical ConsultantCommented:
heheh if autoexec.bat exists then it will be processed yes but win 9x can start without an autoexec.bat and config.sys
they are only included for backwards compatability and loading 16 bit drivers etc

if you want an application to run EVERY time windows starts you need to place a pointer to the executable here....


you can get to this key by simply running regedit

or if thats too much hassle remember windows 9x dosnt have profiles so you can put the executable in the startup folder and it will execute for everyone, if you have a clever user though they will look in the startup folder :0) but it takes a bit more knowledge to hunt the registry :0)

What exactly would your hypothetical "Java Foobar" program do to the computer?

What I mean is, would this run something as a background process, or would it run something and then exit.

If it is is intended to run as a background process, then the registry key:


would be the key to place the entry in.

Note, entries in:


can all be disabled by running MSCONFIG and then rebooting.

If you really want to start running covert background processes or startup programs, and disallow users from interfering with them, then you have to start employing some System Policies or other Registry modifications to hide or disable options from users.

glow060197Author Commented:
note that i don't want my program to run WHEN Windows starts up, but BEFORE that.  i was just thinking of a program that would write out a file of the time and date of it's own running.  so maybe the autoexec.bat option is better?

at what point is win.com run?  is that not the actual executable that starts windows running from DOS?

your suggestion, Bill, of a background process is very intriguing though, just from a theoretical (fun) perspective.  if it started before windows starts, would it be interrupted?  

i think i will try to write a java program that does a subliminal screen flash every so often just for kicks, and try it...this conversation is really fertilizing my brain, thanks you guys! :)
glow060197Author Commented:
<<<If you really want to start running covert background processes or startup programs, and disallow users from interfering with them, then you have to start employing some System Policies or other Registry modifications to hide or disable options from users.>>>

just how hidden can a process be?  can you hide it from something like WinPatrol even?  just curious.  

how are System Policies set/adjusted?  
Pete LongTechnical ConsultantCommented:
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now