Redimensionando a partição de inicialização com criptografia total de disco

11

Eu vi as respostas para a pergunta geral sobre como redimensionar a partição de inicialização. No meu caso, eu instalei o Ubuntu 12.04 Alternate com criptografia de disco completo. Como a unidade não pode ser montada durante a operação de redimensionamento, isso não corromperá a partição principal?

Eu fiz o backup de tudo para que eu pudesse fazer uma reinstalação, mas não sei como especificar o tamanho da partição de inicialização antes da criptografia.

    
por Tom Stone 05.09.2012 / 15:12

3 respostas

2

Eu suponho que por criptografia de disco completo, você quer dizer ter uma pequena partição de boot não criptografada e outra partição que é um volume físico para criptografia (dm-crypt). Se não houver espaço entre eles, você não poderá redimensionar de forma não destrutiva a partição criptografada para criar mais espaço para / boot.

Dê uma olhada na minha resposta aqui - isso pode ajudar.

    
por Marcin Kaminski 24.11.2012 / 01:29
2

Eu sei que essa pergunta é antiga, mas aparece ao procurar pelo problema da partição de inicialização pequena e usar a criptografia de disco.

O instalador do Ubuntu ubiquity usa partman para o particionamento. Quando a opção "Usar o disco inteiro" é selecionada, as configurações da partição vêm dos arquivos de receita do partman em /lib/partman/recipes-[arch]/* e /lib/partman/recipes/* no CD ao vivo. Encontre a receita usada pelo instalador e modifique o tamanho máximo da partição /boot . No meu sistema, a receita padrão usada é /lib/partman/recipes/30atomic . Abra o terminal:

ubuntu@ubuntu:~$ sudo nano /lib/partman/recipes/30atomic

Vá para a seção da partição de inicialização e altere o terceiro número (256 abaixo) para o tamanho desejado (eu recomendaria pelo menos 512):

128 512 256 ext2
    $defaultignore{ }
    method{ format }
    format{ }
    use_filesystem{ }
    filesystem{ ext2 }
    mountpoint{ /boot }

Esta seção diz que o tamanho será entre 128M e 256M com uma prioridade de 512, o que determina a importância do tamanho dessa partição em relação a outros.

Salve com Ctrl + O , Entre . Então inicie o instalador, instale como de costume.

    
por mkayaalp 24.09.2015 / 23:18
0

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.

  1. Reduziu o sistema de arquivos raiz na partição # 3
  2. Redimensionou a partição nº 3 (para ser menor)
  3. Criada uma partição nº 4 do mesmo tamanho (no final do disco)
  4. Usado DD para copiar os setores da partição # 3 para a partição nº 4
  5. Excluiu a partição # 3 para liberar espaço no disco
  6. Usado o Gparted para redimensionar e mover as partições # 1 e # 2
  7. Criado uma nova # 3 partion do mesmo tamanho que a # 3 encolhida (ou partição # 4)
  8. Usado DD para copiar os setores da partição # 4 para a partição nº 3
  9. Excluir a partição nº 4
  10. Expanda o tamanho da divisão nº 3 para o tamanho nº 3 original
  11. 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.

    
por Doc 06.01.2017 / 17:08