Uma partição é um segmento do disco, não uma combinação de segmentos. Como a partição inicial está no final do disco e a partição raiz está imediatamente antes dela, não há espaço para estender a partição inicial.
Você pode estender partições montadas, mas não mover partições montadas por aí. Então você deve trabalhar em um sistema ao vivo.
Você pode mover a partição inicial para o espaço livre; então você poderá ampliá-lo para ~ 44GB. Mas ao invés de apenas mover a partição, eu recomendo que você mude suas partições Linux para LVM (veja também o Archi wiki ). O LVM é um sistema de partição muito mais flexível que o sistema MBR / UEFI básico; Sua única desvantagem é que é específico para o Linux, então ele normalmente fica dentro de uma partição MBR / UEFI. Se você tivesse usado o LVM, poderia ter ampliado essa partição home com muita facilidade.
De um sistema em direto:
-
Executar fdisk
para:
- Remove a partição de troca. Vamos recriá-lo depois.
- Crie uma partição do tipo “Linux LVM” no espaço livre. Dê o número 5.
-
Crie um volume físico LVM na nova partição. Um volume físico LVM é espaço em um disco para partições LVM.
pvcreate /dev/sda5
-
Crie um grupo de volumes LVM. Um grupo de volumes relaciona volumes físicos (segmentos de disco) a volumes lógicos (contêineres para um sistema de arquivos ou espaço de troca). Aqui arch
é o nome do grupo, sinta-se à vontade para escolher um nome diferente.
vgcreate arch /dev/sda5
-
Crie volumes lógicos para mover seus sistemas de arquivos raiz e doméstico para o LVM e para o espaço de troca. Certifique-se de que os volumes raiz e inicial sejam pelo menos tão grandes quanto os sistemas de arquivos existentes. Tenha em atenção que o GParted é mau: arredonda os tamanhos dos sistemas de ficheiros, por isso, se utilizar o que é apresentado, corre o risco de perder um pouco de dados no final, o que poderia tornar o sistema de ficheiros irrecuperável. Use as informações de tamanho real.
grep sda[67] /proc/partitions # shows partition sizes in kB
lvcreate -L "$(awk '$4=="sda6" {print $3}' /proc/partitions)k" -n root arch
cat /dev/sda6 >/dev/arch/root
lvcreate -L "$(awk '$4=="sda7" {print $3}' /proc/partitions)k" -n home arch
cat /dev/sda7 >/dev/arch/home
lvcreate -L 24g -n swap arch
-
Monte o novo local das partições inicial e raiz, para garantir que a cópia esteja correta.
mkdir /media/root /media/home
mount /dev/arch/root /media/root
mount /dev/arch/home /media/home
# Check that both filesystems look fine
-
Edite /etc/fstab
e certifique-se de que esteja usando referências válidas para suas partições. Se você estiver usando UUIDs ou rótulos, continue usando isso. Se você estava usando números de partição, você deve mudar isso. Você pode usar os locais dos dispositivos LVM, eles são estáveis: /dev/arch/root
e /dev/arch/home
.
-
Não sei como o Arch Linux configura seu sistema de inicialização. Em algumas distribuições, você precisa gerar novamente o bootloader de segundo estágio e o initramfs para incluir o suporte a LVM. No Arch, parece que você precisa adicionar lvm2
a /etc/mkinitcpio.conf
e gerar novamente o initramfs .
-
Você não precisa mais do espaço antigo com as partições raiz e raiz. Você pode reutilizá-los para o LVM criando um volume físico LVM neles ( pvcreate /dev/sda6 /dev/sda7
) e adicionando esses volumes físicos ao grupo de volumes existente ( vgextend arch /dev/sda6 /dev/sda7
). Depois disso, se você quiser estender seus sistemas de arquivos, poderá chamar lvextend
sem se preocupar com o local: ele usará espaço livre em qualquer lugar no grupo de volumes para estender o volume lógico e chamará resize2fs
para ampliar o sistema de arquivos.