Sim, é possível redimensionar a inicialização, mas é muito complicado. Eu só tentaria isso depois de fazer backup de TODOS os seus dados. Se você cometer um erro, o potencial de perda de dados é bastante alto. Você deseja ter alguns USB / CD ao vivo do Ubuntu inicializáveis, pois você deve executar essas operações após a inicialização em um USB / CD ao vivo.
Descobri da maneira mais difícil um tempo atrás, quando a comunidade linux alterava os requisitos em relação ao tamanho necessário da partição de inicialização. Anteriormente, 100-200 MB eram suficientes para a inicialização, mas a comunidade dobrava seus requisitos de tamanho. Isso impactou os usuários que estavam seguindo as diretrizes anteriores.
/server/334663/what-is-the-recommended-size-for-a-linux-boot-partition
Para os requisitos atuais de / boot, remeto-o para as diretrizes oficiais.
https://help.ubuntu.com/community/DiskSpace
No momento da redação deste artigo, as diretrizes recomendam / inicializam 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 montará 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, o uso das 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, encaminharei você para este artigo que considero bem escrito.
'LUKS criptografando várias partições no Debian / Ubuntu com uma única senha'
https://www.martineve.com/2012/11/02/luks-encrypting-multiple-partitions-on-debianubuntu-with-a-single-passphrase/
Quando você achar necessário alterar suas partições, achei este post muito útil.
'Como redimensionar um sistema de arquivos criptografados LUKS'
https://ubuntuforums.org/showthread.php?t=726724
Agora, como o gparted não suporta a movimentação de partições LUKS criptografadas, isso não pode ser feito usando os comandos gparted da linha de comando nem da GUI. Descobri que você pode usar o gparted para criar partições e, em seguida, o dd para mover suas partições criptografadas, usando cópias setor por setor. Isso envolve a capacidade de calcular tamanhos de partição em termos de setores. Cometer um erro significa perda de dados e reinstalação.
No meu caso, preciso aumentar o tamanho da minha partição de inicialização de 537MB para 1GB. Eu preciso disso como parte da minha atualização do Ubuntu 12.04 para 14.04, para que a atualização do Ubuntu possa encontrar espaço suficiente no / boot. Sim, você pode remover o autoremove para liberar espaço no / boot, mas os requisitos gerais foram alterados, então eu estava ampliando o boot para ajustar essas diretrizes também. Aqui estava o meu layout de partição.
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 partiçã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 nº 3, pois é uma partição criptografada. Para corrigir isso, criei uma quarta partição no final do meu disco do mesmo tamanho em setores e usei o 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. Portanto, realizei as seguintes operações para abordar o tamanho do meu / boot.
- Encolher o sistema de arquivos raiz na partição nº 3
- Redimensionada a partição nº 3 (para ser menor)
- Criou uma partição nº 4 do mesmo tamanho (no final do disco)
- DD usado para copiar os setores da partição nº 3 para a partição nº 4
- Excluiu a partição nº 3 para liberar espaço no disco
- Gparted usado para redimensionar e mover as partições nº 1 e 2
- Criou uma nova parte # 3 do mesmo tamanho que a parte 3 (ou partição 4) reduzida
- DD usado para copiar os setores da partição nº 4 para a partição nº 3
- Exclua a partição nº 4
- Expanda o tamanho da parte # 3 para o tamanho original # 3
- Atualizado o sistema de arquivos contido na partição criptografada nº 3 para o espaço restante
Dessa forma, eu poderia excluir a partição nº 3 e usar o gparted para mover e ampliar as partições nº 1 e nº 2. A leitura dos guias acima deve fornecer informações suficientes para você avançar. Não é mostrado aqui, mas ao diminuir minha partição raiz, excluí um grupo de volumes de troca na mesma partição e o recrio no final. Tudo isso está sendo feito enquanto inicializado em uma unidade flash Linux Live USB. A seguir, algumas das minhas anotações que não estavam prontamente disponíveis nos guias acima.
Achei o blockdev útil para exibir o tamanho das partições em setores. Isso me ajudou a calcular os tamanhos do setor.
sudo blockdev --getsize /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p2
499712
O comando Gparted 'unit s' exibirá sua tabela de partição em setores. Todo o dimensionamento, exclusão e criação da partição é feito usando o Gparted. Dessa forma, você pode apenas fazer toda a matemática nos setores. A 'unidade compacta' 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 opção bacana para redimensionar para o mínimo. Além disso, excluí meu grupo de volumes de troca 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ê redimensionar as tabelas de partição, volte e atualize o gparted. Utilizou 4096 * 2260992 e depois 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 da contagem de setor da partição nº 3 é menor que a minha lista original, ou seja, dessa forma, você pode usar o gparted para criar a partição nº 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 aumente o tamanho da sua partição / boot. Você excluirá a partição nº 3 original e recriará a partição nº 3 em um novo local do setor após as partições nº 1 e 2 ampliadas. Novamente, o blockdev foi usado para medir o tamanho do setor. Eu criei essa partição nº 3 com o mesmo tamanho da partição nº 4, menor do que originalmente era a nº 3. 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 copiar, exclua a partição nº 4 e expanda o tamanho da partição nº 3. No meu caso, eu apenas restaurei a parte # 3 do tamanho que era 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 aumentou o tamanho da partição, ele não atualiza o sistema de arquivos. Observe que o sistema de arquivos está contido na partição criptografada e, portanto, deve ser aberto e montado para fazer essa alteração. Use o seguinte comando para corrigir isso. Isso pode ser feito no sistema ativo, 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 Gparted não suporta sua operação nativamente, mas é uma ferramenta útil incrível 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 usar as ferramentas do Ubuntu para atualizar do 12.04 LTS para o 14.04 LTS.