Eu costumo usar apenas o fdisk. Primeiro, execute fdisk -l (ou use o comando "p" no modo interativo) e anote o primeiro setor da partição. Deve ser 2048 se sua partição foi criada com uma versão recente do fdisk.
Depois, você precisa excluir (sim, excluir) a parcela. Finalmente, você precisa recriar a partição tendo o cuidado de especificar o setor inicial que você anotou na etapa 1.
Se você cometer um erro, apenas saia do fdisk sem salvar. Nenhuma modificação será feita se você não salvar.
Quando tudo estiver correto, escreva a modificação. Você pode ter que reinicializar o sistema para ver realmente o novo tamanho da partição.
O último passo é redimensionar (resize2fs) o sistema de arquivos.
Como exemplo, digamos que eu tenha esse layout:
fdisk /dev/xvda
Command (m for help): p
Disk /dev/xvda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders, total 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00063f28
Device Boot Start End Blocks Id System
/dev/xvda1 2048 1953791 975872 82 Linux swap / Solaris
/dev/xvda2 1953792 16775167 7410688 83 Linux
Se você expandir o disco, poderá excluir a segunda partição, criar uma nova segunda partição xvda2, especificando 1953792 como primeiro setor. Escreva (w) a modificação, reinicialize e, em seguida,
resize2fs /dev/xvda2