3
1
I have two hard drives. The goal is to move the data from drive B to drive A so I can re-purpose drive B.
TL;DR section at bottom. Read all of it for the details.
Drive A contains Windows 7. Windows is located at the start of the drive on a partition which only uses 1/3 of the drive's space. All good so far. (History: There were two partitions on drive A, and windows was NOT the first one, but I already used gParted to sucessfully delete the partition at the start of the drive, and then move the windows partition to the start of the drive. gParted did not tell me about any bad sectors, and all was well. I was able to boot windows 7 after it was moved to the start of drive A, and all is fine.)
Drive B contains an NTFS partition containing all of my user data. I thought gParted would be the perfect tool to use. But when I tell it to copy the NTFS partition from drive B to the unallocated space on drive A, it fails, telling me that there are bad clusters (sectors?) on drive B, so it must be recovered using "ntfsclone --rescue". (Windows however thinks drive B is completely fine.)
This is strange because I've never seen any signs of drive B going bad, but whatever, I'll just use the gParted command line to copy the data over.
Using the gParted command line, I could not figure out how to point the ntfsclone program at the unallocated space at the end of Drive A, so as a workaround, I used gParted to create an empty NTFS partition at the end of Drive A (which fills the unallocated space), and then I used ntfsclone to copy Drive B's data partition to /dev/sda2 (the newly created empty partition) in OVERWRITE mode. I ensured that the destination partition (on drive A) was larger than the source partition (on drive B).
OK, so it copied it over, all good. I booted into windows, assigned a drive letter to the new data partition, and everything works. The only problem is that windows won't let me use all of the hard drive space. It says the new data partition is the size of the original data partition. (navigating explorer to "Computer" says "87.0 GB free of 372 GB".)
Going into the Disk Management admin tool that comes with windows, one part shows the drive as being the smaller size (size of the source data partition that was copied) and another part of the snapin shows the drive as being the larger size (the size of the empty ntfs partition on drive A that I created solely for overwriting by ntfsclone). See attached screenshot
So I tried the partition resize functionality offered by the windows disk management snapin. After "Querying volume for available shrink space" (which takes much longer than it has in the past), it says there is lots of space that can be reclaimed by shrinking the partition, but when I tell it to do it, it errors out with the message "The parameter is incorrect".
I've searched for ntfs repair tools, found this: NTFS Partition Repair - Recommendations One of the tools doesn't actually fix the partitions, it only recovers data to a new location. The other tool is incomprehensible, it just lets you edit partition table numbers directly. And then there's test disk, which I couldn't figure out how to use to fix this issue. And gParted won't touch it because it says there are bad clusters on Drive A (which is interesting because it didn't say any such thing about Drive A before I copied drive B's data to drive A. I personally think there isn't any issue with the hard drive itself, it seems that when the data was copied over, whatever data was making gParted think there were bad sectors was also copied over, causing gParted to think the new location also has bad sectors (this is my theory)). I tried chkdsk, it didn't fix it either.
Now to my question: a) How to fix NTFS so that it lets me use all of the disk space. or b) How to copy the data from drive B to the unallocated space on drive A using ntfsclone and NOT using overwrite mode. (Overwrite mode put me into this mess with the wrong NTFS size).
AND: c) how to know if gParted is wrong about thinking there are bad sectors? And if the hard drive is fine, how to "fix" the bad sectors (ie make gParted realize there are no bad sectors).
Yes I've run chkdsk on all of the drives, it doesn't fix any of the issues.
NOTE: There is no risk of data loss. I've got it all backed up to a different computer. I'm not trying to recover data. The data is fine. Summarizing, I'm just having issues with gParted saying the sectors are bad (and therefore refusing to do anything) and with getting hard drive A to let me use all of the available space after having copied the data using the command line program "ntfsclone" in overwrite mode.
TL;DR: I used ntfsclone to overwrite a smaller ntfs partition on top of a larger one. Now, windows won't let me use the full capacity of the drive. How do I fix this?
Also, gParted is telling me sectors are bad but I'm convinced it's wrong. Any way around it?
Hmm, suppose I could just delete the new data partition, make a new very small ntfs partition in its place, then use ntfsclone to re-copy the original data partition from drive B over the top of the smaller partition. This would fix everything. But I'm still convinced gParted is wrong when it reports bad sectors, I would still like to know if there is a way around it. – Eddified – 2012-12-02T00:59:56.503