Search code examples
windowswindows-xp

Windows XP issue (MSConfig, BIOS, and DOS may be involved)


Here is my issue. Me, being the spoon I am, decided to use MSConfig to get windows to always boot to safe mode, because I was having issues with the windows activation protocall. I had also checked the alternate shell option along with SAFEBOOT. Now, since my copy of windows isn't activated yet, if won't let me log on period. I can't get back to MSConfig now. Is there a way to revert these changes?


Solution

  • The change that MSConfig applied is likely by adding the /SAFEBOOT argument into the boot.ini file on the boot drive as an argument to the kernel.

    Fortunately, because it is Windows XP, this is a text file, and to change it you just need to be able to get to it.

    The first option is to boot from a Windows XP Installation CD and use the Recovery Console. From the recovery console, it should be possible to navigate to where the boot.ini file lives (which is likely in the root of the first partition), and type the contents to confirm the issue. If you put a USB stick into the machine before booting, you should be able to copy the boot.ini onto the USB stick, edit the file with another computer, then copy it back over the original.

    An alternative is to use one of a variety of Linux boot CDs or live CDs (or bootable USB sticks). This should allow you to boot to a Linux command prompt or desktop, at which point you can mount the NTFS boot partition from the hard drive, and use a text editor from the Linux environment to edit the file. Exactly how you go about doing each of these steps will vary slightly from Linux distribution to Linux distribution based on what tools they come with. Something such as OpenSUSE or Debian is likely to have all the tools needed.

    A final option is to remove the hard drive from this machine, and attach it to another machine as a second drive (or using a USB hard drive adapter). The second machine will then be able to see the partitions on the drive, and you can use a text editor to get the boot.ini file.

    Once you are able to edit the boot.ini file, you probably want to copy the entry in the [Operating Systems] section onto another line, then edit it to remove the /SAFEBOOT option.

    For example, change:

    [operating systems] 
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional" /fastdetect /SAFEBOOT
    

    ... to ...

    [operating systems] 
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional" /fastdetect /SAFEBOOT
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional Normal" /fastdetect 
    

    Once you have done this, boot into XP again, and you should get an option during boot to select one of the two options, either the previous SAFEBOOT option, or the normal boot.

    Hope this helps