Primeiro de tudo, se você deseja instalar o Ubuntu criptografado em um disco rígido, substituindo todas as partições e sistemas operacionais existentes, você pode fazer isso diretamente no instalador gráfico. Este processo manual é necessário apenas para a inicialização dupla.
Esta resposta foi testada com o Ubuntu 13.04.
Inicialize a partir de um DVD ao vivo ou pendrive do Ubuntu e selecione "Experimentar o Ubuntu".
Crie duas partições usando GParted incluído no disco ativo. A primeira partição deve ser não formatada e deve ser grande o suficiente para root e swap, no meu exemplo, é isso /dev/sda3
. A segunda partição deve ter várias centenas de megabytes de tamanho e formatada em ext2 ou ext3; será descriptografada e montada em /boot
(no meu exemplo, isso é /dev/sda4
).
Nesta captura de tela, eu tenho uma instalação Ubuntu não criptografada existente em duas partições: /dev/sda1
e /dev/sda5
, destaque no círculo à esquerda. Criei uma partição não formatada /dev/sda3
e uma partição ext3 /dev/sda4
, destinadas à instalação criptografada do Ubuntu, destacadas no círculo à direita:
Crie um contêiner LUKS usando esses comandos. Substitua /dev/sda3
pela partição não formatada criada anteriormente e cryptcherries
por um nome de sua escolha.
sudo cryptsetup luksFormat /dev/sda3
sudo cryptsetup luksOpen /dev/sda3 cryptcherries
Aviso : você notará que a luksFormat
etapa foi concluída muito rapidamente, porque não apaga com segurança o dispositivo de bloco subjacente. A menos que você esteja apenas experimentando e não se preocupando com a segurança contra vários tipos de ataques forenses, é essencial inicializar corretamente o novo contêiner LUKS antes de criar sistemas de arquivos nele. Gravar zeros no contêiner mapeado fará com que dados aleatórios fortes sejam gravados no dispositivo de bloco subjacente. Isso pode demorar um pouco, por isso é melhor usar o pv
comando para monitorar o progresso:
### Only for older releases, e.g. not for 19.04, `pv` is not included in the repo must be added first
# sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
# sudo apt-get update
sudo apt-get install -y pv
sudo sh -c 'exec pv -tprebB 16m /dev/zero >"$1"' _ /dev/mapper/cryptcherries
ou, se você estiver fazendo uma instalação offline e não conseguir pv
:
sudo dd if=/dev/zero of=/dev/mapper/cryptcherries bs=16M
Dentro do contêiner LUKS montado, crie um volume físico LVM, um grupo de volumes e dois volumes lógicos. O primeiro volume lógico será montado em /
e o segundo será usado como swap. vgcherries
é o nome do grupo de volumes e lvcherriesroot
e lvcherriesswap
são os nomes dos volumes lógicos, você pode escolher o seu.
sudo pvcreate /dev/mapper/cryptcherries
sudo vgcreate vgcherries /dev/mapper/cryptcherries
sudo lvcreate -n lvcherriesroot -L 7.5g vgcherries
sudo lvcreate -n lvcherriesswap -L 1g vgcherries
Crie sistemas de arquivos para os dois volumes lógicos: (Você também pode executar esta etapa diretamente no instalador.)
sudo mkfs.ext4 /dev/mapper/vgcherries-lvcherriesroot
sudo mkswap /dev/mapper/vgcherries-lvcherriesswap
Sem reiniciar , instale o Ubuntu usando o instalador gráfico (o atalho está na área de trabalho no Xubuntu 18.04), escolhendo o particionamento manual. Atribuir /
a /dev/mapper/vgcherries-lvcherriesroot
e /boot
para a partição não criptografada criado no passo 2 (neste exemplo, /dev/sda4
).
Quando o instalador gráfico terminar, selecione "continuar testando" e abra um terminal.
Encontre o UUID das partições LUKS ( /dev/sda3
neste caso), você precisará mais tarde:
$ sudo blkid /dev/sda3
/dev/sda3: UUID="8b80b3a7-6a33-4db3-87ce-7f126545c74af" TYPE="crypto_LUKS"
Monte os dispositivos apropriados nos locais apropriados /mnt
e faça o chroot nele:
sudo mount /dev/mapper/vgcherries-lvcherriesroot /mnt
sudo mount /dev/sda4 /mnt/boot
sudo mount --bind /dev /mnt/dev
sudo chroot /mnt
> mount -t proc proc /proc
> mount -t sysfs sys /sys
> mount -t devpts devpts /dev/pts
Crie um arquivo nomeado /etc/crypttab
no ambiente chroot para conter esta linha, substituindo o valor UUID pelo UUID da partição LUKS e vgcherries
pelo nome do grupo de volumes:
# <target name> <source device> <key file> <options>
cryptcherries UUID=8b80b3a7-6a33-4db3-87ce-7f126545c74af none luks,retry=1,lvm=vgcherries
Execute o seguinte comando no ambiente chroot:
update-initramfs -k all -c
Reinicie e inicialize no Ubuntu criptografado. Você deve ser solicitado a fornecer uma senha.
Verifique se você está usando a partição criptografada /
executando mount
:
$ mount
/dev/mapper/vgcherries-lvcherriesroot on / type ext4 (rw,errors=remount-ro)
/dev/sda4 on /boot type ext3 (rw)
# rest of output cut for brevity
Verifique se você está usando a partição de swap criptografada (não nenhuma partição de swap não criptografada de outras instalações) executando este comando:
$ swapon -s
Filename Type Size Used Priority
/dev/mapper/vgcherries-lvcherriesswap partition 630780 0 -1
Verifique se você pode inicializar no modo de recuperação, se não quiser descobrir mais tarde, durante uma emergência, que o modo de recuperação não funciona :)
Instale quaisquer atualizações que provavelmente reconstruam o ramdisk e atualizem a configuração do grub. Reinicie e teste o modo normal e o modo de recuperação.