1

Topic: shrinking an existing NTFS partition on laptop resulted in error

I have a laptop(Toshiba Satellite 2410) with 40GB HDD containing one partition running Windows XP with latest service pack.  I am trying to shrink the existing NTFS partition to leave room for a Linux installation.  I'm trying to reduce the NTFS partition to the minimum allowable by GParted to approx 20GB.

I followed the procedure to shrink the partition and GParted reported an error.   I tried several times to successively reduce the free partition but without success.  Could someone help out.

Thanks in advance.


Here's the report of the problem.

GParted 0.3.7

Libparted 1.7.1

Move /dev/hda1 to the left and shrink it from 37.26 GiB to 21.53 GiB  00:03:06    ( ERROR )
        
calibrate /dev/hda1  00:00:00    ( SUCCESS )
        
path: /dev/hda1
start: 63
end: 78140159
size: 78140097 (37.26 GiB)
calculate new size and position of /dev/hda1  00:00:00    ( SUCCESS )
        
requested start: 0
requested end: 45158714
requested size: 45158715 (21.53 GiB)
new start: 63
new end: 45158714
new size: 45158652 (21.53 GiB)
check filesystem on /dev/hda1 for errors and (if possible) fix them  00:00:43    ( SUCCESS )
        
ntfsresize -P -i -f -v /dev/hda1
        
ntfsresize v2.0.0 (libntfs 10:0:0)
Device name : /dev/hda1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 40007729664 bytes (40008 MB)
Current device size: 40007729664 bytes (40008 MB)
Checking for bad sectors ...
Checking filesystem consistency ...
Accounting clusters ...
Space in use : 22009 MB (55.0%)
Collecting resizing constraints ...
Estimating smallest shrunken size supported ...
File feature Last used at By inode
$MFT : 40008 MB 0
Multi-Record : 40008 MB 164964
$MFTMirr : 5002 MB 1
Compressed : 39988 MB 203104
Ordinary : 38767 MB 6345
You might resize at 22008958976 bytes or 22009 MB (freeing 17999 MB).
Please make a test run using both the -n and -s options before real resizing!
shrink filesystem  00:01:34    ( ERROR )
        
run simulation  00:01:34    ( ERROR )
        
ntfsresize -P --force --force /dev/hda1 -s 23121229823 --no-action
        
ntfsresize v2.0.0 (libntfs 10:0:0)
Device name : /dev/hda1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 40007729664 bytes (40008 MB)
Current device size: 40007729664 bytes (40008 MB)
New volume size : 23121224192 bytes (23122 MB)
Checking filesystem consistency ...
Accounting clusters ...
Space in use : 22009 MB (55.0%)
Collecting resizing constraints ...
Needed relocations : 1501572 (6151 MB)
Schedule chkdsk for NTFS consistency check at Windows boot time ...
Resetting $LogFile ... (this might take a while)
Relocating needed data ...
ERROR: Extended record needed (4064 > 1024), not yet supported!
Please try to free less space.
check filesystem on /dev/hda1 for errors and (if possible) fix them  00:00:46    ( SUCCESS )
        
ntfsresize -P -i -f -v /dev/hda1
        
ntfsresize v2.0.0 (libntfs 10:0:0)
Device name : /dev/hda1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 40007729664 bytes (40008 MB)
Current device size: 40007729664 bytes (40008 MB)
Checking for bad sectors ...
Checking filesystem consistency ...
Accounting clusters ...
Space in use : 22009 MB (55.0%)
Collecting resizing constraints ...
Estimating smallest shrunken size supported ...
File feature Last used at By inode
$MFT : 40008 MB 0
Multi-Record : 40008 MB 164964
$MFTMirr : 5002 MB 1
Compressed : 39988 MB 203104
Ordinary : 38767 MB 6345
You might resize at 22008958976 bytes or 22009 MB (freeing 17999 MB).
Please make a test run using both the -n and -s options before real resizing!
grow filesystem to fill the partition  00:00:03    ( SUCCESS )
        
run simulation  00:00:03    ( SUCCESS )
        
ntfsresize -P --force --force /dev/hda1 --no-action
        
ntfsresize v2.0.0 (libntfs 10:0:0)
Device name : /dev/hda1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 40007729664 bytes (40008 MB)
Current device size: 40007729664 bytes (40008 MB)
New volume size : 40007725568 bytes (40008 MB)
Nothing to do: NTFS volume size is already OK.
real resize  00:00:00    ( SUCCESS )
        
ntfsresize -P --force --force /dev/hda1
        
ntfsresize v2.0.0 (libntfs 10:0:0)
Device name : /dev/hda1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 40007729664 bytes (40008 MB)
Current device size: 40007729664 bytes (40008 MB)
New volume size : 40007725568 bytes (40008 MB)
Nothing to do: NTFS volume size is already OK.



Here another report associated with another attempt:



GParted 0.3.7

Libparted 1.7.1

Move /dev/hda1 to the left and shrink it from 37.26 GiB to 22.28 GiB  00:02:21    ( ERROR )
        
calibrate /dev/hda1  00:00:01    ( SUCCESS )
        
path: /dev/hda1
start: 63
end: 78140159
size: 78140097 (37.26 GiB)
calculate new size and position of /dev/hda1  00:00:00    ( SUCCESS )
        
requested start: 0
requested end: 46733084
requested size: 46733085 (22.28 GiB)
new start: 63
new end: 46733084
new size: 46733022 (22.28 GiB)
check filesystem on /dev/hda1 for errors and (if possible) fix them  00:00:45    ( SUCCESS )
        
ntfsresize -P -i -f -v /dev/hda1
        
ntfsresize v2.0.0 (libntfs 10:0:0)
Device name : /dev/hda1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 40007729664 bytes (40008 MB)
Current device size: 40007729664 bytes (40008 MB)
Checking for bad sectors ...
Checking filesystem consistency ...
Accounting clusters ...
Space in use : 22009 MB (55.0%)
Collecting resizing constraints ...
Estimating smallest shrunken size supported ...
File feature Last used at By inode
$MFT : 40008 MB 0
Multi-Record : 40008 MB 164964
$MFTMirr : 5002 MB 1
Compressed : 39988 MB 203104
Ordinary : 38767 MB 6345
You might resize at 22008958976 bytes or 22009 MB (freeing 17999 MB).
Please make a test run using both the -n and -s options before real resizing!
shrink filesystem  00:00:49    ( ERROR )
        
run simulation  00:00:49    ( ERROR )
        
ntfsresize -P --force --force /dev/hda1 -s 23927307263 --no-action
        
ntfsresize v2.0.0 (libntfs 10:0:0)
Device name : /dev/hda1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 40007729664 bytes (40008 MB)
Current device size: 40007729664 bytes (40008 MB)
New volume size : 23927300608 bytes (23928 MB)
Checking filesystem consistency ...
Accounting clusters ...
Space in use : 22009 MB (55.0%)
Collecting resizing constraints ...
Needed relocations : 1434865 (5878 MB)
Schedule chkdsk for NTFS consistency check at Windows boot time ...
Resetting $LogFile ... (this might take a while)
Relocating needed data ...
ERROR: Extended record needed (1032 > 1024), not yet supported!
Please try to free less space.
check filesystem on /dev/hda1 for errors and (if possible) fix them  00:00:44    ( SUCCESS )
        
ntfsresize -P -i -f -v /dev/hda1
        
ntfsresize v2.0.0 (libntfs 10:0:0)
Device name : /dev/hda1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 40007729664 bytes (40008 MB)
Current device size: 40007729664 bytes (40008 MB)
Checking for bad sectors ...
Checking filesystem consistency ...
Accounting clusters ...
Space in use : 22009 MB (55.0%)
Collecting resizing constraints ...
Estimating smallest shrunken size supported ...
File feature Last used at By inode
$MFT : 40008 MB 0
Multi-Record : 40008 MB 164964
$MFTMirr : 5002 MB 1
Compressed : 39988 MB 203104
Ordinary : 38767 MB 6345
You might resize at 22008958976 bytes or 22009 MB (freeing 17999 MB).
Please make a test run using both the -n and -s options before real resizing!
grow filesystem to fill the partition  00:00:02    ( SUCCESS )
        
run simulation  00:00:02    ( SUCCESS )
        
ntfsresize -P --force --force /dev/hda1 --no-action
        
ntfsresize v2.0.0 (libntfs 10:0:0)
Device name : /dev/hda1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 40007729664 bytes (40008 MB)
Current device size: 40007729664 bytes (40008 MB)
New volume size : 40007725568 bytes (40008 MB)
Nothing to do: NTFS volume size is already OK.
real resize  00:00:00    ( SUCCESS )
        
ntfsresize -P --force --force /dev/hda1
        
ntfsresize v2.0.0 (libntfs 10:0:0)
Device name : /dev/hda1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 40007729664 bytes (40008 MB)
Current device size: 40007729664 bytes (40008 MB)
New volume size : 40007725568 bytes (40008 MB)
Nothing to do: NTFS volume size is already OK.

2

Re: shrinking an existing NTFS partition on laptop resulted in error

You can try with the latest version too. Newer versions usually solve previous problems.

It seems that this comes from ntfsresize, the 3rd party tool that performs resizing operations on the ntfs filesystem. According to the ntfsresize forum,

It happened because all the below conditions were met

1) having a large compresssed file
2) the windows ntfs driver allocated the disk space very inefficiently
3) unlucky size choice for resizing

You can try to defragment the ntfs partition 1 or 2 times, rebooting the computer each time.

Try to disable the windows page file (virtual memory), any automatically running software.
Run chkdsk /f from the command line, or better under safe mode.
Run chkdsk /p from the recovery console, and retry.

Resizing could work also by choosing another resizing amount.

*** It is highly recommended to backup any important files before doing resize/move operations. ***

3

Re: shrinking an existing NTFS partition on laptop resulted in error

class413 wrote:

You can try with the latest version too. Newer versions usually solve previous problems.

It seems that this comes from ntfsresize, the 3rd party tool that performs resizing operations on the ntfs filesystem. According to the ntfsresize forum,

It happened because all the below conditions were met

1) having a large compresssed file
2) the windows ntfs driver allocated the disk space very inefficiently
3) unlucky size choice for resizing

You can try to defragment the ntfs partition 1 or 2 times, rebooting the computer each time.

Try to disable the windows page file (virtual memory), any automatically running software.
Run chkdsk /f from the command line, or better under safe mode.
Run chkdsk /p from the recovery console, and retry.

Resizing could work also by choosing another resizing amount.

All files were uncompressed in my NTFS partition.  I've uncompressed all files that I could.  ran a checkdisk on the partition. dowloaded the latest LiveCD of Gparted.  Tried the same procedure to shrink the NTFS partition and gparted indicated that the process was unsuccessful.  Does anyone have another suggestion as to what to do? The following is the gparted report:


GParted 0.3.9

Libparted 1.8.8

Shrink /dev/hda1 from 37.26 GiB to 20.79 GiB  00:06:01    ( ERROR )
        
calibrate /dev/hda1  00:00:01    ( SUCCESS )
        
path: /dev/hda1
start: 63
end: 78140159
size: 78140097 (37.26 GiB)
calculate new size and position of /dev/hda1  00:00:00    ( SUCCESS )
        
requested start: 63
requested end: 43600409
requested size: 43600347 (20.79 GiB)
new start: 63
new end: 43600409
new size: 43600347 (20.79 GiB)
check filesystem on /dev/hda1 for errors and (if possible) fix them  00:01:15    ( SUCCESS )
        
ntfsresize -P -i -f -v /dev/hda1
        
ntfsresize v2.0.0 (libntfs 10:0:0)
Device name : /dev/hda1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 40007729664 bytes (40008 MB)
Current device size: 40007729664 bytes (40008 MB)
Checking for bad sectors ...
Checking filesystem consistency ...
Accounting clusters ...
Space in use : 21875 MB (54.7%)
Collecting resizing constraints ...
Estimating smallest shrunken size supported ...
File feature Last used at By inode
$MFT : 40008 MB 0
Multi-Record : 39993 MB 16517
$MFTMirr : 5002 MB 1
Compressed : 26269 MB 148995
Ordinary : 39497 MB 207009
You might resize at 21874307072 bytes or 21875 MB (freeing 18133 MB).
Please make a test run using both the -n and -s options before real resizing!
shrink filesystem  00:03:30    ( ERROR )
        
run simulation  00:03:30    ( ERROR )
        
ntfsresize -P --force --force /dev/hda1 -s 22323377663 --no-action
        
ntfsresize v2.0.0 (libntfs 10:0:0)
Device name : /dev/hda1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 40007729664 bytes (40008 MB)
Current device size: 40007729664 bytes (40008 MB)
New volume size : 22323372544 bytes (22324 MB)
Checking filesystem consistency ...
Accounting clusters ...
Space in use : 21875 MB (54.7%)
Collecting resizing constraints ...
Needed relocations : 1095504 (4488 MB)
Schedule chkdsk for NTFS consistency check at Windows boot time ...
Resetting $LogFile ... (this might take a while)
Relocating needed data ...
ERROR: Extended record needed (4776 > 1024), not yet supported!
Please try to free less space.
check filesystem on /dev/hda1 for errors and (if possible) fix them  00:01:14    ( SUCCESS )
        
ntfsresize -P -i -f -v /dev/hda1
        
ntfsresize v2.0.0 (libntfs 10:0:0)
Device name : /dev/hda1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 40007729664 bytes (40008 MB)
Current device size: 40007729664 bytes (40008 MB)
Checking for bad sectors ...
Checking filesystem consistency ...
Accounting clusters ...
Space in use : 21875 MB (54.7%)
Collecting resizing constraints ...
Estimating smallest shrunken size supported ...
File feature Last used at By inode
$MFT : 40008 MB 0
Multi-Record : 39993 MB 16517
$MFTMirr : 5002 MB 1
Compressed : 26269 MB 148995
Ordinary : 39497 MB 207009
You might resize at 21874307072 bytes or 21875 MB (freeing 18133 MB).
Please make a test run using both the -n and -s options before real resizing!
grow filesystem to fill the partition  00:00:01    ( SUCCESS )
        
run simulation  00:00:01    ( SUCCESS )
        
ntfsresize -P --force --force /dev/hda1 --no-action
        
ntfsresize v2.0.0 (libntfs 10:0:0)
Device name : /dev/hda1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 40007729664 bytes (40008 MB)
Current device size: 40007729664 bytes (40008 MB)
New volume size : 40007725568 bytes (40008 MB)
Nothing to do: NTFS volume size is already OK.
real resize  00:00:00    ( SUCCESS )
        
ntfsresize -P --force --force /dev/hda1
        
ntfsresize v2.0.0 (libntfs 10:0:0)
Device name : /dev/hda1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 40007729664 bytes (40008 MB)
Current device size: 40007729664 bytes (40008 MB)
New volume size : 40007725568 bytes (40008 MB)
Nothing to do: NTFS volume size is already OK.

========================================

4 (edited by gedakc 2008-10-05 21:38:05)

Re: shrinking an existing NTFS partition on laptop resulted in error

As class413 mentioned earlier, you might also try resizing to free up a smaller amount of space.

5

Re: shrinking an existing NTFS partition on laptop resulted in error

Hi!

Your error log says

run simulation  00:03:30    ( ERROR )
[...]
ntfsresize v2.0.0 (libntfs 10:0:0)
[...]
ERROR: Extended record needed (4776 > 1024), not yet supported!
Please try to free less space.

So you shoud try not rto reduce the file system to the absolute minimum in the first step, but reduce it step by step - first down to 30 GByte, then boot Windows, run chkdsk and defrag, and then shrink the partition further.
However, it it not so wise to reduce the NTFS partition to the absolute minimum: This would leave Windows no space to "breathe" while running, so your Windows system could become unusable (you might even be unable to properly deinstall some of your software packages since there could be no space left on the drive for temporary files created by the uninstaller).