Help
Desk
In this
section I will present a series
of ongoing articles addressing a number of computer problems. The
first of these involves a PC that will not boot.
Here
we might look at issues such as problems with files, configuration
changes and the addition of new hardware. Ask yourself the question
"what has changed?" Of course, we also have to consider
such hardware related problems such as:
- A
boot drive or the drive's controller malfunctioning.
- Whether
the CPU or some other vital circuitry is failing.
For one
to understand problems related to the boot process you need to understand
the steps involved, as well as how the BOOT.INI file controls
this process in an NT based system.
The first
step in your boot sequence is what is termed POST. Various tests are
performed by your computer's BIOS and CMOS is read into memory, that
is your configuration settings.
After
this first step, your actual boot sequence will vary according to
the operating system being run. So, I will go through Windows XP Home
Edition, Windows 2000 Professional and Server. I will shortly post
an article looking at the sequence in Windows 98 and Dos.
We'll
start with XP and Windows 2000. After POST NTLDR is loaded,
it then reads the BOOT.INI file to find out where the boot
partition is and whether there is a multi-boot configuration. Should
there be none, NTDETECT.COM immediately starts. Otherwise,
a boot menu is displayed, after which NTDETECT.COM activates
and detects the system's hardware. However, if there is an entry for
a non-NT OS, NTLDR passes control to the boot sector for that OS.
NTDETECT.COM
builds
the hardware tree of your registry and finds the following:
- your
machine's ID byte
- It's
bus type
- video
board
- keyboard
type
- in
Windows 2000 the serial ports attached to your computer
- any
powered ports on the PC
- floppy
drives on the computer
- a
mouse if present
At this
point, the NT kernel (NTOSKRNL.EXE) loads along with the hardware
abstraction layer (HAL). It's at this point that the control set that
is used to control system configuration is loaded, as well as low
level device drivers and disk drivers. The above can be referred to
as the actual kernel loading phase.
Now comes
the kernel initialization phase. At this point, additional drivers
and services are now loaded. In Windows 2000, which is basically identical
in bootup, begins to show its GUI with a blue screen at this point
followed by a progress box. This point can now be referred to as the
kernel initialization phase, as various services begin to start.
The last
phase of the kernel sequence is the loading of the WIN32 subsystem
(WIN32K.SYS) and the session manager (SMSS.EXE). With
the loading of WIN32K.SYS XP switches from text mode to graphics
mode. You now have the loading of the logon manager (WINLOGON.EXE).
This
file now checks the registry for the services to start. The key is
MICROSOFT\WINDOWSNT\CURRENT VERSION\WINLOGIN.
The logon
manager now starts the SCM; SERVICES.EXE, the load security
authority process (ISASS.EXE) and displays the welcome screen
and logon to Windows dialog box.
I have
now described the boot process of these operating systems which should
give you some idea of the files involved and their point of execution.
Still, the best prevention of a boot failure is before the problem
occurs. Aside from backups, one should immediately prepare for boot
problems before they occur.
In Windows
98 we should immediately make a boot disk. There might be various
other files we might add to enhance the basic disk made for us by
the operating system. For example, we might include an editor to work
with. Also, many other disk utilities might be included. Remember,
we're normally not restricted to a basic A: drive today, as most computers
have the ability to boot from CD.
Looking
at Windows 2000, the first thing we should do is create our ERD and
then update it periodically. Next, we should create our boot disk.
To do so we will have to change the attributes on a few files.
- Format
your floppy or CD as bootable.
- Now
we must copy the following files over NTLDR, NTDETECT.COM,
NTBOOTDD.SYS (if you use SCSI controllers with the BIOS disabled),
BOOT.INI. To do so, we must change their attributes such
as ATTRIB NTLDR -S -H -R for each and then change back as
so ATTRIB NTLDR -S -H -R. Note: To make this boot disk in
XP the procedure is the same.
While
I don't have the space to go into every conceivable boot error message,
these should be found in a book on these OS, I will mention a few,
gloss over safe mode, recovery console, etc.
For Windows
2000 users if you get the message "NTLDR is missing or corrupt"
don't panic. The problem may not be with this file at all. Look first
toward your BOOT.INI. Actually, here is a great time to have
made a copy of your BOOT.INI. Initially check if it is pointing
to the proper partition, whether any values are missing or invalid.
In XP
the above may produce such error messages as "...the following
file is missing or corrupt: <WINDOWSROOT>\SYSTEM32\HAL.DLL.
Please reinstall a copy of the above file". Also, trouble
with BOOT.INI might produce "the following file is missing
or corrupt: <WINNT_ROOT>\SYSTEM32\NTOSKRNL.EXE.
The next
step in getting a non-bootable computer up is to look into safe mode.
Use the F8 key at the appropriate time to access its menu and attempt
to boot with various services. It's purpose is to simplify your configuration
as much as possible. For example, if you install a new driver for
your video card and it causes major havoc, a way to remove it would
be to boot into safe mode with VGA enabled and use device manager
to remove it, then restore old.
On XP
you can boot into safe mode to set a password on the administrator's
account.
If both
the above fail to solve your problem, you may have the option of system
recovery through WIN 2000 recovery console, which if not used properly
causes even more damage and system restore in XP. Note: The recovery
console must be installed and on some XP OEM CD's is not available.
©November
2003 Paul J. Twardy, Office Overload Rescuers
Archived
Articles: 1 2