During bootup

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

During boot-up the registry is checked to see if its OK. What is the name of
the utility that checks the registry?
 
b11_ said:
During boot-up the registry is checked to see if its OK. What is the name
of
the utility that checks the registry?


I don't believe any utility checks the Registry at bootup. As Vista boots,
the kernel reads in the registry via direct File I/O of the
C:\Windows\System32\config directory. Once the kernel's Object Manager is
operational, I think the Kernel switches to using Registry APIs (ie, the
kernel mode analogues of RegOpenKey(), etc) instead of direct File I/O. The
first user-mode process is the Session Manager, smss.exe. This reads in
HKLM\System\CurrentControlSet\Control\Session Manager, then kicks off other
operations, as configured.

If the Registry is corrupt and/or unreadable, the kernel and Session Manager
will throw up an error message (or possibly, a Blue Screen). But this is via
normal exception handling; there's no special consistency checker routines
(as far as I know).

You may be thinking of autochk? This is a small utility program which runs
CHKDSK when the system boots if the "dirty bit" is set (file system was not
shut down cleanly). Autochk does not contain any disk checking logic of its
own; it's just a thin shim, to launch CHKDSK early in the boot process.
CHKDSK does the actual work. It only checks that the File System is OK.
Neither autochk or CHKDSK do any internal verification of the Registry.

Hope it helps,
 
b11_ said:
During boot-up the registry is checked to see if its OK. What is the name
of
the utility that checks the registry?

If there was something that checked the registry, why did you want to know
what it was, just out of interest?

ss.
 
During W98 booting, Scanreg checks the registry. Even after reaching the
desktop, Scanreg could be run to check the registry.
I know that during Wxp booting, an error message will appear on the screen
if the registry is bad.
I assumed that a Scanreg-like utility would run during Vista booting.
__________________________________________________________________
 
b11_ said:
During W98 booting, Scanreg checks the registry. Even after reaching the
desktop, Scanreg could be run to check the registry.
I know that during Wxp booting, an error message will appear on the screen
if the registry is bad.
I assumed that a Scanreg-like utility would run during Vista booting.

There is no Scanreg on Windows NT (including NT, 2000, XP, Server 2003 and
Vista). In Windows 9x, the registry existed as files on a fragile file
system (FAT), with no built-in logging or automatic backup of the registry.
After the initial release of Windows 95, registry corruption generated a lot
of support calls to PSS. So Microsoft added a utility to Windows 98 in an
attempt to guard against damage to the registry.

NT automatically keeps a backed up copy of the Registry as the *.SAV files
in %windir%\System32\Config, usually on NTFS; and you can select a "Last
Known Good" config during an F8 Boot. NT also implements logging of registry
changes, making it considerably more robust that the flimsy Windows 9x
registry. In Vista, the logging has been extended to take advantage of
transactional management in the kernel.

Windows 9x and Windows NT share similarities in the user interface, and
Win32 API level. But when you look at how the kernel works, you can see that
they are radically different operating systems. It is not safe to assume
anything much about how NT works, based on the mechanisms from Windows 9x.

I highly recommend reading the book by Solomon and Russinovich "Windows
Internals", Fourth Edition (ISBN 978-0735619173). This very enjoyable and
authoratative book explains, in great technical detail, many of the Windows
questions and issues you are asking about. It is an essential reference for
anyone interested in Windows' inner workings.
 
Thanks for the info.

If one were to run Scanreg.exe under Wxp, do you think that it would find
the Wxp registry?
_____________________________________________________________________
 
b11_ said:
If one were to run Scanreg.exe under Wxp, do you think that it would find
the Wxp registry?

Scanreg will probably load, but it would not be able to do anything useful
with the XP/Vista Registry.

A Win32 application can manipulate the Windows 9x registry and the XP
Registry in the same way, by calling Win32 Registry APIs like RegOpenKey()
and RegCloseKey(), exported by Advapi.DLL. These APIs are all documented in
MSDN, and are largely the same on Windows 9x and XP/Vista. So it's possible
(not guaranteed, but possible) a registry utility could work on both Windows
9x and XP/Vista.

However, if you look at the scanreg.exe file, you wil see that it is NOT a
Win32 executable. It is in fact, a 16-bit MS-DOS application. Which makes
sense, because scanreg.exe needs to run very early in the Windows 98 boot
process, before the system has flipped over into full Windows mode. So, it
cannot acess the Reg*() functions in advapi.dll. I'm not sure exactly how
scanreg works internally, but I'd guess it grovels the specific file
structures of the Windows 98 registry files. Since the physical layout of
the registry files on XP and Vista is different to the layout on Windows 98,
I'd exact that scandisk will run, but it will report errors in the registry.

And, this is trivially easy to verify - copy scanreg.exe from a Windows 98
machine to an XP machine, and then run it! It will start up and give the
"Press Enter to continue" dialgue. If you press enter, it immediately comes
back and says "Registry Repair results: Windows found an error in your
system files and was unable to fix teh problem". Which is just as well, if
it did attempt to "repair" the XP registry it would undoubtedly scramble it
badly!.

The key point is: the Windows 9x registry is fairly compatible with the
Vista Registry, if you access them via the Registry APIs. If you access the
registry in any other way, they will be very incompatible.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top