Ubuntu – How to resize NTFS partition in GParted

gpartedinstallationntfs

My family PC has Windows Vista and lately it has became unusable, having strange errors and taking hours to do anything at all, so I'm installing Ubuntu 11.10 alongside it. I went into GParted to resize the Vista partition but found that it had an exclamation point in a red circle next to it:
GParted

I tried to resize it but the Resize/Move button was grayed out. I thought that this might have to do with the exclamation point so I looked at the information and found a load of errors:
GParted

What does the exclamation point mean? How can I resize my partition?

UPDATE 1

I booted into Safe Mode with Command Prompt in Vista as suggested by eug and ranchkdsk c: /F /R (/F Fixed errors on the disk, /R Locates bad sectors and recovers readable information) and got:

Chkdsk cannot run because the volume is in use by another process.  Would you like to schedule this volume to be checked the next time the system restarts? (Y/)

When I reboot it doesn't run chkdsk, I'm selecting Safe Mode with Command Prompt again because I can't boot normally. How can I stop it being used?

UPDATE 2

I tried doing what Luis suggested. Here is the terminal output:

ubuntu@ubuntu:~$ sudo ntfsfix /dev/sda3
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
NTFS volume version is 3.1.
NTFS partition /dev/sda3 was processed successfully.
ubuntu@ubuntu:~$ sudo apt-get install ntfsprogs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'ntfs-3g' instead of 'ntfsprogs'
ntfs-3g is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

I still cannot resize the partition. Ntfsfix doesn't look like it did anything and ntfsprogs is already installed. I can access the hard drive and do backups with the Ubuntu Live CD which I'm using now. Any other suggestions?

UPDATE 3

I attempted to use the ntfsresize command but I got an error:

ERROR: Volume is scheduled for check.
Run chkdsk /f and please try again, or see option -f.

This is because I ran chkdsk in Vista Safe Mode with Command Prompt and it couldn't do it because it was in use but offered to do it at the next reboot. I reboot and I get to the menu to the menu to choose whether to Start Windows Normally, Safe Mode, etc instead of checking the disk. Is there any way I can unschedule?

EDIT

I just found out that I could use the -f option to force it. It failed and told me to run chkdsk /f in Windows and then reboot twice. But the chkdsk program is in the partition I am trying to check so it says it is in use.

Best Answer

I turned on the PC and didn't realize it didn't have the Ubuntu CD in so it tried to boot into Windows. When I came back to it I realized it had started running chkdsk, because before I couldn't boot into safe mode I scheduled it to run chkdsk. After it completed the Vista partition no longer had an exclamation mark next to it and I am able to shrink it. It's currently shrinking now and its been on the real resize stage for a while but apparently it's normal if it takes a long time. (Extra info: I did cancel it because I didn't think anything was happening but it messed up the partition. Somehow chkdsk was scheduled again so I was able to resize it again. I'll be sure not to cancel it this time.)

So if anyone else has this problem, run chkdsk /r at Safe Mode with Command Prompt, or the recovery console if you have it (I don't).