Cara eu uso um programa aki, entra no google e procura BootIT.
Faça um backup do seus dados antes, eu nunca perdi nada mas vai saber né.
Entre no seu windows faça o download do programa para floppy (tem um pra cd mas nem vale a pena)
Desconpacte, vai encontrar um programa que irá criar um diquete com boot, crie o disquete.
De o boot pelo flopp, ele vai perguntar se vc quer instalar o bootng (ou bootit) clique em cancelar.
Vai aparecer uma tela, nela clique em Utils->backup (ou algo do tipo), marque a opção HD0 e caso tenha mais de 1 hd marque os outros também, de OK.
Abra a janelinha do disquete pra que ele fique somente como leitura (só por desencargo de conciência) insira o disquete denovo.
Clique em Partition Work.
Na nova tela selecione o disco que vc deseja reduzir de tamanho.
Clique em Resize (do lado direito da tela)
Diminua até ficar com o tamanho que você quer.
Clique em continue "ESPERE TERMINAR TODO O PROCESSO, NÃO PARE O PROCESSO NO MEIO"
Agora vc tem xxGb livres, mas ainda não redimencionou sua partiçao Windows.
Note que o espaço livre deve estar exatamente abaixo da sua partição Windows, veja dois exemplos:
****EXEMPLO 1
PARTICAO 1 40GB NTFS
PARTICAO 2 80GB LINUX
PARTICAO 3 512MB LINUX-SWAP
FREE SPACE 40 GB
No exemplo 1 você não vai conseguir redimencionar sua partição Windows, ainda assim poderá criar uma nova partição, mas a idéia é aumentar a partição Windows, então vamos ao exemplo 2. Se suas parições estiverem parecidas com esta, tenha calma vamos chegar lá.
****EXEMPLO 2
PARTICAO 1 40GB NTFS
FREE SPACE 40GB
PARTICAO 2 80GB LINUX
PARTICAO 3 512MB LINUX-SWAP
Haha, perfeito ta tudo certo, pule o passo WINRESIZE, CASO CONTRÁRIO VA PARA O PASSO SLIDEPARTITION
WINRESIZE
Selecione sua partição Windows, clique em Resize.
Aumente o valor até chegar no tamanho que vc quer.
Cliquem em continue "ESPERE TERMINAR TODO O PROCESSO, NÃO PARE O PROCESSO NO MEIO"
Quando terminar clique em Close, remova o disque e seja feliz.
SLIDEPARTITION
Selecione o espaço livre.
Clique em Slide
Uma tela irá aparecer, nela vc terá um After e um Begin, bem aqui vc deve definir de forma que o espaço livre fique em baixo da partição que vc deseja aumentar, mude os valores colocando td o espaço livre no After ou no Begin.
Feito isto vai para o passo de WINRESIZE.
Se der errado...
Lembra do backup do disquete ? Pois é, basta restaurá-lo, para isto:
Clique em Utils->Restore e pronto.
Eu escrevi isto de cabeça talves os termos não sejam exatamente como descrito, mas são semelhantes, não tem como errar.
Tenha um backup dos seus arquivos, se vc fizer tudo direito não vai ter problemas, se não seguir direitinho oque escrevi, vai perder tudo, tenha cuidado.