Antes de mais nada, nem pensar em redimensionar partições sem que haja um backup externo seguro e confiável dos seus arquivos pessoais, que são fotos, vídeos, textos autorais, enfim, tudo aquilo que não pode ser obtido por outros meios. Seja prudente, só o backup salva, o resto é tentativa.
Isso posto, use a ferramenta do próprio Windows, o utilitário de Gerenciamento de Disco do Windows (diskmgmt.msc) para alterar o tamanho das partições Windows, é mais coerente e seguro. Aqui também se aplica o princípio de que o sistema operacional que criou as partições é que deve cuidar delas, ou no popular, "quem pariu Mateus que o embale".
Antes de fazer isso, use o scandisk (que mudou de nome, agora é checkdisk, mas tanto faz porque a interface é gráfica), em Computador/Propriedades/Ferramentas para fazer uma correção de eventuais erros lógicos. Vai precisar reiniciar etc e tal.
Em seguida, no mesmo quadro, use a ferramenta de desfragmentação do disco.
Agora sim pode usar o utilitário de gerenciamento de disco diskmgmt para alterar o tamanho das partições Windows, apenas não altere as partições de serviço dele (winretools, image, efi), principalmente não mexa na partição efi, que é onde está o bootloader do sistema.
Agora suba o sistema através de um live-iso (pendrive ou cdrom) do Ubuntu e use o Gparted para aproveitar os espaços criados e redimensionar o que quiser das partições Linux.
As partições precisam estar desmontadas para se poder alterar (aquela chave "trancada" que aparece no gparted quando está montada) e os espaços precisam ser contíguos para que se possa aproveitá-los.
Note que o Linux lê e escreve nas partições ntfs (do Windows) normalmente, como em qualquer partição, então não há necessidade de uma "área de troca", como se fazia muito antigamente, quando o elemento comum era partição fat, então se criava uma com essa específica finalidade. Isso não existe mais faz muito tempo. Para o Linux não existe mais esse problema, nada obstante o Windows continua apenas lendo suas próprias partições.