A troca não está funcionando na instalação limpa 14.04 usando a casa criptografada

28

Atualização 3:

Decidi reinstalar o sistema a partir do zero para remover qualquer fragmento antigo existente, pois havia outros problemas após a atualização. No entanto, esse problema persistiu.

Em uma instalação limpa, optar por instalar usando "casa criptografada" leva a uma configuração de troca criptografada quebrada.

Atualização 2:

Corrigi a ordem de particionamento que o cfdisk reclamou, mas o problema persiste. A troca está agora em / dev / sda6 e eu posso colocá-la em funcionamento da seguinte maneira:

~$ sudo mkswap /dev/sda6
Setting up swapspace version 1, size = 7998460 KiB
no label, UUID=18881d0f-d9ec-43be-a23f-0cbd78ea6d22

$sudo nano /etc/crypttab # Update crypttad with new UUID

$ sudo /etc/init.d/cryptdisks reload
 * Stopping remaining crypto disks...
 * cryptswap1 (stopped)...                                               [ OK ] 
 * Starting remaining crypto disks...                                        
 * cryptswap1 (starting)..
 * cryptswap1 (started)...                                               [ OK ] 
$ sudo swapon -a

$ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 May 11 09:04 08b07f88-6da5-4b40-b062-42b3bb1c5f00 -> ../../sda3
lrwxrwxrwx 1 root root 10 May 11 09:08 18881d0f-d9ec-43be-a23f-0cbd78ea6d22 -> ../../sda6
lrwxrwxrwx 1 root root 10 May 11 09:04 19aa372c-05c8-4226-8f09-c54e5566e816 -> ../../sda5
lrwxrwxrwx 1 root root 10 May 11 09:04 A800B16E00B143DA -> ../../sda1
lrwxrwxrwx 1 root root 10 May 11 09:04 D28230E68230D129 -> ../../sda2
lrwxrwxrwx 1 root root 10 May 11 09:08 fcc8c419-8fec-4d4d-b55e-9e4c3b04d21d -> ../../dm-0

Porém, após uma troca de reinicialização, a ativação falha e é mais uma vez assim:

$ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 May 11 09:12 08b07f88-6da5-4b40-b062-42b3bb1c5f00 -> ../../sda3
lrwxrwxrwx 1 root root 10 May 11 09:12 19aa372c-05c8-4226-8f09-c54e5566e816 -> ../../sda5
lrwxrwxrwx 1 root root 10 May 11 09:12 A800B16E00B143DA -> ../../sda1
lrwxrwxrwx 1 root root 10 May 11 09:12 D28230E68230D129 -> ../../sda2

Meu palpite no momento é que, ao configurar o disco como sendo criptografado, o linux não reconhece mais o tipo de partição e, portanto, não o carrega corretamente, fazendo com que ele não se registre no seu UUID e, portanto, o cryptswap não pode encontrá-lo causando a falha. Mas eu não sei como consertar ..

Pergunta atualizada:

Testes adicionais revelaram que eu poderia colocar o swap em funcionamento executando $ mkswap / dev / sda5

e atualizando / etc / crypttab com o UUID correto e seguindo as etapas descritas aqui: Como configuro um arquivo de troca criptografado?

O problema, no entanto, permanece quando eu reinicio o computador, o / dev / sda5 não aparece quando eu executo

$ ls -l /dev/disk/by-uuid/

Se eu fizer:

$ cfdisk /dev/sda 

Estou tendo o erro a seguir:

FATAL ERROR: Bad logical partition 6: enlarged logical partitions overlap
                      Press any key to exit cfdisk

O utilitário gráfico "Disks" não se queixa de nenhum erro ao abrir o disco usando-o.

$ sudo fdisk -l

Disk /dev/sda: 256.1 GB, 256060514304 bytes
255 heads, 63 sectors/track, 31130 cylinders, total 500118192 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x619aebf1

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2          206848   100870143    50331648    7  HPFS/NTFS/exFAT
/dev/sda3       191397888   192397311      499712   83  Linux
/dev/sda4       192399358   500117503   153859073    5  Extended
/dev/sda5       484118528   500117503     7999488   82  Linux swap / Solaris
/dev/sda6       192399360   484118527   145859584   83  Linux

Partition table entries are not in disk order

Pergunta original:

Após a atualização para 14.04 (de 13.04), meu computador está passando por lentidão severa; ao executar o topo, notei que o kswap0 ocupa muito tempo na CPU. Também notei que não tinha espaço de troca!

$ sudo swapon -a
swapon: /dev/mapper/cryptswap1: stat failed: No such file or directory

Parece haver algum problema com minha configuração de troca criptografada (nem sabia que eu tinha uma)

$ cat /etc/crypttab 
cryptswap1 UUID=abe3c568-c8fd-4dfb-b8e9-0520d442dd61 /dev/urandom swap,cipher=aes-cbc-essiv:sha256

$ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 May  6 11:00 08b07f88-6da5-4b40-b062-42b3bb1c5f00 -> ../../sda3
lrwxrwxrwx 1 root root 10 May  6 11:00 19aa372c-05c8-4226-8f09-c54e5566e816 -> ../../sda6
lrwxrwxrwx 1 root root 10 May  6 11:00 A800B16E00B143DA -> ../../sda1
lrwxrwxrwx 1 root root 10 May  6 11:00 D28230E68230D129 -> ../../sda2

E olhando para o meu fstab

$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda6 during installation
UUID=19aa372c-05c8-4226-8f09-c54e5566e816 /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda3 during installation
UUID=08b07f88-6da5-4b40-b062-42b3bb1c5f00 /boot           ext2    defaults        0       2
# swap was on /dev/sda5 during installation
#UUID=abe3c568-c8fd-4dfb-b8e9-0520d442dd61 none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0

Meu palpite é que há algo errado na configuração do sda5, mas não sei como corrigi-lo, pois ele está configurado para ser criptografado. Gostaria de receber alguma ajuda sobre como proceder.

ajn
fonte
Não sei nada sobre partições criptografadas, mas esse primeiro erro sugere que a partição de troca não foi montada. Também é comentada a linha de montagem no / etc / fstab. Gostaria de tentar apenas descomentando essa linha e reiniciar para verificar se isso resolve o problema
Anake
Tenho certeza de que ele deve ser comentado e a linha cryptswap1 é responsável por montá-la indiretamente usando as informações em / etc / crypttab. Sua sugestão certamente a montaria de maneira não criptografada?
ajn
1
Isso vai funcionar? https://ubuntuforums.org/showthread.php?t=2224129 Não tenho certeza sobre alguns dos comandos e não quero estragar o Ubuntu.
Parece semelhante ao que eu tentei, espero que funcione para uma reinicialização e pare de funcionar novamente depois de ativar a troca criptografada pela primeira vez.
ajn
No momento, acabei de voltar a usar a troca regular. O cenário principal contra o qual estou usando criptografia é se alguém rouba meu laptop e alguém com habilidades moderadas em Linux decidiu procurar algo interessante, ou seja, provavelmente apenas tenta inicializar usando usb e montar minha partição doméstica. Não tenho nada que acredito que alguém ache valioso o suficiente para tentar recuperar fragmentos dele da troca. Realmente deve ser uma opção de instalação para usar casa criptografada + troca regular.
ajn

Respostas:

16

Bug conhecido

Há um erro (veja abaixo) que substitui o UUIDda partição assim que os dados são gravados nela. Portanto, você não pode usar o UUIDpara referenciar a partição a ser usada na troca criptografada.

Atualmente, o espaço de troca quase nunca é usado. Na minha máquina, a troca é usada apenas quando abro a 40ª guia. Quando não tenho permuta, de repente meu computador começa a ficar lento e o navegador se fecha. Ou, no caso do Chromiumnavegador, muitas abas de repente "morrem".
Por esse motivo, a referência /dev/disk/by-uuid/no seu /etc/crypttabpode parecer estar funcionando por um tempo, mas assim que seu espaço de troca for realmente usado, ele substituirá o UUIDporque a partição inteira é usada para armazenamento de dados criptografados.

Easy Fix

A solução mais fácil é fazer referência à partição swap por dispositivo no seu /etc/crypttab, por exemplo:

cryptswap1 /dev/sda5 /dev/urandom swap,cipher=aes-cbc-essiv:sha256

Aviso: provavelmente isso é seguro em um laptop (eu o uso assim), mas se você estiver em uma área de trabalho com unidades que podem ser trocadas ou tiver outros motivos para alterar o layout da unidade / partição, não deseja fazer isso. de repente, uma partição de armazenamento normal pode ser usada para troca.

Nota: Você precisa reiniciar para que essa alteração entre em vigor, porque somente quando a inicialização /dev/mapper/cryptswap1for criada.

Correção adequada

A maneira correta de corrigir isso é garantir que a parte da partição bruta que armazena o UUIDarquivo não seja substituída pelos dados de criptografia criptografados; portanto, ela ainda estará presente na reinicialização. No entanto, não sei onde UUIDestá escrito e quantos bytes ele ocupa. Você pode, por seu próprio risco, testá-lo da seguinte forma:

cryptswap1 UUID=abe3c568-c8fd-4dfb-b8e9-0520d442dd61 /dev/urandom swap,offset=36,cipher=aes-cbc-essiv:sha256

Observe o offset=36.

Por favor, se você possui uma conta Ubuntu One, entre no Bug # 1310058 na Barra de Ativação e escolha (ou clique aqui): "Este bug também me afeta" para que o bug ganhe 'popularidade' e seja mais propenso a ser corrigido.


Atualização 2014-10-27

Eu também me deparei com isso. Não verificado por mim. Parece offsettruque com mais verbosidade e comentários sobre a reconstrução de uma troca quebrada.

https://bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/1310058/comments/22

Redsandro
fonte
5
Eu só quero observar que o bug está sendo rastreado em bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/953875 há alguns dias (meados de março de 2015), o status é "corrigido" essa correção se aplica explicitamente apenas ao 15.04. Eu estou olhando para ver se ele está sendo portado para 14.04 LTS ... e que o procedimento de atualização "oficial" pode ser
Tommy Trussell
1
@ TommyTrussell: Não o backporting seria uma loucura para o LTS. Bugs para coisas cruciais como essa ainda estão abertos quase um ano após o lançamento, é o motivo pelo qual mesmo as grandes distribuições Linux nunca estarão equiparadas ao OSX e Windows. Infelizmente.
Redsandro 14/03/2015
Não estou ciente da discussão pública de bugs, pois eles estão sendo corrigidos no OSX e no Windows; portanto, como eles podem estar "no mesmo nível"? Na minha experiência com o OSX, os bugs são corrigidos ou não; nenhuma discussão pública, então eles são "opacos". Eu apenas mencionei o novo número do bug (porque o que você vinculou foi marcado como duplicado) para que você possa atualizar sua referência. Como você pode ver na discussão na postagem do fórum mencionada no Bug 953875, a correção mais estável pode diferir dependendo do sistema init, que está mudando no 15.04. Portanto, a correção 14.04 pode ter desafios técnicos para compatibilidade futura.
precisa
Estou apenas dizendo que você nunca verá algo como "Ah, a propósito, SWAP está quebrado" em um sistema como Windows ou OSX. Esse é o tipo de funcionalidade principal que nunca obteria o RTM antes de ser testado e corrigido. Isso é tudo. Quanto à segurança, não há discussões públicas, mas ainda há estatísticas .
Redsandro 16/03/2015
@Redsandro Bem, é um sistema operacional gratuito e coisas assim só serão corrigidas antes do lançamento se as pessoas descobrirem o bug ao testá-lo. Após o lançamento, é muito arriscado que a correção do bug interrompa outra coisa na configuração de alguém. No entanto, ele pode ser corrigido em uma versão mais recente - portanto, pode valer a pena usá-la - mas as versões intermediárias são geralmente mais instáveis ​​que as versões LTS, pois o foco é mais nas atualizações gerais. Mas você identificou por que o teste / correção de erros / garantia de qualidade (QA) é tão importante e o Ubuntu está melhorando nisso.
Ads20000
9

Eu estava tendo o mesmo problema exato no Ubuntu 14.04 e me deparei com esse segmento; esse link que o mutante forneceu funcionou bem para mim. Eu usei a /dev/disk/by-idreferência em vez do / dev / sdXY, pois essa referência nem sempre está apontando para a mesma partição física. Meu /etc/crypttabacabou como:

cryptswap1 /dev/disk/by-id/wwn-0x500...-part6 /dev/urandom swap, cipher=aes-cbc-essiv:sha256
DoubleE
fonte
3
Esta é a solução adequada e fácil !
Serge Stroobandt
7

Basta usar uma troca não criptografada

... e mantenha / home criptografado

Eu tentei algumas das outras soluções sugeridas aqui. Mesmo que eles continuassem trabalhando após uma reinicialização a quente, eventualmente todos falharam após um desligamento e uma reinicialização a frio.

Isso nos diz que estamos realmente lidando com um bug duplo:

  1. O UUID da unidade de troca é substituído pelo sistema de criptografia e
  2. Há um problema de tempo limite durante a inicialização.

Esses pensamentos também são refletidos nos comentários ao bug pertencente arquivado no Launchpad . No entanto, com a mudança pendente do Upstart para o systemd, pouco é feito para resolver o erro nos sistemas LTS atuais.

Nesse ponto, os seguintes pensamentos passaram pela minha cabeça:

  1. Durante a instalação do sistema, pedi apenas para criptografar minha \homepartição, nada mais.
  2. Os riscos envolvidos em não ter uma partição de troca criptografada são bastante limitados.
  3. Cabe à Canonical limpar sua ação. Não vou perder mais tempo com isso.

Portanto, aqui está minha solução para restaurar a troca como uma troca normal e não criptografada sem precisar reinstalar todo o sistema operacional.

  1. Se você ainda não o fez, instale blkid:$ sudo apt-get install blkid
  2. Edite /etc/crypttabe exclua a cryptswap1linha inteira :$ sudo nano /etc/crypttab
  3. Inicie o GParted no menu Configurações do sistema.
  4. Você verá uma partição com um ponto de exclamação. Essa deve ser a partição de troca com defeito. Selecione-o com cuidado e reformate-o em uma linux-swappartição. Depois de aplicar esta operação, você será informado sobre o novo UUID da partição de troca normal restaurada. Você tem a oportunidade de salvar essas informações. Caso contrário, saiba que sempre é possível recuperar o novo UUID da linha de comando com blkid:$ sudo blkid
  5. Agora, é hora de restaurar /etc/fstaba sua antiga glória:$ sudo nano /etc/fstab

    • Remova a linha inteira que contém uma referência a /dev/mapper/cryptswap1.
    • Remova o comentário da swaplinha antiga removendo o hash #na frente de UUID=....
    • Agora, substitua o antigo UUID pelo novo obtido anteriormente.
    • Escreva o arquivo pressionando Ctrl+ O e saia nanocom Ctrl+ X.
  6. Uma vez feito tudo isso, você já pode começar a usar a nova troca não criptografada com: $ sudo swapon -a
  7. Essa solução sobrevive às reinicializações a quente e ao desligamento com reinicialização a frio.
Serge Stroobandt
fonte
1
Essa é a única resposta que funcionou para mim, embora eu tenha tentado de tudo.
fifaltra
No gparted, minha partição swap possui o sinalizador de inicialização. Isso ainda funcionará ou não poderei inicializar?
Christian Skjødt 22/03
@ ChristianSkjødt Sua partição swap não deve ter seu sinalizador de inicialização definido. De qualquer forma, o procedimento acima não afetaria nada disso.
Serge Stroobandt
2

Dê uma olhada nisso . Corrigi esse problema simplesmente substituindo UUID = ... por / dev / sda3 em / etc / crypttab.

mutante
fonte
1
execute "sudo fdisk -l" primeiro para verificar como sua partição swap é chamada, ela pode ser "/ etc / sda5" ou outra e, em seguida, edite o cryptab como descrito pelo mutant. Isso funcionou para mim e sobrevive a uma reinicialização. Definitivamente, esse é um bug, pois eu tive esse problema com uma nova instalação em um novo SSD. Eu optei pela opção "criptografar diretório inicial" na instalação, muito melhor para criptografar / home após a instalação, especialmente se você estiver copiando arquivos de um antigo / home de uma instalação anterior.
Paul Williams
A sudo fdisk -lera algo que ninguém estava dizendo. Obrigado por isso! :)
Aman Alam 23/12
Você deve pelo menos avisar as pessoas de que os /dev/sd*caminhos podem mudar por capricho e levar a partição errada a ser destruída pelos dados de troca. /dev/disk/by-idé superior.
underscore_d
0

Eu tenho esse problema, assim como as pessoas em questão 332625 . Alguma combinação de suspensão e reinicialização perde o UUID da sua partição swap (como diz o comentário no seu / etc / fstab , confirme com sudo blkd), então a linha no seu / etc / crypttab para usar esse UUID como troca criptografada falha.

Não estou tendo sorte em alternar / etc / crypttab para usar o /devnome da partição ( / dev / sda6 no seu caso) oudev/disk/by-id/ nome em vez do UUID que está desaparecendo.

Infelizmente, abandonar a troca criptografada é a melhor e mais fácil solução até agora.

skierpage
fonte
esse problema é muito antigo, eu me pergunto por que eles ainda não o consertaram, agora estou enfrentando o mesmo problema na minha área de trabalho e não consigo executá-lo, consertei no meu laptop no passado, mas não consigo lembrar como :(
tomasb