Como fazer isso com o LVM e uma única partição criptografada
Atenção
Antes de tudo, 128M é muito pequeno para inicialização! Eu uso 1G. Caso contrário, o que está prestes a acontecer é que você pode esquecer de remover os kernels antigos e o / boot será preenchido, e você terá que lidar com a dor de tentar remover os kernels antigos do sistema para poder começar apt
ou apt-get
trabalhar novamente. Mesmo com o 1G, remova os kernels antigos de tempos em tempos.
As próximas etapas não se destinam a usuários iniciantes.
ATUALIZAÇÃO: Criei um script que executará as seguintes operações para você e muito mais! Tudo o que você precisa fazer é executá-lo no Live OS antes da instalação. Você pode encontrar um artigo no meu blog .
Pré-instalação do SO ao vivo
Você deseja configurar o LUKS e o LVM enquanto particiona manualmente! Eu testei isso no Ubuntu 16.04.2
Inicie o Ubuntu a partir de um sistema operacional Live e selecione a opção para experimentar o Ubuntu sem instalar. Siga as etapas descritas abaixo. Vamos supor que você esteja instalando no / dev / sdb.
- Particione a unidade com sua ferramenta preferida: usei o fdisk para configurar o meu em uma tabela de partição msdos da seguinte maneira:
- outras partições: sistemas operacionais existentes - não nos importamos com elas
- sdb1: / boot (1G)
- sdb2: partição LUKS (o restante do disco)
- Configuração LUKS
sudo cryptsetup luksFormat --hash=sha512 --key-size=512 --cipher=aes-xts-plain64 --verify-passphrase /dev/sdb2
sudo cryptsetup luksOpen /dev/sdb2 CryptDisk
- Embora não seja necessário, é uma boa idéia preencher sua partição LUKS com zeros para que a partição, em um estado criptografado, seja preenchida com dados aleatórios.
sudo dd if=/dev/zero of=/dev/mapper/CryptDisk bs=4M
Cuidado, isso pode levar muito tempo!
- Configure o LVM em / dev / mapper / CryptDisk
sudo pvcreate /dev/mapper/CryptDisk
sudo vgcreate vg0 /dev/mapper/CryptDisk
sudo lvcreate -n swap -L 2G vg0
sudo lvcreate -n root -L 10G vg0
sudo lvcreate -n home -l +100%FREE vg0
Instalação a partir do SO ativo
- Agora você está pronto para instalar. Quando você chegar à parte "Tipo de instalação" da instalação, escolha a opção "Algo mais". Em seguida, atribua manualmente as partições / dev / mapper / vg0- * como você gostaria de ter configurado. Não se esqueça de definir / dev / sdb1 como / boot. a partição / boot não deve ser criptografada. Se for, não conseguiremos inicializar. Altere o "Dispositivo para instalação do carregador de inicialização" para / dev / sdb e continue com a instalação.
- Quando a instalação estiver concluída, não reinicie ! Escolha a opção para "Continuar o teste".
Configuração pós-instalação do SO ativo
Essa parte é realmente importante se você deseja que seu sistema seja inicializado! Passei bastante tempo pesquisando isso para descobrir essas etapas pós-instalação. No meu caso, eu estava realmente fazendo isso porque queria personalizar o tamanho de / boot em / dev / sda, mas todo esse trabalho também deveria passar para a sua situação.
- Em um terminal, digite o seguinte e procure o UUID de / dev / sdb2. Anote esse UUID para mais tarde.
sudo blkid | grep LUKS
- A linha importante na minha máquina diz
/dev/sdb2: UUID="bd3b598d-88fc-476e-92bb-e4363c98f81d" TYPE="crypto_LUKS" PARTUUID="50d86889-02"
Em seguida, vamos montar o sistema recém-instalado novamente, para que possamos fazer mais algumas alterações.
sudo mount /dev/vg0/root /mnt
sudo mount /dev/vg0/home /mnt/home
# isso provavelmente não é necessário
sudo mount /dev/sdb1 /mnt/boot
sudo mount --bind /dev /mnt/dev
# Não tenho certeza absoluta de que isso seja necessário
sudo mount --bind /run/lvm /mnt/run/lvm
- (Somente se você estiver usando EFI):
sudo mount /dev/sd*/your/efi/partition /mnt/boot/efi
Agora execute sudo chroot /mnt
para acessar o sistema instalado
- Do chroot, monte mais algumas coisas
mount -t proc proc /proc
mount -t sysfs sys /sys
mount -t devpts devpts /dev/pts
- Setup crypttab. Usando seu editor de texto favorito, crie o arquivo / etc / crypttab e adicione a seguinte linha, alterando o UUID pelo UUID do seu disco.
CryptDisk UUID=bd3b598d-88fc-476e-92bb-e4363c98f81d none luks,discard
- Por fim, recrie alguns arquivos de inicialização.
update-initramfs -k all -c
update-grub
- Reinicialize e o sistema deverá solicitar uma senha para descriptografar na inicialização!
Agradecimentos especiais a Martin Eve , EGIDIO DOCILE e ao pessoal do blog.botux.fr pelos tutoriais publicados. Puxando pedaços de suas postagens e fazendo um pequeno problema extra, finalmente consegui descobrir isso.
Eu tentei isso várias vezes e falhei várias vezes. O pouco que eu tive que resolver com base em mensagens de erro foisudo mount --bind /run/lvm /mnt/run/lvm