Eu tenho uma configuração criptografada do Ubuntu 14.04 Desktop. A partição raiz criptografada é criada usando os parâmetros padrão do instalador do Ubuntu (opções "Apagar disco e instalar o Ubuntu" e "Criptografar a nova instalação do Ubuntu"). Esta parte funciona bem (pede senha na inicialização e abre as partições root e swap).
Mais tarde, adicionei uma segunda unidade, criptografada separadamente com um arquivo-chave armazenado na partição raiz. A intenção era abri-lo automaticamente assim que a partição root fosse aberta. Para esse fim, a segunda unidade foi adicionada ao crypttab (por UUID) e seu sistema de arquivos criptografado – ao fstab (por rótulo, ponto de montagem /stg
).
Na inicialização, depois de inserir a senha de descriptografia principal, recebo o seguinte:Ocorreu um erro ao montar /stg. Pressione S para pular a montagem ou M para recuperação manual.
O estranho é que se eu pressionarMe simplesmente execute mount -a
, ele é montado com sucesso. Não vejo nada suspeito em /var/log/syslog
.
O que há com isso? O que posso verificar para diagnosticar o problema?
[UPD - adicionou alguns detalhes]A unidade sdb
possui uma tabela de partição MBR com uma partição. O sistema de arquivos criptografado foi inicializado usando os seguintes comandos:
cryptsetup luksFormat /dev/sdb1 /root/stg.key
cryptsetup luksOpen /dev/sdb1 stg_crypt -d/root/stg.key
mkfs.ext4 /dev/mapper/stg_crypt -Lstg-tmp
/etc/crypttab(uuids reais substituídos pelo texto "uuid-of-..." por questões de brevidade):
# this entry was created by Ubuntu installer
sda5_crypt UUID=uuid-of-sda5 none luks,discard
# this entry was added by me
stg_crypt UUID=uuid-of-sdb1 /root/stg.key luks,discard
/etc/fstab:
# these entries were created by Ubuntu installer
/dev/mapper/ubuntu--vg-root / ext4 errors=remount-ro 0 1
UUID=uuid-of-sda1 /boot ext2 defaults 0 2
/dev/mapper/ubuntu--vg-swap_1 none swap sw 0 0
# this entry was added by me
LABEL=stg-tmp /stg ext4 errors=remount-ro 1 2
Responder1
Curiosamente, substituir a referência do rótulo fstab
pelo caminho do dispositivo resolve o problema! Ou seja: LABEL=stg-tmp
alterado para /dev/mapper/stg_crypt
.
Também tentei a referência UUID, não funcionou. Aparentemente, as referências LABEL e UUID durante a inicialização funcionam para partições físicas, mas não funcionam para partições criptografadas. Mas eles funcionam mount -a
para qualquer partição.
Isso não é muito satisfatório em termos de soluções (por exemplo, falta uma explicação), mas resolve o problema em questão, então acho que está tudo bem por enquanto.
Responder2
O primeiro pensamento é que o intramfs NÃO vê o arquivo-chave (comportamento normal)
algumas correções incluem:
adicionando/criando uma senha alternativa para /stg como mencionado aqui
Adicionando substituto ao Luks (role para baixo até a seção Adicionando senha de fallback)
adicionando dd if=/dev/usbkey bs=512 skip=4 count=8 | cryptsetup luksOpen /dev/md0 luksVolume --key-file=- && mount /dev/mapper/luksVolume /mnt/
na criação ou usando cryptsetup-reencrypt (nos repositórios, mas não instalado por padrão)