Sim, redimensionar a inicialização é possível, mas é muito complicado. Eu tentaria isso apenas depois de fazer o backup de TODOS os seus dados. Se você cometer um erro, o potencial de perda de dados é bastante alto. Você vai querer ter algum Ubuntu USB / CD inicializável como você deveria estar executando estas operações depois de inicializar em um USB / CD ao vivo.
Descobri o caminho mais difícil de um tempo atrás quando a comunidade linux mudou os requisitos relacionados ao tamanho necessário da partição de inicialização. Anteriormente, 100-200 MB eram suficientes para a inicialização, mas a comunidade duplicou seus requisitos de tamanho. Isso impactou os usuários que estavam seguindo as diretrizes anteriores.
link
Para os requisitos atuais do / boot, gostaria de referir as diretrizes oficiais.
link
No momento da redação deste artigo, as diretrizes recomendam / inicializar de 250 MB a 1 GB de espaço. Eu recomendaria uma partição de inicialização separada com o maior espaço necessário. A partição de inicialização precisa ser descriptografada durante o processo de inicialização. O processo de inicialização estará montando diferentes partições criptografadas ao longo do caminho, por exemplo, discos criptografados LUKS ou diretórios HOME criptografados, e há diferenças entre essas abordagens. Na minha experiência, usar as várias opções de criptografia de disco rígido do Ubuntu tende a resultar em problemas ao atualizar o Ubuntu mais tarde, exigindo intervenção manual.
Para uma visão geral, vou encaminhá-lo para este artigo que considero bem escrito.
'LUKS criptografando várias partições no Debian / Ubuntu com uma única frase secreta'
link
Quando você achar necessário alterar suas partições, achei essa postagem muito útil.
'Como redimensionar um sistema de arquivos criptografados LUKS'
link
Agora, porque o gparted não suporta a movimentação de partições LUKS criptografadas, isso não pode ser feito usando comandos gparted da linha de comando nem da GUI. Eu descobri que você pode usar o gparted para criar partições e, em seguida, usar o dd para mover suas partições criptografadas usando cópias setor por setor. Isso envolve a capacidade de calcular tamanhos de parções em termos de setores. Cometer um erro significa perder dados e reinstalar.
No meu caso, preciso aumentar o tamanho da minha partição de inicialização de 537 MB para 1 GB. Eu preciso disso como parte da minha atualização do Ubuntu 12.04 para o 14.04 para que a atualização do Ubuntu possa encontrar espaço suficiente em / boot. Sim, você pode remover o autoremove para liberar espaço em / boot, mas os requisitos gerais mudaram, então eu estava ampliando a inicialização para me ajustar a essas diretrizes também. Aqui estava o meu layout de partições.
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 boot
2 538MB 794MB 256MB ext2
3 794MB 240GB 239GB
Eu tenho o disco criptografado LUKS na seção # 3 e minha inicialização na partição 1, portanto, não havia espaço suficiente para estender / inicializar. Nota O Gparted não pode mover a partição # 3, pois é uma partição criptografada. Para corrigir isso eu criei uma quarta partion no final do meu disco do mesmo tamanho em setores e usei dd para copiar o conteúdo da partição # 3 para a partição # 4. Achei útil redimensionar minha raiz para o tamanho mínimo necessário. Assim, realizei as seguintes operações para endereçar o tamanho do meu / boot.
- Reduziu o sistema de arquivos raiz na partição # 3
- Redimensionou a partição nº 3 (para ser menor)
- Criada uma partição nº 4 do mesmo tamanho (no final do disco)
- Usado DD para copiar os setores da partição # 3 para a partição nº 4
- Excluiu a partição # 3 para liberar espaço no disco
- Usado o Gparted para redimensionar e mover as partições # 1 e # 2
- Criado uma nova # 3 partion do mesmo tamanho que a # 3 encolhida (ou partição # 4)
- Usado DD para copiar os setores da partição # 4 para a partição nº 3
- Excluir a partição nº 4
- Expanda o tamanho da divisão nº 3 para o tamanho nº 3 original
- Atualizou o sistema de arquivos contido na partição criptografada # 3 para o espaço restante
Desta forma, eu poderia excluir a partição # 3 e usar o gparted para mover e ampliar as partições # 1 e # 2. Ler as guias acima deve fornecer informações suficientes para navegar em seu caminho. Não é mostrado aqui, mas ao encolher minha partição raiz, apaguei um grupo de volume de troca na mesma partição e o recriou no final. Tudo isso está sendo feito enquanto inicializado em uma unidade flash USB Live Linux. A seguir estão algumas das minhas anotações que não estavam prontamente disponíveis nos guias acima.
Eu achei o blockdev útil em exibir o tamanho das partições em setores. Isso me ajuda a calcular o tamanho dos setores.
sudo blockdev --getsize /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p2
499712
O comando Gparted 'unit s' exibirá sua tabela de partições em setores.Todo o dimensionamento, exclusão e criação da partição é feito usando o Gparted. Desta forma, você pode fazer toda a matemática em setores. O 'unit compact' retornará ao formato MB / GB, se você quiser ver como é a matemática do setor.
(parted) unit s
(parted) p
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 2048s 1050623s 1048576s fat32 boot
2 1050624s 1550335s 499712s ext2
3 1550336s 456656896s 455106561s
O comando resize2fs tem uma ótima opção para redimensionar para o mínimo. Além disso, eu apaguei o meu grupo de volume de swap durante esta parte.
ubuntu@ubuntu:~$ sudo resize2fs -M -p /dev/ubuntu-vg/root
resize2fs 1.42.9 (4-Feb-2014)
Resizing the filesystem on /dev/ubuntu-vg/root to 2261211 (4k) blocks.
Begin pass 3 (max = 1600)
Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/ubuntu-vg/root is now 2260992 blocks long.
Quando você redimensiona as tabelas de partições, volte e atualize o gparted. Usado 4096 * 2260992 e, em seguida, blockdev para verificar a matemática aqui. Aqui está o comando gparted.
(parted) resizepart 3
End? [224419843s]? 225970179s
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? yes
Device /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p3 not found
device-mapper: table ioctl on failed: No such device or address
(parted) p
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 2048s 1050623s 1048576s fat32 boot
2 1050624s 1550335s 499712s ext2
3 1550336s 225970179s 224419844s
Observe que o tamanho do número de setores da partição # 3 é menor do que a minha listagem original, ou seja, você pode usar o gparted para criar a partição # 4 antes da cópia do DD. O encolhimento libera mais espaço em disco para essa cópia.
ubuntu@ubuntu:~$ sudo dd if=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 of=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 bs=512 skip=1550336 count=224419844 seek=244437218
224419844+0 records in
224419844+0 records out
114902960128 bytes (115 GB) copied, 2146.1 s, 53.5 MB/s
Após a cópia do DD, vá em frente e amplie o tamanho da sua partição / boot. Você excluirá a partição nº 3 original e, em seguida, recriará a partição nº 3 em um novo setor após as partições aumentadas nº 1 e nº 2. Novamente o blockdev foi usado para medir tamanhos de setor. Eu criei esta partição # 3 como o mesmo tamanho que a partição nº 4, que é menor do que a nº 3 era originalmente. Use DD para copiar os setores # 4 para a partição # 3.
ubuntu@ubuntu:~$ sudo dd if=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 of=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 bs=512 skip=244437218 count=224419844 seek=9242624
Após a cópia, exclua a partição nº 4 e expanda o tamanho da partição nº 3. No meu caso, acabei de restaurar a paridade nº 3 para o tamanho que foi quando comecei. Eu tinha espaço suficiente para fazer isso.
(parted) resizepart 3
End? [464349185s]? 464349184s
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? y
Device /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p3 not found
device-mapper: table ioctl on failed: No such device or address
(parted) p
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 2048s 4192255s 4190208s fat32 boot
2 5146624s 9242623s 4096000s ext2
3 9242624s 464349184s 455106561s
Quando o gparted aumenta o tamanho da partição, ele não atualiza o sistema de arquivos. Observe que o sistema de arquivos está contido dentro da partição criptografada, portanto, ele precisa ser aberto e montado para fazer essa alteração. Use o seguinte comando para corrigir isso. Isso pode ser feito no sistema ao vivo, se necessário.
user@zagyg:/$ sudo resize2fs /dev/ubuntu-vg/root
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/ubuntu-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 13
The filesystem on /dev/ubuntu-vg/root is now 54266880 blocks long.
Em conclusão, enquanto o Gparted não suporta sua operação nativamente, mas é uma ferramenta extremamente útil para gerenciar partições. Na minha opinião é um pouco mais útil que o fdisk. Entre o Gparted e o DD eu consegui gerenciar minhas partições e depois usar as ferramentas do Ubuntu para atualizar do 12.04 LTS para o 14.04 LTS.