I have a NTFS partition with Windows XP but it has bad sectors and it can't boot.

It's a SATA drive and the Windows CD can't access it because it's missing it's drivers, I don't have a floppy drive so I can't load drivers through there.

I've tried ntfsfix from Linux but it refuses to do anything. Also tried nftsclone with the --rescue option to at least back up the data but it doesn't work either.

How can I run chkdsk in this case?

link|improve this question
feedback

5 Answers

up vote 3 down vote accepted

If you have access to another computer and a CD burner, you can download (legally) a Vista or Windows 7 recovery disk and use this to run CHKDSK. Hopefully Vista or Win 7 would have drivers for your ESATA disk. http://neosmart.net/blog/2008/windows-vista-recovery-disc-download/

link|improve this answer
In the I borrowed a Vista DVD, but among the answers this is easier than building a personalized disk, and since I can still access my Linux partition I wouldn't need to access another computer. – carlosz Oct 1 '10 at 5:33
feedback

Chkdsk may not fix the problem : If the bad sectors are in a file that is required for booting, as your case seems to be. All it will do is flag them as bad, so they will still not be available for boot, in effect destroying your Windows installation.

If you still have access to a functioning computer, see this article:
Install Windows XP on SATA without a Floppy (F6)
which will show you how to integrate the SATA drivers into the Windows boot CD.

One solution is then to Perform a Repair Installation. This will refresh the XP installation without destroying the Windows installation. However, you should be using an XP boot CD that is of the same service-pack level as currently installed. You shouldn't repair, for example, XP SP3 using an XP SP2 boot CD.

If you don't have an XP SP3 boot CD, see how to create it from an older CD in :
How to Slipstream Windows XP Service Pack 3 to Create an Integrated XP Setup Disk with SP 3.

Another solution (and in my opinion the best) is to invest in a commercial disk repair program, which will try to recover the existing contents of the disk, by rereading the bad sectors in various ways, then mapping them to good sectors.

A hard disk with bad sectors can still be resuscitated by using a commercial product such as SpinRite or HDD Regenerator. SpinRite can sometimes work magic, and gives an absolute money-back satisfaction guarantee.

link|improve this answer
feedback

If you have access to a Vista or W7 installation DVD, boot from it and get a command prompt, http://www.bleepingcomputer.com/tutorials/tutorial147.html then run the command:

chkdsk /r C:

Bad sectors does not always mean they are bad, sometimes they are corrupt and chkdsk will attempt to repair them, it it cannot it will mark the sector as bad so it will not be used by the OS.

link|improve this answer
feedback

Personally I would try ntfsresize -fi /dev/sdYZ from the ntfsprogs package under Linux.

link|improve this answer
I fixed it before reading this but will give it a try the next time. – carlosz Oct 1 '10 at 5:38
feedback

If you can't pull the disc and put it in another machine either as a usb drive or a secondary sata drive, you can try booting up using BartPE (windows xp boot disc) and try the built in utilities to access the drive.

link|improve this answer
He can't boot, so can't create a BartPE CD – harrymc Sep 29 '10 at 6:20
2  
Doesn't mean a friend can't build it for him, or maybe he has a second system. – MaQleod Sep 29 '10 at 6:25
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.