The other day I was trying to get an unattended Windows XP CD to work in a virtual machine, but by mistake I ran it on my physical PC. I thought I cancelled it in time, before it had a chance to do any damage to my Windows installation, and I was able to continue using the PC as usual.
But when I rebooted my PC today it displayed the following error:
INF file txtsetup.sif is corrupt or missing, status 14.
Setup cannot continue. Press any key to exit.
I rebooted a couple of times and tried to hit F8 to get to a boot menu, but no luck. Normally if you time it right, hitting F8 before Windows XP starts loading will let you select Last Known Good Configuration or Safe Mode.
I booted from an XP installation CD and tried to get to the Microsoft Windows Recovery Console, but it simply said that it could not detect any hard disks and the only option was to press F3 to restart. That recovery console really sucks.
Next I tried the trusty Ubuntu live CD. For some reason it wouldnt boot into the normal Ubuntu, the graphics would go haywire, so I booted into the safe graphics mode. With Ubuntu I was able to see the Windows XP partitions and verified that all the files were there.
I did notice that the aborted XP installation had managed to add a line in BOOT.INI on the primary partition so I realise the boot files had been overwritten. With Ubuntu its easy to edit it, but rebooting into XP still gave the same “txtsetup.sif is corrupt or missing” error.
Next I tried a Windows 98 boot CD, but it couldnt see the NTFS partition with the XP installation.
I was about to try an fdisk /mbr but decided to try one more option with Ubuntu.
Heres what worked…
If you dont already have a Ubuntu live CD, download and burn one.
Download an Ubuntu ISO.
Use a CD ROM burning application like CDBurnerXP to burn the ISO to a DVD.
On a working Windows XP PC, copy BOOT.INI, ntldr and NTDETECT.COM from the C: drive to a USB stick.
If you dont see these files in your C: drive then start Windows Explorer. In the Tools menu, click Folder Options. Click the View tabb. Click to select “Show hidden files and folders” is selected, and remove the check from “Hide protected operating system files”.
Now copy the three files to an easily recognisable folder on your USB stick, if your stick is drive H:, copy the files into H:\Recover
Boot Ubuntu on the crashed PC. Boot into safe graphics mode.
Insert the USB stick. Ubuntu should recognize it.
Now copy those three files from the USB stick to your disk.
Reboot and hopefully your Windows XP is running again.
You may get warnings that some files are the wrong version.
I still have a feeling that booting from a Win98 CD and running fdisk /mbr from a DOS prompt work also have worked, but I’m not going to try it until the next time I get the same error.
If your PC has a floppy drive, you could make a boot floppy.
Insert a blank floppy disk into drive A:
Select Start > All Programs > Accessories > Command Prompt (or just press Windows Key+R and type CMD<code>).
Type <code>format a: and press Enter.
xcopy c:\boot.ini a: /h
xcopy c:\ntdetect.com a: /h
xcopy c:\ntldr a: /h
exit
The window will close when you type exit. Now remove the floppy disk and label it “Windows XP Boot Floppy”
Put this in your corrupted PC and boot up.
If you are luck, Windows should start.
Now open a Command Prompt and enter the following commands to overwrite your corrupted boot files with the files from the floppy.
xcopy a:\*.* c:\ /h
If you were able to get to a Recovery Console from your Windows XP CD, you ould try the following commands. Try one, reboot without the CD to see if it worked, then try the next.
fixmbr
fixboot
The diskpart command runs a tool that lets you play with your partitions. Recommended only for those who know what they are doing.