Methods are provided for detecting the validity of configuration data and
recovering configuration data in a computer system. A layout of present
configuration data is detected in the computer system. The present
configuration data is stored in a memory device which may be a
non-volatile random access memory ("NVRAM") device. Next, a layout of
updated configuration data for the computer system is detected. The
updated configuration data is stored within program code, such as a BIOS,
which includes an updated configuration for the computer system. Next,
the layout of the present configuration data is compared to the layout of
the updated configuration data in the computer system. If the layout of
the present configuration data matches the layout of the updated
configuration data, then it is determined that the present configuration
data is valid configuration data for the computer system. If the layout
of the present configuration data does not match the layout of the
updated configuration data, then it is determined that the present
configuration data is invalid configuration data and the present
configuration data is either reset to a default state or recovered into
an updated memory location in the NVRAM.