Eu não sei se o gparted pode fazer isso. A maioria dos programas de partição excluiria sda5-x quando você excluir / recriar a partição estendida.
Você pode tentar o sfdisk.
# sfdisk -d /dev/sda > sda.original
Isso cria um dump do layout da partição da seguinte forma:
# partition table of /dev/sda unit: sectors /dev/sda1 : start= 2048, size= 4194304, Id= c /dev/sda2 : start= 4198400, size= 2097152, Id=83, bootable /dev/sda3 : start= 6297600, size= 20971520, Id=83 /dev/sda4 : start= 27271168, size= 3844096, Id= f /dev/sda5 : start= 27273216, size= 1918976, Id=83 /dev/sda6 : start= 29194240, size= 1918976, Id=83
Crie uma cópia desse despejo e modifique-o ao seu gosto.
# cp sda.original sda.modified # nano sda.modified
Então, no seu caso, você quer estender o / dev / sda4 de 420343806 para 317941760, você simplesmente substitui o número start = para a entrada / dev / sda4 no arquivo sda.modified.
Depois de fazer essa modificação, você pode carregá-lo:
# sfdisk /dev/sda < sda.modified
E, se houver algum problema, você pode adaptar sua edição ou reverter para o estado original:
# sfdisk /dev/sda < sda.original
É assim que você faria com o sfdisk.
No caso do parted, se o redimensionamento não funcionar, você terá que anotar os offsets e tamanhos da partição com muito cuidado, por exemplo, usando:
# parted /dev/sda unit b print free > sda.parted
Isso criaria um arquivo assim:
Model: Generic STORAGE DEVICE (scsi) Disk /dev/sda: 15931539456B Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 32256B 1048575B 1016320B Free Space 1 1048576B 2148532223B 2147483648B primary fat32 lba 2148532224B 2149580799B 1048576B Free Space 2 2149580800B 3223322623B 1073741824B primary ext2 boot 3223322624B 3224371199B 1048576B Free Space 3 3224371200B 13961789439B 10737418240B primary ext2 13961789440B 13962838015B 1048576B Free Space 4 13962838016B 15931015167B 1968177152B extended lba 5 13963886592B 14946402303B 982515712B logical ext2 6 14947450880B 15929966591B 982515712B logical ext2 15929966592B 15931015167B 1048576B Free Space 15931015168B 15931539455B 524288B Free Space
Você pode escolher uma unidade diferente, como setores; Nesse caso, eu gosto de bytes, uma vez que deixa espaço zero para interpretação - dependendo da mídia, os softwares de particionamento às vezes têm opiniões divergentes quanto ao tamanho do setor e tal.
Com os mesmos tamanhos e tipos de partição conhecidos, você pode simplesmente fazer um mklabel (redefinir a tabela de partições) e recriar um novo a partir do zero, recriando as partições que deseja manter, alterando as partições que você quer mudar.
Por favor, note que nenhuma dessas opções fará qualquer coisa para modificar ou redimensionar os sistemas de arquivos em suas partições. Portanto, esta solução só é boa se você puder lidar com isso sozinho ou quiser criar uma nova partição vazia no espaço livre.